diff options
-rw-r--r-- | perl-install/ChangeLog | 7 | ||||
-rw-r--r-- | perl-install/detect_devices.pm | 11 | ||||
-rw-r--r-- | perl-install/install2.pm | 2 | ||||
-rw-r--r-- | perl-install/modules.pm | 6 |
4 files changed, 20 insertions, 6 deletions
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog index 8c5afb9a3..d0f571192 100644 --- a/perl-install/ChangeLog +++ b/perl-install/ChangeLog @@ -1,3 +1,10 @@ +2000-02-28 Pixel <pixel@mandrakesoft.com> + + * detect_devices.pm (cdroms): change the device associated with + ide-burners (hdX -> scdX). Problem is how to know the X in scdX :( + + * modules.pm (write_conf): sort scsi_hostadapter's + 2000-02-27 Pixel <pixel@mandrakesoft.com> * install2.pm (main): load ide-probe and the like in 'prereq' type diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index a8653a9ff..84b74d2e0 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -36,7 +36,15 @@ sub get { sub hds() { grep { $_->{type} eq 'hd' && ($::isStandalone || !isRemovableDrive($_)) } get(); } sub zips() { grep { $_->{type} eq 'hd' && isZipDrive($_) } get(); } #-sub jazzs() { grep { $_->{type} eq 'hd' && isJazDrive($_) } get(); } -sub cdroms() { grep { $_->{type} eq 'cdrom' } get(); } +sub cdroms() { + my @l = grep { $_->{type} eq 'cdrom' } get(); + my $nb = $modules::scsi; #- this is gross! + foreach (getIDEBurners()) { + my ($e) = grep { $_->{device} eq $_ } @l or next; + $e->{device} = "scd" . ($nb++ || ''); + } + @l; +} sub floppies() { (grep { tryOpen($_) } qw(fd0 fd1)), (grep { $_->{type} eq 'fd' } get()); @@ -100,7 +108,6 @@ sub getIDE() { my $num = ord (($d =~ /(.)$/)[0]) - ord 'a'; push @idi, { type => $type, device => basename($d), info => $info, bus => $num/2, id => $num%2 }; } - #- push @idi, { type => 'hd', device => 'hde', info => 'ZIP 100', bus => '1', id => 1 } if $::testing; @idi; } diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 37b90cba8..9b2212695 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -622,7 +622,7 @@ sub main { modules::read_stage1_conf("/tmp/conf.modules"); modules::read_already_loaded(); - eval { modules::load($_, 'prereq') } foreach qw(ide-probe ide-disk sd_mod af_packet); + eval { modules::load($_, 'prereq') } foreach qw(ide-probe ide-disk ide-cd sd_mod af_packet); install_any::lnx4win_preinstall() if $o->{lnx4win}; #-the main cycle diff --git a/perl-install/modules.pm b/perl-install/modules.pm index e72ee9093..c82cee6a1 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -1,6 +1,6 @@ package modules; -use vars qw(%loaded %drivers); +use vars qw(%loaded %drivers $scsi); use common qw(:common :file :system); use detect_devices; @@ -10,7 +10,7 @@ use log; my %conf; my %loaded; #- array of loaded modules for each types (scsi/net/...) -my $scsi = 0; +$scsi = 0; my %deps = (); my @drivers_by_category = ( @@ -460,7 +460,7 @@ sub write_conf { add_alias('scsi_hostadapter', 'ide-scsi') if detect_devices::getIDEBurners(); - if (my @scsis = grep { $conf{$_}{alias} && /scsi_hostadapter/ } keys %conf) { + if (my @scsis = sort grep { $conf{$_}{alias} && /scsi_hostadapter/ } keys %conf) { log::l("has scsis ", join " ; ", map { "modprobe $_" } @scsis); $conf{supermount}{"post-install"} = join " ; ", map { "modprobe $_" } @scsis; } |