aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-08-25 21:21:43 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-08-25 21:21:43 +0000
commite1462bc7450cefd69aff0057a8a6d4b546c25347 (patch)
tree8f0adae14a19bcd01e72a1b9960ca7527161db6e
parent203f1954745a4d54124311b6b3184de83c23ab05 (diff)
downloadpaludis-e1462bc7450cefd69aff0057a8a6d4b546c25347.tar.gz
paludis-e1462bc7450cefd69aff0057a8a6d4b546c25347.tar.xz
When detecting dropped keywords, only consider slots that contain a keyworded version that is better than the worst keyworded version on the target arch
-rw-r--r--src/adjutrix/find_dropped_keywords.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/adjutrix/find_dropped_keywords.cc b/src/adjutrix/find_dropped_keywords.cc
index fb52d83..01eb8e0 100644
--- a/src/adjutrix/find_dropped_keywords.cc
+++ b/src/adjutrix/find_dropped_keywords.cc
@@ -108,6 +108,7 @@ namespace
* version for us, best stable version for anyone). */
bool is_interesting(false);
+ VersionSpec worst_keyworded("99999999");
typedef std::map<SlotName, VersionsEntry> VersionsInSlots;
VersionsInSlots versions_in_slots;
@@ -135,6 +136,7 @@ namespace
is_interesting = true;
versions_in_slots.find(metadata->slot)->second.best_keyworded =
std::max(versions_in_slots.find(metadata->slot)->second.best_keyworded, *v);
+ worst_keyworded = std::min(worst_keyworded, *v);
}
if (keywords.end() != std::find_if(keywords.begin(), keywords.end(), IsStableOrUnstableKeyword()))
@@ -152,6 +154,9 @@ namespace
if (s->second.best_keyworded >= s->second.best_anywhere)
continue;
+ if (s->second.best_anywhere < worst_keyworded)
+ continue;
+
write_package(package, s->first, s->second.best_keyworded, s->second.best_anywhere);
}
}