diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | Rpmdrake/pkg.pm | 9 |
2 files changed, 7 insertions, 4 deletions
@@ -1,4 +1,6 @@ - fix a rare crash when some packages are installed twice (mga#4972) +- rpmdrake: + o only display latest updates, not all of them (mga#2258, mga#4534) Version 5.30 - 02 March 2012, Thierry Vignaud diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index c9aecfec..9e7f719a 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -510,15 +510,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 $short_name = $pkg->name; + $l{$short_name} = $pkg if !$l{$short_name} || $l{$short_name}->compare($pkg); } + my @installable_pkgs = map { my $n = $_->fullname; $all_pkgs{$n} = { pkg => $_ }; $n } values %l; + undef %l; my @inactive_backports; my @active_backports; |