diff options
author | 2011-02-28 20:07:26 +0000 | |
---|---|---|
committer | 2011-02-28 20:13:47 +0000 | |
commit | 8b7a424633050178d4cb98204281d4de22109283 (patch) | |
tree | 8754dfabb6d6336a238212f13e385f9e93f247af | |
parent | 108e65608bb7e5bb27339f3d4c7faf0afe45ebfe (diff) | |
download | paludis-8b7a424633050178d4cb98204281d4de22109283.tar.gz paludis-8b7a424633050178d4cb98204281d4de22109283.tar.xz |
Tinker with || selection preferences
-rw-r--r-- | paludis/resolver/any_child_score.se | 4 | ||||
-rw-r--r-- | paludis/resolver/decider.cc | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/paludis/resolver/any_child_score.se b/paludis/resolver/any_child_score.se index b04ebbc13..c65d3386c 100644 --- a/paludis/resolver/any_child_score.se +++ b/paludis/resolver/any_child_score.se @@ -7,9 +7,9 @@ make_enum_AnyChildScore() namespace paludis::resolver key acs_worse_than_worst "Worse than the worst option" - key acs_hate_hate_hate "Doesn't even exist" key acs_avoid "Explicitly avoiding" - key acs_exists "Exists" + key acs_not_installable "Not installable" + key acs_installable "Installable" key acs_blocks_installed "Blocks a currently-installed package" key acs_could_install "Could install" key acs_will_be_installing "Will be installing" diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc index 1c8554d63..b9caac04b 100644 --- a/paludis/resolver/decider.cc +++ b/paludis/resolver/decider.cc @@ -1434,20 +1434,21 @@ Decider::find_any_score( return std::make_pair(acs_blocks_installed, operator_bias); } - /* next: exists */ + /* next: installable not masked */ if (! is_block) { - Context sub_context("When working out whether it's acs_exists:"); + Context sub_context("When working out whether it's acs_installable:"); const std::shared_ptr<const PackageIDSequence> ids((*_imp->env)[selection::BestVersionOnly( - generator::Matches(spec, our_id, { mpo_ignore_additional_requirements }) + generator::Matches(spec, our_id, { mpo_ignore_additional_requirements }) | + filter::SupportsAction<InstallAction>() | + filter::NotMasked() )]); if (! ids->empty()) - return std::make_pair(acs_exists, operator_bias); + return std::make_pair(acs_installable, operator_bias); } - /* yay, people are depping upon packages that don't exist again. I SMELL A LESSPIPE. */ - return std::make_pair(acs_hate_hate_hate, operator_bias); + return std::make_pair(acs_not_installable, operator_bias); } namespace |