aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-03-06 15:26:34 +0000
committerThierry Vignaud <tv@mandriva.org>2008-03-06 15:26:34 +0000
commit90d062f541b0c32a9a28798e7c65c4cfe109499b (patch)
tree2255838011b1e1ea582359f52ad4d088278bd80c
parent0f7b835fdfb65af1da98012a2329ebbc8870d780 (diff)
downloadrpmdrake-90d062f541b0c32a9a28798e7c65c4cfe109499b.tar
rpmdrake-90d062f541b0c32a9a28798e7c65c4cfe109499b.tar.gz
rpmdrake-90d062f541b0c32a9a28798e7c65c4cfe109499b.tar.bz2
rpmdrake-90d062f541b0c32a9a28798e7c65c4cfe109499b.tar.xz
rpmdrake-90d062f541b0c32a9a28798e7c65c4cfe109499b.zip
(get_pkgs) fix not listing all updates (#38595) ; regression
introduced in r238520 on 2008-03-04 while adding priority upgrade list support for 4.3.2: "(get_pkgs) use more modern urpm::select::resolve_dependencies() API instead of partially open-coding it, thus enabling further improvements"
-rw-r--r--NEWS3
-rw-r--r--Rpmdrake/pkg.pm5
2 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index ecd50a29..87266cb9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- fix not listing all updates (#38595)
+ (regression introduced in 4.3.2 with "handle priority upgrade list")
+
Version 4.4.1 - 5 March 2008, Thierry Vignaud
- fix crash (#38514) due to not having commited all bits of 'remember
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index eab0ecd4..7ca26dbe 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -423,12 +423,17 @@ sub get_pkgs {
priority_upgrade => $urpm->{options}{'priority-upgrade'},
auto_select => 1,
upgrade_callback => sub {
+ my ($requested) = @_;
@requested = sort map { urpm_name($_) } @{$urpm->{depslist}}[keys %$requested];
},
if_($probe_only_for_updates,
resolve_req_callback => sub { @requested_strict = sort map { urpm_name($_) } @_ }
),
);
+
+ # list updates including skiped ones + their deps in MandrivaUpdate:
+ push @requested, difference2(\@requested_strict, \@requested) if $probe_only_for_updates;
+
$priority_state = $restart_itself ? $state : undef;
$priority_requested = $restart_itself ? $requested : undef;