diff options
author | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-06-22 10:20:52 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-06-22 10:20:52 +0000 |
commit | 0bad6a093e3a35d797e4204fc50f17155dcc6159 (patch) | |
tree | 95a6c565437ad6b1096d897fd8f5f41dc9ad8a0f /perl-install | |
parent | ff60e1d0dd98aa8debb199812c894ab02acd4f5d (diff) | |
download | drakx-backup-do-not-use-0bad6a093e3a35d797e4204fc50f17155dcc6159.tar drakx-backup-do-not-use-0bad6a093e3a35d797e4204fc50f17155dcc6159.tar.gz drakx-backup-do-not-use-0bad6a093e3a35d797e4204fc50f17155dcc6159.tar.bz2 drakx-backup-do-not-use-0bad6a093e3a35d797e4204fc50f17155dcc6159.tar.xz drakx-backup-do-not-use-0bad6a093e3a35d797e4204fc50f17155dcc6159.zip |
Make the CD-Rom install with supplementary CD work (don't forget to
re-mount the main CDs).
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install_any.pm | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 89d27fe6b..e46248dfb 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -299,6 +299,7 @@ sub setPackages { require pkgs; if (!$o->{packages} || is_empty_array_ref($o->{packages}{depslist})) { + my $cdrom; ($o->{packages}, my $suppl_CDs) = pkgs::psUsingHdlists($o->{prefix}, $o->{method}); #- ask whether there are supplementary CDs @@ -309,10 +310,10 @@ sub setPackages { #- by convention, the media names for suppl. CDs match /^\d+s$/ my $medium = '1s'; #- supplement 1 local $::isWizard = 0; - local $::o->{method} = 'cdrom'; + local $o->{method} = 'cdrom'; (my $cdromdev) = detect_devices::cdroms(); last SUPPL if !$cdromdev; - my $cdrom = $cdromdev->{device}; + $cdrom = $cdromdev->{device}; my $dev = devices::make($cdrom); ejectCdrom($cdrom); if ($o->ask_okcancel('', N("Insert the CD"), 1)) { @@ -373,7 +374,21 @@ sub setPackages { pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}}; #- umount supplementary CD. Will re-ask for it later - eval { fs::umount("/mnt/cdrom") } if $suppl_CDs; + if ($suppl_CDs) { + getFile("XXX"); #- close still opened filehandles + log::l("Umounting suppl. CD"); + eval { fs::umount("/mnt/cdrom") }; + #- re-mount CD 1 if this was a cdrom install + if ($o->{method} eq 'cdrom') { + eval { + my $dev = detect_devices::tryOpen($cdrom); + ioctl($dev, c::CDROMEJECT(), 1); + }; + $o->ask_warn('', N("Insert the CD 1 again")); + mountCdrom("/tmp/image", $cdrom); + $asked_medium = 1; + } + } } else { #- this has to be done to make sure necessary files for urpmi are #- present. |