summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-09-06 11:29:21 +0000
committerFrancois Pons <fpons@mandriva.com>2002-09-06 11:29:21 +0000
commit0d89ca47312e310280f57ea6f56bd534a0133dae (patch)
treee0685e78a11e91367301ebb9a9762b658148e7aa /perl-install
parent231f5086cc1b833b8b7e2665041a22be17d9ead4 (diff)
downloaddrakx-0d89ca47312e310280f57ea6f56bd534a0133dae.tar
drakx-0d89ca47312e310280f57ea6f56bd534a0133dae.tar.gz
drakx-0d89ca47312e310280f57ea6f56bd534a0133dae.tar.bz2
drakx-0d89ca47312e310280f57ea6f56bd534a0133dae.tar.xz
drakx-0d89ca47312e310280f57ea6f56bd534a0133dae.zip
allow obsoleted packages to be taken into account.
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/pkgs.pm8
1 files changed, 8 insertions, 0 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 3d4d9d672..833c3dae6 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -956,8 +956,16 @@ sub install($$$;$$) {
my @params = split ":";
if ($params[0] eq 'close') {
my $pkg = $packages->{depslist}[$params[1]];
+ #- update flag associated to package.
$pkg->set_flag_installed(1);
$pkg->set_flag_upgrade(0);
+ #- update obsoleted entry.
+ foreach (keys %{$packages->{state}{obsoleted}}) {
+ if (exists $packages->{state}{obsoleted}{$_}{$pkg->id}) {
+ delete $packages->{state}{obsoleted}{$_}{$pkg->id};
+ %{$packages->{state}{obsoleted}{$_}} or delete $packages->{state}{obsoleted}{$_};
+ }
+ }
} else {
installCallback($packages, @params);
}