aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--Rpmdrake/pkg.pm8
2 files changed, 7 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 900c3f6c..90f31a11 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
- rpmdrake
o display a graphical warning when trying more than one instance
instead of silently exiting
+ o match urpmi behavior when registering requested package
- MandrivaUpdate:
o do not display the banner when height <= 480 instead of just < 480
(#54550)
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index ac8b2eaa..02bf4dd2 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -636,7 +636,11 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-(
# FIXME: THIS SET flag_requested on all packages!!!!
# select packages to install / enssure selected pkg set is consistant:
- my $requested = { map { $_->id => undef } grep { $_->flag_selected } @{$urpm->{depslist}} };
+ my %saved_flags;
+ my $requested = { map {
+ $saved_flags{$_->id} = $_->flag_requested;
+ $_->id => undef;
+ } grep { $_->flag_selected } @{$urpm->{depslist}} };
urpm::select::resolve_dependencies(
$urpm, $state, $requested,
rpmdb => $::env && "$::env/rpmdb.cz",
@@ -732,7 +736,7 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-(
# fix flags for orphan computing:
foreach (keys %{$state->{selected}}) {
my $pkg = $urpm->{depslist}[$_];
- $pkg->set_flag_requested(0);
+ $pkg->set_flag_requested($saved_flags{$pkg->id});
}
my $exit_code =
urpm::main_loop::run($urpm, $state, 1, \@ask_unselect, $requested,