aboutsummaryrefslogtreecommitdiff
path: root/paludis/resolver
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/resolver')
-rw-r--r--paludis/resolver/any_child_score.se4
-rw-r--r--paludis/resolver/decider.cc13
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