aboutsummaryrefslogtreecommitdiff
path: root/paludis/resolver/orderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/resolver/orderer.cc')
-rw-r--r--paludis/resolver/orderer.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/paludis/resolver/orderer.cc b/paludis/resolver/orderer.cc
index f47514985..687980774 100644
--- a/paludis/resolver/orderer.cc
+++ b/paludis/resolver/orderer.cc
@@ -843,7 +843,7 @@ namespace
changes_to_make_decision.destination()->repository(),
changes_to_make_decision.resolvent().destination_type()));
- const std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
+ std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
requirements->push_back(make_named_values<JobRequirement>(
n::job_number() = fetch_job_n->second,
n::required_if() = JobRequirementIfs() + jri_require_for_satisfied + jri_require_for_independent
@@ -862,6 +862,8 @@ namespace
recursed
);
+ requirements = minimise_requirements(requirements);
+
const std::shared_ptr<Sequence<PackageDepSpec> > replacing(std::make_shared<Sequence<PackageDepSpec>>());
for (PackageIDSequence::ConstIterator i(changes_to_make_decision.destination()->replacing()->begin()),
i_end(changes_to_make_decision.destination()->replacing()->end()) ;
@@ -882,7 +884,7 @@ namespace
case nir_fetched:
{
- const std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
+ std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
RecursedRequirements recursed;
populate_requirements(
@@ -896,6 +898,8 @@ namespace
recursed
);
+ requirements = minimise_requirements(requirements);
+
JobNumber fetch_job_n(resolved->job_lists()->execute_job_list()->append(std::make_shared<FetchJob>(
requirements,
make_origin_spec(changes_to_make_decision))));
@@ -918,7 +922,7 @@ namespace
i != i_end ; ++i)
removing->push_back((*i)->uniquely_identifying_spec());
- const std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
+ std::shared_ptr<JobRequirements> requirements(std::make_shared<JobRequirements>());
RecursedRequirements recursed;
populate_requirements(
resolved->nag(),
@@ -931,6 +935,8 @@ namespace
recursed
);
+ requirements = minimise_requirements(requirements);
+
JobNumber uninstall_job_n(resolved->job_lists()->execute_job_list()->append(std::make_shared<UninstallJob>(
requirements,
removing