summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/ChangeLog7
-rw-r--r--perl-install/detect_devices.pm11
-rw-r--r--perl-install/install2.pm2
-rw-r--r--perl-install/modules.pm6
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;
}