aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-12-08 18:30:25 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-12-08 20:33:46 +0000
commitb403744d94299bf5dc4c5a1a7650a76d70d2d72c (patch)
treea97d8179dbfb55ad4ad7df44a5438b9cba81df15
parent26cdad7e7cd655655e06fc07eef74ab01d63250b (diff)
downloadpaludis-b403744d94299bf5dc4c5a1a7650a76d70d2d72c.tar.gz
paludis-b403744d94299bf5dc4c5a1a7650a76d70d2d72c.tar.xz
Pass replacing to merge
-rw-r--r--paludis/repositories/accounts/accounts_id.cc1
-rw-r--r--paludis/repositories/e/do_install_action.cc1
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.cc1
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.cc1
-rw-r--r--paludis/repository.hh8
5 files changed, 12 insertions, 0 deletions
diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc
index 73b66ef..64aa7ee 100644
--- a/paludis/repositories/accounts/accounts_id.cc
+++ b/paludis/repositories/accounts/accounts_id.cc
@@ -517,6 +517,7 @@ AccountsID::perform_action(Action & action) const
n::output_manager() = output_manager,
n::package_id() = shared_from_this(),
n::perform_uninstall() = install_action->options.perform_uninstall(),
+ n::replacing() = install_action->options.replacing(),
n::used_this_for_config_protect() = std::bind(
&used_this_for_config_protect, std::ref(used_config_protect), std::placeholders::_1)
));
diff --git a/paludis/repositories/e/do_install_action.cc b/paludis/repositories/e/do_install_action.cc
index ea848f3..c009a44 100644
--- a/paludis/repositories/e/do_install_action.cc
+++ b/paludis/repositories/e/do_install_action.cc
@@ -293,6 +293,7 @@ paludis::erepository::do_install_action(
n::output_manager() = output_manager,
n::package_id() = id,
n::perform_uninstall() = install_action.options.perform_uninstall(),
+ n::replacing() = install_action.options.replacing(),
n::used_this_for_config_protect() = std::bind(
&used_this_for_config_protect, std::ref(used_config_protect), std::placeholders::_1)
));
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc
index f03463b..6019982 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_id.cc
@@ -234,6 +234,7 @@ UnavailableRepositoryID::perform_action(Action & action) const
n::output_manager() = output_manager,
n::package_id() = shared_from_this(),
n::perform_uninstall() = install_action->options.perform_uninstall(),
+ n::replacing() = install_action->options.replacing(),
n::used_this_for_config_protect() = std::bind(
&used_this_for_config_protect, std::ref(used_config_protect), std::placeholders::_1)
));
diff --git a/paludis/repositories/unpackaged/unpackaged_id.cc b/paludis/repositories/unpackaged/unpackaged_id.cc
index 56665e5..ceedaf1 100644
--- a/paludis/repositories/unpackaged/unpackaged_id.cc
+++ b/paludis/repositories/unpackaged/unpackaged_id.cc
@@ -441,6 +441,7 @@ UnpackagedID::perform_action(Action & action) const
n::output_manager() = output_manager,
n::package_id() = shared_from_this(),
n::perform_uninstall() = install_action->options.perform_uninstall(),
+ n::replacing() = install_action->options.replacing(),
n::used_this_for_config_protect() = std::bind(
&used_this_for_config_protect, std::ref(used_config_protect), std::placeholders::_1)
));
diff --git a/paludis/repository.hh b/paludis/repository.hh
index e1018e4..b3aa1d5 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -76,6 +76,7 @@ namespace paludis
typedef Name<struct provided_by_name> provided_by;
typedef Name<struct provided_by_spec_name> provided_by_spec;
typedef Name<struct provides_interface_name> provides_interface;
+ typedef Name<struct replacing_name> replacing;
typedef Name<struct status_name> status;
typedef Name<struct used_this_for_config_protect_name> used_this_for_config_protect;
typedef Name<struct virtual_name_name> virtual_name;
@@ -167,6 +168,13 @@ namespace paludis
const std::shared_ptr<const PackageID> &,
const UninstallActionOptions &)> > perform_uninstall;
+ /**
+ * Someone needs to replace these (either the merge or the install).
+ *
+ * \since 0.57
+ */
+ NamedValue<n::replacing, std::shared_ptr<const PackageIDSequence> > replacing;
+
NamedValue<n::used_this_for_config_protect, std::function<void (const std::string &)> > used_this_for_config_protect;
};