aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-02-04 22:07:54 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-02-04 22:07:54 +0000
commite91a83397adaad38a7ac9b60d315db481cc3fff2 (patch)
tree95a5847a8467bc7e5f073c5833edcb58e2c4a49e /src
parent3caef7b22c4eaee861f0f655d5c1650652b7d2c6 (diff)
downloadpaludis-e91a83397adaad38a7ac9b60d315db481cc3fff2.tar.gz
paludis-e91a83397adaad38a7ac9b60d315db481cc3fff2.tar.xz
Bye bye reconcilio
Diffstat (limited to 'src')
-rw-r--r--src/clients/reconcilio/Makefile.am49
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/Makefile.am30
-rw-r--r--src/clients/reconcilio/command_line.cc112
-rw-r--r--src/clients/reconcilio/command_line.hh70
-rw-r--r--src/clients/reconcilio/fix_linkage.cc140
-rw-r--r--src/clients/reconcilio/fix_linkage.hh28
-rw-r--r--src/clients/reconcilio/install.cc153
-rw-r--r--src/clients/reconcilio/install.hh31
-rw-r--r--src/clients/reconcilio/man_reconcilio.cc78
-rw-r--r--src/clients/reconcilio/reconcilio.cc173
10 files changed, 0 insertions, 864 deletions
diff --git a/src/clients/reconcilio/Makefile.am b/src/clients/reconcilio/Makefile.am
deleted file mode 100644
index aa673a2..0000000
--- a/src/clients/reconcilio/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-include $(top_srcdir)/misc/common-makefile.am
-
-AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src \
- @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
-
-SUBDIRS = .
-
-bin_PROGRAMS = reconcilio
-noinst_PROGRAMS = man-reconcilio
-man_MANS = reconcilio.1
-
-reconcilio.1 : man-reconcilio
- ./man-reconcilio > $@
-
-man_reconcilio_SOURCES = \
- man_reconcilio.cc \
- command_line.hh \
- command_line.cc
-
-man_reconcilio_LDADD = \
- $(top_builddir)/paludis/args/legacy/libpaludisargslegacy_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/libpaludis_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/args/libpaludisargs_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/util/libpaludisutil_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/src/output/liboutput.a \
- $(DYNAMIC_LD_LIBS)
-
-reconcilio_SOURCES = \
- command_line.hh command_line.cc \
- fix_linkage.hh fix_linkage.cc \
- install.hh install.cc \
- reconcilio.cc
-
-reconcilio_LDADD = \
- $(top_builddir)/paludis/libpaludis_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/args/legacy/libpaludisargslegacy_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/args/libpaludisargs_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/util/libpaludisutil_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/src/output/liboutput.a \
- $(DYNAMIC_LD_LIBS)
-
-TESTS =
-
-EXTRA_DIST = \
- $(man_MANS) \
- $(TESTS)
-
-DISTCLEANFILES = $(man_MANS) $(noinst_DATA)
-
diff --git a/src/clients/reconcilio/broken_linkage_finder/Makefile.am b/src/clients/reconcilio/broken_linkage_finder/Makefile.am
deleted file mode 100644
index f9eb301..0000000
--- a/src/clients/reconcilio/broken_linkage_finder/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-include $(top_srcdir)/misc/common-makefile.am
-
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ @PALUDIS_CXXFLAGS_NO_WSHADOW@
-
-SUBDIRS = .
-
-noinst_LIBRARIES = libbrokenlinkagefinder.a
-
-libbrokenlinkagefinder_a_SOURCES = \
- broken_linkage_finder.cc broken_linkage_finder.hh \
- configuration.cc configuration.hh \
- linkage_checker.cc linkage_checker.hh \
- libtool_linkage_checker.cc libtool_linkage_checker.hh \
- elf_linkage_checker.cc elf_linkage_checker.hh
-
-TESTS = configuration_TEST
-check_PROGRAMS = $(TESTS)
-
-EXTRA_DIST = \
- configuration_TEST_setup.sh configuration_TEST_cleanup.sh
-
-configuration_TEST_SOURCES = configuration_TEST.cc
-configuration_TEST_LDADD = \
- libbrokenlinkagefinder.a \
- $(top_builddir)/paludis/libpaludis_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/util/libpaludisutil_@PALUDIS_PC_SLOT@.la \
- $(top_builddir)/paludis/util/test_extras.o \
- $(top_builddir)/test/libtest.a
-configuration_TEST_CXXFLAGS = $(AM_CXXFLAGS) @PALUDIS_CXXFLAGS_NO_DEBUGGING@
-
diff --git a/src/clients/reconcilio/command_line.cc b/src/clients/reconcilio/command_line.cc
deleted file mode 100644
index b742af2..0000000
--- a/src/clients/reconcilio/command_line.cc
+++ /dev/null
@@ -1,112 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "command_line.hh"
-
-#include <paludis/util/singleton-impl.hh>
-
-using namespace paludis;
-
-template class Singleton<CommandLine>;
-
-CommandLine::CommandLine() :
- ArgsHandler(),
-
- action_args(main_options_section(), "Actions",
- "Selects which basic action to perform. At most one action should "
- "be specified."),
- a_fix_linkage(&action_args, "fix-linkage", '\0', "Search for and rebuild packages linked against non-existant libraries (default)", false),
- a_version(&action_args, "version", 'V', "Display program version", false),
- a_help(&action_args, "help", 'h', "Display program help", false),
-
- general_args(main_options_section(), "General options",
- "Options which are relevant for most or all actions."),
- a_log_level(&general_args, "log-level", '\0'),
- a_no_colour(&general_args, "no-colour", '\0', "Do not use colour", false),
- a_no_color(&a_no_colour, "no-color"),
- a_force_colour(&general_args, "force-colour", '\0', "Force the use of colour", false),
- a_force_color(&a_force_colour, "force-color"),
- a_environment(&general_args, "environment", 'E', "Environment specification (class:suffix, both parts optional)"),
- a_exact(&general_args, "exact", '\0', "Rebuild the same package version that is currently installed", true),
- a_resume_command_template(&general_args, "resume-command-template", '\0',
- "Save the resume command to a file. If the filename contains 'XXXXXX', use mkstemp(3) to generate the filename"),
- a_compact(&general_args, "compact", '\0', "Display output using one line per entry", true),
-
- fix_linkage_args(main_options_section(), "Fix Linkage options",
- "Options which are relevant for --fix-linkage."),
- a_library(&fix_linkage_args, "library", '\0', "Only rebuild packages linked against this library, even if it exists"),
-
- install_args(main_options_section(), "Install options",
- "Options which are relevant for the install process."),
- dl_args(main_options_section())
-{
- add_usage_line("[ --fix-linkage ] [fix linkage options]");
- add_usage_line("--help");
-
- // XXX destinations support
- install_args.a_destinations.remove();
- install_args.a_preserve_world.remove();
- install_args.a_preserve_world.set_specified(true);
- install_args.a_add_to_world_spec.remove();
-
- dl_args.dl_reinstall_targets.remove();
- dl_args.dl_upgrade.set_default_arg("as-needed");
- dl_args.dl_new_slots.set_default_arg("as-needed");
-
- add_environment_variable("RECONCILIO_OPTIONS", "Default command-line options.");
-
- add_example(
- "reconcilio --pretend",
- "Find and display any packages that appear to have broken linkage. (Requires read access to "
- "files to be checked, so best run as root.)");
- add_example(
- "reconcilio --pretend --exact",
- "The same, but try to reinstall exact versions, even if an upgrade is available.");
- add_example(
- "reconcilio --pretend --library 'libXi.so.6",
- "Find and display any packages that need a named library.");
-
- add_note("Reconcilio is deprecated. Use 'cave fix-linkage' instead.");
-}
-
-std::string
-CommandLine::app_name() const
-{
- return "reconcilio";
-}
-
-std::string
-CommandLine::app_synopsis() const
-{
- return "A deprecated client for rebuilding packages with broken linkage.";
-}
-
-std::string
-CommandLine::app_description() const
-{
- return
- "Reconcilio is a deprecated linkage fixing client for Paludis. 'cave fix-linkage' should "
- "be used instead.";
-}
-
-CommandLine::~CommandLine()
-{
-}
-
-
diff --git a/src/clients/reconcilio/command_line.hh b/src/clients/reconcilio/command_line.hh
deleted file mode 100644
index fcd09ae..0000000
--- a/src/clients/reconcilio/command_line.hh
+++ /dev/null
@@ -1,70 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef PALUDIS_GUARD_RECONCILIO_COMMAND_LINE_HH
-#define PALUDIS_GUARD_RECONCILIO_COMMAND_LINE_HH
-
-#include <paludis/util/singleton.hh>
-
-#include <paludis/args/args.hh>
-#include <paludis/args/legacy/dep_list_args_group.hh>
-#include <paludis/args/legacy/install_args_group.hh>
-#include <paludis/args/log_level_arg.hh>
-
-class CommandLine :
- public paludis::args::ArgsHandler,
- public paludis::Singleton<CommandLine>
-{
- friend class paludis::Singleton<CommandLine>;
-
- private:
- CommandLine();
- ~CommandLine();
-
- public:
- virtual std::string app_name() const;
- virtual std::string app_synopsis() const;
- virtual std::string app_description() const;
-
- paludis::args::ArgsGroup action_args;
- paludis::args::SwitchArg a_fix_linkage;
- paludis::args::SwitchArg a_version;
- paludis::args::SwitchArg a_help;
-
- paludis::args::ArgsGroup general_args;
- paludis::args::LogLevelArg a_log_level;
- paludis::args::SwitchArg a_no_colour;
- paludis::args::AliasArg a_no_color;
- paludis::args::SwitchArg a_force_colour;
- paludis::args::AliasArg a_force_color;
- paludis::args::StringArg a_environment;
- paludis::args::SwitchArg a_exact;
- paludis::args::StringArg a_resume_command_template;
- paludis::args::SwitchArg a_compact;
-
- paludis::args::ArgsGroup fix_linkage_args;
- paludis::args::StringArg a_library;
-
- paludis::args::InstallArgsGroup install_args;
- paludis::args::DepListArgsGroup dl_args;
-};
-
-#endif
-
-
diff --git a/src/clients/reconcilio/fix_linkage.cc b/src/clients/reconcilio/fix_linkage.cc
deleted file mode 100644
index 6c5152c..0000000
--- a/src/clients/reconcilio/fix_linkage.cc
+++ /dev/null
@@ -1,140 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "command_line.hh"
-#include "fix_linkage.hh"
-#include "install.hh"
-
-#include <paludis/util/join.hh>
-#include <paludis/util/log.hh>
-#include <paludis/util/sequence.hh>
-#include <paludis/util/stringify.hh>
-#include <paludis/util/make_named_values.hh>
-
-#include <paludis/broken_linkage_finder.hh>
-#include <paludis/dep_spec.hh>
-#include <paludis/user_dep_spec.hh>
-#include <paludis/name.hh>
-#include <paludis/package_id.hh>
-#include <paludis/version_requirements.hh>
-#include <paludis/metadata_key.hh>
-#include <paludis/partially_made_package_dep_spec.hh>
-
-#include <src/output/colour.hh>
-
-#include <iostream>
-
-using namespace paludis;
-
-int
-do_fix_linkage(const std::shared_ptr<Environment> & env)
-{
- Context ctx("When performing the Fix Linkage action:");
-
- std::string library(CommandLine::get_instance()->a_library.argument());
- auto libraries(std::make_shared<Sequence<std::string>>());
- if (! library.empty())
- libraries->push_back(library);
-
- if (library.empty())
- std::cout << "Searching for broken packages... " << std::flush;
- else
- std::cout << "Searching for packages that depend on " << library << "... " << std::flush;
- BrokenLinkageFinder finder(env.get(), libraries);
- std::cout << std::endl;
-
- if (finder.begin_broken_packages() == finder.end_broken_packages())
- {
- if (library.empty())
- std::cout << "No broken packages found" << std::endl;
- else
- std::cout << "No packages that depend on " << library << " found" << std::endl;
- }
- else
- {
- if (library.empty())
- std::cout << std::endl << colour(cl_heading, "Broken packages:") << std::endl;
- else
- std::cout << std::endl << colour(cl_heading, "Packages that depend on " + library + ":") << std::endl;
- }
-
- std::shared_ptr<Sequence<std::string> > targets(std::make_shared<Sequence<std::string>>());
- for (BrokenLinkageFinder::BrokenPackageConstIterator pkg_it(finder.begin_broken_packages()),
- pkg_it_end(finder.end_broken_packages()); pkg_it_end != pkg_it; ++pkg_it)
- {
- std::cout << std::endl;
-
- std::string pkgname(stringify((*pkg_it)->name()));
- std::string fullname((*pkg_it)->canonical_form(idcf_full));
- std::string::size_type pos(fullname.find(pkgname));
- if (std::string::npos != pos)
- fullname.replace(pos, pkgname.length(), colour(cl_package_name, pkgname));
- std::cout << "* " << fullname << std::endl;
-
- for (BrokenLinkageFinder::BrokenFileConstIterator file_it(finder.begin_broken_files(*pkg_it)),
- file_it_end(finder.end_broken_files(*pkg_it)); file_it_end != file_it; ++file_it)
- {
- std::cout << " " << *file_it;
- if (library.empty())
- std::cout << " (requires "
- << join(finder.begin_missing_requirements(*pkg_it, *file_it),
- finder.end_missing_requirements(*pkg_it, *file_it),
- " ") << ")";
- std::cout << std::endl;
- }
-
- PartiallyMadePackageDepSpec part_spec({ });
- part_spec.package((*pkg_it)->name());
- if ((*pkg_it)->slot_key())
- part_spec.slot_requirement(std::make_shared<UserSlotExactRequirement>((*pkg_it)->slot_key()->value()));
-
- if (CommandLine::get_instance()->a_exact.specified())
- part_spec.version_requirement(make_named_values<VersionRequirement>(
- n::version_operator() = vo_equal,
- n::version_spec() = (*pkg_it)->version()));
-
- targets->push_back(stringify(PackageDepSpec(part_spec)));
- }
-
- std::shared_ptr<const PackageID> orphans;
- if (finder.begin_broken_files(orphans) != finder.end_broken_files(orphans))
- {
- if (library.empty())
- std::cout << std::endl << "The following broken files are not owned by any installed package:" << std::endl;
- else
- std::cout << std::endl << "The following files that depend on " << library << " are not owned by any installed package:" << std::endl;
-
- for (BrokenLinkageFinder::BrokenFileConstIterator file_it(finder.begin_broken_files(orphans)),
- file_it_end(finder.end_broken_files(orphans)); file_it_end != file_it; ++file_it)
- {
- std::cout << " " << *file_it;
- if (library.empty())
- std::cout << " (requires "
- << join(finder.begin_missing_requirements(orphans, *file_it),
- finder.end_missing_requirements(orphans, *file_it),
- " ") << ")";
- std::cout << std::endl;
- }
- }
-
- if (! targets->empty())
- return do_install(env, targets);
- return 0;
-}
-
diff --git a/src/clients/reconcilio/fix_linkage.hh b/src/clients/reconcilio/fix_linkage.hh
deleted file mode 100644
index c4697f9..0000000
--- a/src/clients/reconcilio/fix_linkage.hh
+++ /dev/null
@@ -1,28 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef PALUDIS_GUARD_RECONCILIO_FIX_LINKAGE_HH
-#define PALUDIS_GUARD_RECONCILIO_FIX_LINKAGE_HH
-
-#include <paludis/environment-fwd.hh>
-#include <memory>
-
-int do_fix_linkage(const std::shared_ptr<paludis::Environment> &);
-
-#endif
diff --git a/src/clients/reconcilio/install.cc b/src/clients/reconcilio/install.cc
deleted file mode 100644
index 449649d..0000000
--- a/src/clients/reconcilio/install.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2005, 2006, 2007, 2008 Ciaran McCreesh
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "install.hh"
-#include "command_line.hh"
-
-#include <paludis/util/sequence-impl.hh>
-#include <src/output/console_install_task.hh>
-#include <functional>
-#include <algorithm>
-#include <iostream>
-
-using namespace paludis;
-
-namespace
-{
- class OurInstallTask :
- public ConsoleInstallTask
- {
- private:
- std::shared_ptr<Environment> _env;
-
- public:
- OurInstallTask(const std::shared_ptr<Environment> & env, const DepListOptions & options,
- const std::shared_ptr<const DestinationsSet> & destinations) :
- ConsoleInstallTask(env.get(), options, destinations),
- _env(env)
- {
- }
-
- virtual bool want_full_install_reasons() const
- {
- return CommandLine::get_instance()->install_args.want_full_install_reasons();
- }
-
- virtual bool want_tags_summary() const
- {
- return CommandLine::get_instance()->install_args.want_tags_summary();
- }
-
- virtual bool want_install_reasons() const
- {
- return CommandLine::get_instance()->install_args.want_install_reasons();
- }
-
- virtual bool want_unchanged_use_flags() const
- {
- return CommandLine::get_instance()->install_args.want_unchanged_use_flags();
- }
-
- virtual bool want_changed_use_flags() const
- {
- return CommandLine::get_instance()->install_args.want_changed_use_flags();
- }
-
- virtual bool want_new_use_flags() const
- {
- return CommandLine::get_instance()->install_args.want_new_use_flags();
- }
-
- virtual bool want_use_summary() const
- {
- return CommandLine::get_instance()->install_args.want_use_summary();
- }
-
- virtual bool want_compact() const
- {
- return CommandLine::get_instance()->a_compact.specified();
- }
-
- virtual bool want_suggestions() const
- {
- return false;
- }
-
- virtual bool want_new_descriptions() const
- {
- return CommandLine::get_instance()->install_args.want_new_descriptions();
- }
-
- virtual bool want_existing_descriptions() const
- {
- return CommandLine::get_instance()->install_args.want_existing_descriptions();
- }
-
- virtual std::string make_resume_command(const bool undo_failures) const
- {
- std::string serialisation(serialise(undo_failures));
- if (serialisation.empty())
- return "";
-
- std::string resume_command = environment()->paludis_command() + " --install";
-
- resume_command.append(CommandLine::get_instance()->install_args.resume_command_fragment(*this));
- resume_command.append(CommandLine::get_instance()->dl_args.resume_command_fragment(*this));
- resume_command.append(" --serialised " + serialised_format());
- resume_command.append(" ");
- resume_command.append(serialisation);
-
- return resume_command;
- }
-
- void show_resume_command() const
- {
- if (CommandLine::get_instance()->install_args.a_fetch.specified() ||
- CommandLine::get_instance()->install_args.a_pretend.specified())
- return;
-
- ConsoleInstallTask::show_resume_command(CommandLine::get_instance()->a_resume_command_template.argument());
- }
- };
-}
-
-int
-do_install(const std::shared_ptr<Environment> & env, const std::shared_ptr<const Sequence<std::string> > & targets)
-{
- using namespace std::placeholders;
-
- DepListOptions options;
- CommandLine::get_instance()->dl_args.populate_dep_list_options(env.get(), options);
- CommandLine::get_instance()->install_args.populate_dep_list_options(env.get(), options);
-
- OurInstallTask task(env, options, CommandLine::get_instance()->install_args.destinations(env.get()));
- CommandLine::get_instance()->install_args.populate_install_task(env.get(), task);
- CommandLine::get_instance()->dl_args.populate_install_task(env.get(), task);
-
- if (! task.try_to_set_targets_from_user_specs(targets))
- return task.exit_status();
-
- std::cout << std::endl;
- task.execute();
- std::cout << std::endl;
-
- return task.exit_status();
-}
-
diff --git a/src/clients/reconcilio/install.hh b/src/clients/reconcilio/install.hh
deleted file mode 100644
index b88e2ff..0000000
--- a/src/clients/reconcilio/install.hh
+++ /dev/null
@@ -1,31 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef PALUDIS_GUARD_RECONCILIO_INSTALL_HH
-#define PALUDIS_GUARD_RECONCILIO_INSTALL_HH
-
-#include <paludis/util/sequence-fwd.hh>
-#include <paludis/environment-fwd.hh>
-#include <memory>
-#include <string>
-
-int do_install(const std::shared_ptr<paludis::Environment> &,
- const std::shared_ptr<const paludis::Sequence<std::string> > &);
-
-#endif
diff --git a/src/clients/reconcilio/man_reconcilio.cc b/src/clients/reconcilio/man_reconcilio.cc
deleted file mode 100644
index 91c4433..0000000
--- a/src/clients/reconcilio/man_reconcilio.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2006, 2007, 2009 Ciaran McCreesh
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "command_line.hh"
-#include <paludis/args/man.hh>
-
-#include <iostream>
-#include <cstdlib>
-
-using std::cout;
-using std::endl;
-
-namespace
-{
- struct ManCommandLine :
- paludis::args::ArgsHandler
- {
- paludis::args::ArgsGroup group;
- paludis::args::SwitchArg a_html;
-
- ManCommandLine() :
- group(main_options_section(), "", ""),
- a_html(&group, "html", '\0', "", false)
- {
- }
-
- virtual std::string app_name() const
- {
- return "";
- }
-
- virtual std::string app_description() const
- {
- return "";
- }
-
- virtual std::string app_synopsis() const
- {
- return "";
- }
- };
-}
-
-int
-main(int argc, char * argv[])
-{
- ManCommandLine cmdline;
- cmdline.run(argc, argv, "", "", "");
-
- if (cmdline.a_html.specified())
- {
- paludis::args::HtmlWriter hw(cout);
- paludis::args::generate_doc(hw, CommandLine::get_instance());
- }
- else
- {
- paludis::args::ManWriter mw(cout);
- paludis::args::generate_doc(mw, CommandLine::get_instance());
- }
-
- return EXIT_SUCCESS;
-}
diff --git a/src/clients/reconcilio/reconcilio.cc b/src/clients/reconcilio/reconcilio.cc
deleted file mode 100644
index 532dfd7..0000000
--- a/src/clients/reconcilio/reconcilio.cc
+++ /dev/null
@@ -1,173 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
- * Copyright (c) 2007 David Leverton
- *
- * This file is part of the Paludis package manager. Paludis is free software;
- * you can redistribute it and/or modify it under the terms of the GNU General
- * Public License version 2, as published by the Free Software Foundation.
- *
- * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "command_line.hh"
-#include "fix_linkage.hh"
-
-#include <paludis/util/system.hh>
-#include <paludis/util/join.hh>
-#include <paludis/util/log.hh>
-
-#include <paludis/about.hh>
-#include <paludis/environment_factory.hh>
-#include <paludis/args/do_help.hh>
-
-#include <src/output/colour.hh>
-
-#include <iostream>
-#include <cstdlib>
-
-using namespace paludis;
-
-namespace
-{
- struct DoVersion
- {
- };
-
- void display_version()
- {
- std::cout << "reconcilio, part of " << PALUDIS_PACKAGE << " " << PALUDIS_VERSION_MAJOR << "."
- << PALUDIS_VERSION_MINOR << "." << PALUDIS_VERSION_MICRO << PALUDIS_VERSION_SUFFIX;
- if (! std::string(PALUDIS_GIT_HEAD).empty())
- std::cout << " git " << PALUDIS_GIT_HEAD;
- std::cout << std::endl;
- }
-}
-
-int
-main(int argc, char *argv[])
-{
- std::string options(paludis::getenv_with_default("RECONCILIO_OPTIONS", ""));
- if (! options.empty())
- options = "(" + options + ") ";
- options += join(argv + 1, argv + argc, " ");
-
- Context context(std::string("In program ") + argv[0] + " " + options + ":");
-
- Log::get_instance()->message("reconcilio.deprecated", ll_warning, lc_context)
- << "Reconcilio is deprecated. Use 'cave fix-linkage' instead.";
-
- try
- {
- CommandLine::get_instance()->run(argc, argv, "reconcilio", "RECONCILIO_OPTIONS", "RECONCILIO_CMDLINE");
-
- if (CommandLine::get_instance()->a_help.specified())
- throw args::DoHelp();
- if (CommandLine::get_instance()->a_version.specified())
- throw DoVersion();
-
- Log::get_instance()->set_program_name(argv[0]);
- if (CommandLine::get_instance()->a_log_level.specified())
- Log::get_instance()->set_log_level(CommandLine::get_instance()->a_log_level.option());
-
- set_use_colour(! CommandLine::get_instance()->a_no_colour.specified());
- set_force_colour(CommandLine::get_instance()->a_force_colour.specified());
-
- std::string paludis_command("paludis");
-
- if (CommandLine::get_instance()->a_environment.specified())
- paludis_command.append(" --" + CommandLine::get_instance()->a_environment.long_name() + " " +
- CommandLine::get_instance()->a_environment.argument());
-
- paludis_command.append(" --" + CommandLine::get_instance()->a_log_level.long_name() + " " +
- CommandLine::get_instance()->a_log_level.argument());
-
- if (CommandLine::get_instance()->a_resume_command_template.specified())
- paludis_command.append(" --" + CommandLine::get_instance()->a_resume_command_template.long_name() + " "
- + CommandLine::get_instance()->a_resume_command_template.argument());
-
- if (CommandLine::get_instance()->a_no_color.specified())
- paludis_command.append(" --" + CommandLine::get_instance()->a_no_color.long_name());
-
- if (CommandLine::get_instance()->a_force_color.specified())
- paludis_command.append(" --" + CommandLine::get_instance()->a_force_color.long_name());
-
- paludis_command.append(CommandLine::get_instance()->install_args.paludis_command_fragment());
- paludis_command.append(CommandLine::get_instance()->dl_args.paludis_command_fragment());
-
- std::shared_ptr<Environment> env(EnvironmentFactory::get_instance()->create(
- CommandLine::get_instance()->a_environment.argument()));
- env->set_paludis_command(paludis_command);
-
- return do_fix_linkage(env);
- }
-
- catch (const DoVersion &)
- {
- display_version();
- std::cout << std::endl;
- std::cout << "Paludis comes with ABSOLUTELY NO WARRANTY. Paludis is free software, and you" << std::endl;
- std::cout << "are welcome to redistribute it under the terms of the GNU General Public" << std::endl;
- std::cout << "License, version 2." << std::endl;
-
- return EXIT_SUCCESS;
- }
-
- catch (const args::ArgsError & e)
- {
- std::cerr << "Usage error: " << e.message() << std::endl;
- std::cerr << "Try " << argv[0] << " --help" << std::endl;
- return EXIT_FAILURE;
- }
-
- catch (const args::DoHelp & h)
- {
- if (h.message.empty())
- {
- std::cout << "Usage: " << argv[0] << " [options]" << std::endl;
- std::cout << std::endl;
- std::cout << *CommandLine::get_instance();
- return EXIT_SUCCESS;
- }
- else
- {
- std::cerr << "Usage error: " << h.message << std::endl;
- std::cerr << "Try " << argv[0] << " --help" << std::endl;
- return EXIT_FAILURE;
- }
- }
-
- catch (const Exception & e)
- {
- std::cout << std::endl;
- std::cerr << "Unhandled exception:" << std::endl
- << " * " << e.backtrace("\n * ")
- << e.message() << " (" << e.what() << ")" << std::endl;
- return EXIT_FAILURE;
- }
-
- catch (const std::exception & e)
- {
- std::cout << std::endl;
- std::cerr << "Unhandled exception:" << std::endl
- << " * " << e.what() << std::endl;
- return EXIT_FAILURE;
- }
-
- catch (...)
- {
- std::cout << std::endl;
- std::cerr << "Unhandled exception:" << std::endl
- << " * Unknown exception type. Ouch..." << std::endl;
- return EXIT_FAILURE;
- }
-}
-