aboutsummaryrefslogtreecommitdiffstats
path: root/Rpmdrake
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2014-06-27 19:10:41 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2014-06-27 19:10:41 +0200
commit235d51620b64f77632a697c0c93ba8a152cfaadd (patch)
tree37671c15fd4b88d819285a30691baa8342e3f613 /Rpmdrake
parent3f5a9ba67904015273e6cb9d2159da717875d092 (diff)
downloadrpmdrake-235d51620b64f77632a697c0c93ba8a152cfaadd.tar
rpmdrake-235d51620b64f77632a697c0c93ba8a152cfaadd.tar.gz
rpmdrake-235d51620b64f77632a697c0c93ba8a152cfaadd.tar.bz2
rpmdrake-235d51620b64f77632a697c0c93ba8a152cfaadd.tar.xz
rpmdrake-235d51620b64f77632a697c0c93ba8a152cfaadd.zip
Revert "Revert "(get_pkgs) only display latest updates, not all of them (mga#2258, mga#4534)""
This reverts commit dc9950451a6c83815e2f680f9eaba6da31a18300. Conflicts: NEWS
Diffstat (limited to 'Rpmdrake')
-rw-r--r--Rpmdrake/pkg.pm9
1 files changed, 5 insertions, 4 deletions
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index 3c9f5d67..e9229b86 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -518,15 +518,16 @@ sub get_pkgs {
$urpm->{rpmdrake_state} = $state; #- Don't forget it
$gurpm->progress($level = 0.7);
- my @installable_pkgs;
+ my %l;
reset_pbar_count(1);
foreach my $pkg (@{$urpm->{depslist}}) {
update_pbar($gurpm);
$pkg->flag_upgrade or next;
- my $name = $pkg->fullname;
- push @installable_pkgs, $name;
- $all_pkgs{$name} = { pkg => $pkg };
+ my $key = $pkg->name . $pkg->arch;
+ $l{$key} = $pkg if !$l{$key} || $l{$key}->compare($pkg);
}
+ my @installable_pkgs = map { my $n = $_->fullname; $all_pkgs{$n} = { pkg => $_ }; $n } values %l;
+ undef %l;
my @inactive_backports;
my @active_backports;