aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-03-23 16:19:09 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-03-23 16:19:09 +0000
commitd40b124656e5d24930e3206e65251757a769907c (patch)
tree4af6bb84d6b53434391d9f83e414ff162d0b71dd
parentf980ef871553b12eb291b17cd6c8335235f5ff08 (diff)
downloadpaludis-d40b124656e5d24930e3206e65251757a769907c.tar.gz
paludis-d40b124656e5d24930e3206e65251757a769907c.tar.xz
Fix spurious display of virtuals as 'downgrades'
-rw-r--r--src/output/console_install_task.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/output/console_install_task.cc b/src/output/console_install_task.cc
index bab32b1..8275036 100644
--- a/src/output/console_install_task.cc
+++ b/src/output/console_install_task.cc
@@ -395,18 +395,15 @@ ConsoleInstallTask::on_display_merge_list_entry(const DepListEntry & d)
if (d.destination())
repo.reset(new RepositoryName(d.destination()->name()));
- std::tr1::shared_ptr<const PackageIDSequence> existing_repo((*environment())[selection::AllVersionsSorted(
- generator::Matches(repo ?
- make_package_dep_spec().package(d.package_id()->name()).in_repository(*repo) :
- make_package_dep_spec().package(d.package_id()->name()),
- MatchPackageOptions()))]);
-
- std::tr1::shared_ptr<const PackageIDSequence> existing_slot_repo((*environment())[selection::AllVersionsSorted(
- generator::Matches(repo ?
- make_package_dep_spec().package(d.package_id()->name()).in_repository(*repo) :
- make_package_dep_spec().package(d.package_id()->name()),
- MatchPackageOptions()) |
- filter::SameSlot(d.package_id()))]);
+ std::tr1::shared_ptr<const PackageIDSequence> existing_repo((*environment())[selection::AllVersionsSorted(repo ?
+ generator::Matches(make_package_dep_spec().package(d.package_id()->name()).in_repository(*repo), MatchPackageOptions()) :
+ generator::Matches(make_package_dep_spec().package(d.package_id()->name()), MatchPackageOptions()) | filter::SupportsAction<InstalledAction>()
+ )]);;
+
+ std::tr1::shared_ptr<const PackageIDSequence> existing_slot_repo((*environment())[selection::AllVersionsSorted((repo ?
+ generator::Matches(make_package_dep_spec().package(d.package_id()->name()).in_repository(*repo), MatchPackageOptions()) :
+ generator::Matches(make_package_dep_spec().package(d.package_id()->name()), MatchPackageOptions()) | filter::SupportsAction<InstalledAction>())
+ | filter::SameSlot(d.package_id()))]);
display_merge_list_entry_start(d, m);
display_merge_list_entry_package_name(d, m);