summaryrefslogtreecommitdiffstats
path: root/perl-install/pkgs.pm
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2000-04-21 12:42:57 +0000
committerFrancois Pons <fpons@mandriva.com>2000-04-21 12:42:57 +0000
commitf3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e (patch)
treea59b7df249a766be1e1196fb6ecc8b62510f46c8 /perl-install/pkgs.pm
parent68025cc5c4127b2fbd5dad7be8a86ee0dc43fc8f (diff)
downloaddrakx-f3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e.tar
drakx-f3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e.tar.gz
drakx-f3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e.tar.bz2
drakx-f3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e.tar.xz
drakx-f3b08d4d16cd2e89dc64f3d7025c413de6e2ea0e.zip
*** empty log message ***
Diffstat (limited to 'perl-install/pkgs.pm')
-rw-r--r--perl-install/pkgs.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 35213e279..605dcb86e 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -913,7 +913,15 @@ sub install($$$;$$) {
}
--$nb; #- make sure the package is not taken into account as its medium is not selected.
}
- } while (scalar(@transToInstall) == 0); #- avoid null transaction, it a nop that cost a bit.
+ } while ($nb > 0 && scalar(@transToInstall) == 0); #- avoid null transaction, it a nop that cost a bit.
+ }
+
+ #- added to exit typically after last media unselected.
+ if ($nb == 0 && scalar(@transToInstall) == 0) {
+ cleanHeaders($prefix);
+
+ loopback::save_boot($loop_boot);
+ return;
}
#- extract headers for parent as they are used by callback.
@@ -1001,7 +1009,7 @@ sub install($$$;$$) {
c::headerFree(delete $_->{header}) foreach @transToInstall;
cleanHeaders($prefix);
- if (my @badpkgs = grep { !packageFlagInstalled($_) } @transToInstall) {
+ if (my @badpkgs = grep { !packageFlagInstalled($_) && $_->{medium}{selected} } @transToInstall) {
foreach (@badpkgs) {
log::l("bad package $_->{file}");
packageSetFlagSelected($_, 0);