diff options
author | Antoine Ginies <aginies@mandriva.com> | 2004-10-15 12:03:50 +0000 |
---|---|---|
committer | Antoine Ginies <aginies@mandriva.com> | 2004-10-15 12:03:50 +0000 |
commit | ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341 (patch) | |
tree | 5b1ddde0eb614e1383071adae79207e9be971430 /cluster/data/gen_modules_conf.pl.pl | |
parent | 0d3884e06f2cad55beecf42b73d753807f72e67d (diff) | |
download | drakx-ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341.tar drakx-ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341.tar.gz drakx-ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341.tar.bz2 drakx-ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341.tar.xz drakx-ad5d38d7ef866d4acca9f0b554fe6e7c9c23e341.zip |
needed file for mdkc
Diffstat (limited to 'cluster/data/gen_modules_conf.pl.pl')
-rwxr-xr-x | cluster/data/gen_modules_conf.pl.pl | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cluster/data/gen_modules_conf.pl.pl b/cluster/data/gen_modules_conf.pl.pl new file mode 100755 index 000000000..0fa8e265f --- /dev/null +++ b/cluster/data/gen_modules_conf.pl.pl @@ -0,0 +1,47 @@ +#!/usr/bin/perl + +use list_modules; + +my %kinds = ( + scsi => 'disk/scsi|hardware_raid', + network => 'network/main|usb|gigabit', +); + +my %kinds2all_modules = map { + $_ => [ list_modules::category2modules($kinds{$_}) ]; +} keys %kinds; + +$kinds2all_modules{usb} = [ qw(usb-uhci usb-ohci ehci-hcd) ]; + +use Data::Dumper; +print Data::Dumper->Dump([\%kinds2all_modules], ['$kinds2all_modules']); + +print <<'EOF'; +my @l = map { /^(\S+)\s*:/ ? $1 : () } `lspcidrake`; + +my %kinds2modules = map { + $_ => [ intersection(\@l, $kinds2all_modules->{$_}) ]; +} qw(usb scsi); + +$kinds2modules{network} = [ + grep { + my $l = $_; + scalar grep { $_ eq $l } @{ $kinds2all_modules->{network} } + } @l +]; + +if (my @scsi = @{$kinds2modules{scsi}}) { + print "probeall scsi_hostadapter ", join(" ", @scsi), "\n"; +} +if (my @usb = @{$kinds2modules{usb}}) { + print "probeall usb-interface ", join(" ", @usb), "\n"; +} +my $eth = 0; +foreach (@{$kinds2modules{network}}) { + print "alias eth$eth $_\n"; + $eth++; +} + +sub intersection { my (%l, @m); @l{@{shift @_}} = (); foreach (@_) { @m = grep { exists $l{$_} } @$_; %l = (); @l{@m} = () } keys %l } +EOF + |