aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-02-28 20:07:26 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-02-28 20:13:47 +0000
commit8b7a424633050178d4cb98204281d4de22109283 (patch)
tree8754dfabb6d6336a238212f13e385f9e93f247af
parent108e65608bb7e5bb27339f3d4c7faf0afe45ebfe (diff)
downloadpaludis-8b7a424633050178d4cb98204281d4de22109283.tar.gz
paludis-8b7a424633050178d4cb98204281d4de22109283.tar.xz
Tinker with || selection preferences
-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 b04ebbc..c65d338 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 1c8554d..b9caac0 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