summaryrefslogtreecommitdiffstats
path: root/perl-install/detect_devices.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-03-23 10:50:49 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-03-23 10:50:49 +0000
commitc4d683a61887c8a927508f5cf9b6a77b0a63a168 (patch)
treefc4c2557d8c1ed395c6143a700afefc86bc6ca17 /perl-install/detect_devices.pm
parentfb62b20aca6f56c54d8f3ba97e32f7fd0bcfe3f9 (diff)
downloaddrakx-backup-do-not-use-c4d683a61887c8a927508f5cf9b6a77b0a63a168.tar
drakx-backup-do-not-use-c4d683a61887c8a927508f5cf9b6a77b0a63a168.tar.gz
drakx-backup-do-not-use-c4d683a61887c8a927508f5cf9b6a77b0a63a168.tar.bz2
drakx-backup-do-not-use-c4d683a61887c8a927508f5cf9b6a77b0a63a168.tar.xz
drakx-backup-do-not-use-c4d683a61887c8a927508f5cf9b6a77b0a63a168.zip
(isUSBFDUDrive, usbfdus): removed, doesn't scale
(isFloppyOrHD): floppy type is 'fd', not 'floppy' (stringlist): nicer (a la new lspcidrake)
Diffstat (limited to 'perl-install/detect_devices.pm')
-rw-r--r--perl-install/detect_devices.pm22
1 files changed, 13 insertions, 9 deletions
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm
index f2d1dacd3..dc623da68 100644
--- a/perl-install/detect_devices.pm
+++ b/perl-install/detect_devices.pm
@@ -35,7 +35,6 @@ sub zips() { grep { $_->{type} =~ /.d/ && isZipDrive($_) } get(); }
sub ide_zips() { grep { $_->{type} =~ /.d/ && isZipDrive($_) } getIDE(); }
#-sub jazzs() { grep { $_->{type} =~ /.d/ && isJazDrive($_) } get(); }
sub ls120s() { grep { $_->{type} =~ /.d/ && isLS120Drive($_) } get(); }
-sub usbfdus() { grep { $_->{type} =~ /.d/ && isUSBFDUDrive($_) } get(); }
sub cdroms() {
my @l = grep { $_->{type} eq 'cdrom' } get();
if (my @l2 = IDEburners()) {
@@ -63,9 +62,9 @@ sub floppies() {
require modules;
eval { modules::load("floppy") };
my @fds = grep { tryOpen($_) } qw(fd0 fd1);
- my @ide = map { $_->{device} } ls120s() and modules::load("ide-floppy");
- my @scsi = map { $_->{device} } usbfdus();
- (@ide, @scsi, @fds);
+ my @ide = ls120s() and modules::load("ide-floppy");
+ my @scsi = grep { $_->{type} eq 'fd' } getSCSI();
+ (map { $_->{device} } @ide, @scsi), @fds;
}
sub floppy { first(floppies()) }
#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
@@ -82,14 +81,13 @@ sub isBurner {
sub isZipDrive { $_[0]->{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
#-sub isJazzDrive { $_[0]->{info} =~ /JAZZ?\s+/ } #- untested.
sub isLS120Drive { $_[0]->{info} =~ /LS-?120|144MB/ }
-sub isUSBFDUDrive { $_[0]->{info} =~ /USB-?FDU/ }
-sub isRemovableDrive { &isZipDrive || &isLS120Drive || &isUSBFDUDrive } #-or &isJazzDrive }
+sub isRemovableDrive { &isZipDrive || &isLS120Drive || $_[0]->{type} eq 'fd' } #-or &isJazzDrive }
sub isFloppyOrHD {
my ($dev) = @_;
require partition_table_raw;
my $geom = partition_table_raw::get_geometry(devices::make($dev));
- $geom->{totalsectors} < 10 << 11 ? 'floppy' : 'hd';
+ $geom->{totalsectors} < 10 << 11 ? 'fd' : 'hd';
}
sub getSCSI() {
@@ -212,8 +210,14 @@ sub matching_desc {
grep { $_->{description} =~ /$regexp/i } probeall();
}
sub stringlist {
- map { ($_->{description} eq '(null)' ? sprintf("Vendor=0x%04x Device=0x%04x", $_->{vendor}, $_->{id}) : $_->{description}) .
- " ($_->{type} $_->{driver})" . ($_->{subid} ? sprintf(" SubVendor=0x%04x SubDevice=0x%04x", $_->{subvendor}, $_->{subid}) : '') } probeall(1);
+ map {
+ sprintf("%-16s: %s%s%s",
+ $_->{driver} ? $_->{driver} : 'unknown',
+ $_->{description} eq '(null)' ? sprintf("Vendor=0x%04x Device=0x%04x", $_->{vendor}, $_->{id}) : $_->{description},
+ $_->{type} ? sprintf(" [%s]", $_->{type}) : '',
+ $_->{subid} && $_->{subid} != 0xffff ? sprintf(" SubVendor=0x%04x SubDevice=0x%04x", $_->{subvendor}, $_->{subid}) : '',
+ );
+ } probeall(1);
}
sub check {
my ($l) = @_;