aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-05 12:58:38 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-05 12:58:38 +0000
commitd52731e02a65fcddf6fcb788a9d6ea21505332a4 (patch)
tree65e7435de2f4d499a95b4895c128fbb342752ffa /src
parent6086e49a1d56a1d67e7318005a7bfb40366411b0 (diff)
downloadpaludis-d52731e02a65fcddf6fcb788a9d6ea21505332a4.tar.gz
paludis-d52731e02a65fcddf6fcb788a9d6ea21505332a4.tar.xz
--continue-on-failure if-independent. Fixes: ticket:366
Diffstat (limited to 'src')
-rw-r--r--src/clients/paludis/Makefile.am6
-rw-r--r--src/output/console_install_task.cc20
-rw-r--r--src/output/console_install_task.hh3
3 files changed, 27 insertions, 2 deletions
diff --git a/src/clients/paludis/Makefile.am b/src/clients/paludis/Makefile.am
index cb995d367..cd28da814 100644
--- a/src/clients/paludis/Makefile.am
+++ b/src/clients/paludis/Makefile.am
@@ -73,13 +73,15 @@ TESTS_ENVIRONMENT = env \
TESTS = version_TEST help_TEST \
list_repository_formats_TEST list_dep_tag_categories_TEST \
- exception_TEST install_TEST upgrade_TEST args_from_environment_TEST
+ exception_TEST install_TEST upgrade_TEST args_from_environment_TEST \
+ continue_on_failure_TEST
EXTRA_DIST = \
$(man_MANS) \
$(TESTS) \
install_TEST_setup.sh install_TEST_cleanup.sh \
- upgrade_TEST_setup.sh upgrade_TEST_cleanup.sh
+ upgrade_TEST_setup.sh upgrade_TEST_cleanup.sh \
+ continue_on_failure_TEST_setup.sh continue_on_failure_TEST_cleanup.sh
CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
DISTCLEANFILES = $(man_MANS) $(noinst_DATA)
diff --git a/src/output/console_install_task.cc b/src/output/console_install_task.cc
index 992017284..36d2f5a97 100644
--- a/src/output/console_install_task.cc
+++ b/src/output/console_install_task.cc
@@ -429,6 +429,16 @@ ConsoleInstallTask::on_skip_unsatisfied(const DepListEntry & d, const PackageDep
}
void
+ConsoleInstallTask::on_skip_dependent(const DepListEntry & d, const tr1::shared_ptr<const PackageID> & id,
+ const int x, const int y, const int s, const int f)
+{
+ std::string m("(" + make_x_of_y(x, y, s, f) + ") Skipping " + stringify(*d.package_id) +
+ " (dependent upon '" + stringify(*id) + "')");
+
+ output_heading(m);
+}
+
+void
ConsoleInstallTask::on_install_post(const DepListEntry &, const int, const int,
const int, const int)
{
@@ -1502,6 +1512,16 @@ ConsoleInstallTask::on_display_failure_summary_skipped_unsatisfied(const DepList
}
void
+ConsoleInstallTask::on_display_failure_summary_skipped_dependent(const DepListEntry & e,
+ const tr1::shared_ptr<const PackageID> & id)
+{
+ output_starred_item_no_endl("");
+ output_stream() << colour(cl_package_name, *e.package_id) << ": skipped (dependent upon '"
+ << *id << "')";
+ output_endl();
+}
+
+void
ConsoleInstallTask::on_display_failure_summary_totals(const int total, const int successes,
const int skipped, const int failures)
{
diff --git a/src/output/console_install_task.hh b/src/output/console_install_task.hh
index dd83ef5c5..16e20ccf7 100644
--- a/src/output/console_install_task.hh
+++ b/src/output/console_install_task.hh
@@ -156,6 +156,8 @@ namespace paludis
virtual void on_skip_unsatisfied(const DepListEntry &, const PackageDepSpec &,
const int x, const int y, const int s, const int f);
+ virtual void on_skip_dependent(const DepListEntry &, const tr1::shared_ptr<const PackageID> &,
+ const int x, const int y, const int s, const int f);
virtual void on_no_clean_needed(const DepListEntry &);
virtual void on_clean_all_pre(const DepListEntry &,
@@ -192,6 +194,7 @@ namespace paludis
virtual void on_display_failure_summary_success(const DepListEntry &);
virtual void on_display_failure_summary_failure(const DepListEntry &);
virtual void on_display_failure_summary_skipped_unsatisfied(const DepListEntry &, const PackageDepSpec &);
+ virtual void on_display_failure_summary_skipped_dependent(const DepListEntry &, const tr1::shared_ptr<const PackageID> &);
virtual void on_display_failure_summary_totals(const int, const int, const int, const int);
virtual void on_display_failure_summary_post();
virtual void on_display_failure_no_summary();