summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2002-07-25 20:07:48 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2002-07-25 20:07:48 +0000
commit50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5 (patch)
treec85b70d9c918bb52705861f6cc4a35fc255fe172 /perl-install
parentf0478464cd7233e8b103a3a0625fbf381f5ab405 (diff)
downloaddrakx-50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5.tar
drakx-50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5.tar.gz
drakx-50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5.tar.bz2
drakx-50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5.tar.xz
drakx-50d7dab85114fb42f83f7cd7d4fa7c5f22c282b5.zip
only do one probeall here (there's still many in detect_devices,
probing caching should go there)
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/harddrake/data.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm
index 970299d76..24df932d9 100644
--- a/perl-install/harddrake/data.pm
+++ b/perl-install/harddrake/data.pm
@@ -8,9 +8,11 @@ use class_discard;
our (@ISA, @EXPORT_OK) = (qw(Exporter), (qw(version tree)));
our ($version, $sbindir, $bindir) = ("1.1.6", "/usr/sbin", "/usr/bin");
+my @devices = detect_devices::probeall(1);
+
# Update me each time you handle one more devices class (aka configurator)
sub unknown {
- grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_IDE|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') } detect_devices::probeall(1);
+ grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_IDE|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') } @devices;
}
@@ -18,8 +20,6 @@ sub unknown {
# NEVER, NEVER alter CLASS_ID or you'll harddrake2 service to detect changes
# in hw configuration ... :-(
-my @devices = detect_devices::probeall(1);
-
our @tree =
(
["FLOPPY","Floppy", "floppy.png", "",\&detect_devices::floppies],
"hl opt">} sub network_conf { my ($obj) = @_; require network::network; network::network::easy_dhcp($obj->{net}, $obj->{modules_conf}); } sub mouse_conf { my ($modules_conf) = @_; require do_pkgs; require mouse; mouse::write_conf(do_pkgs_standalone->new, $modules_conf, my $mouse = mouse::detect($modules_conf), 1); mouse::load_modules($mouse); } sub pcmcia { my ($pcic) = @_; require modules; modules::set_preload_modules("pcmcia", if_($pcic, $pcic)); } sub bluetooth { my ($enable) = @_; #- FIXME: make sure these packages are installed when needed # if ($enable) { # require do_pkgs; # my $do_pkgs = do_pkgs_standalone->new; # $do_pkgs->ensure_is_installed("bluez-utils", "/usr/bin/rfcomm"); # } require services; services::set_status("bluetooth", $enable); my $kbluetoothd_cfg = '/etc/kde/kbluetoothrc'; update_gnomekderc($kbluetoothd_cfg, 'General', 'AutoStart' => bool2text($enable)) if -f $kbluetoothd_cfg; } sub laptop { my ($on_laptop) = @_; #- FIXME: make sure these packages are installed when needed # require do_pkgs; # my $do_pkgs = do_pkgs_standalone->new; # if ($on_laptop) { # $do_pkgs->ensure_is_installed("cpufreq", "/etc/rc.d/init.d/cpufreq"); # $do_pkgs->ensure_is_installed("apmd", "/usr/bin/apm"); # $do_pkgs->ensure_is_installed("hotkeys", "/usr/bin/hotkeys"); # $do_pkgs->ensure_is_installed("laptop-mode-tools", "/usr/sbin/laptop_mode"); # } else { # $do_pkgs->ensure_is_installed("numlock", "/etc/rc.d/init.d/numlock"); # } require services; services::set_status("apmd", -e "/proc/apm"); services::set_status("laptop-mode", $on_laptop); services::set_status("numlock", !$on_laptop); } sub cpufreq() { require cpufreq; modules::set_preload_modules("cpufreq", cpufreq::get_modules()); } sub floppy() { require detect_devices; modules::set_preload_modules("floppy", if_(detect_devices::floppy(), "floppy")); } sub fix_aliases { my ($modules_conf) = @_; require modalias; my %new_aliases; #- first pass: find module targets whose modalias is not valid anymore foreach my $module ($modules_conf->modules) { if (my $aliased_to = $modules_conf->get_alias($module)) { my @valid_modaliases = modalias::get_modules($module, 'skip_config') or next; my ($found, $others) = partition { $_ eq $aliased_to } @valid_modaliases; $new_aliases{$aliased_to} = @{$others || []} == 1 && $others->[0] if is_empty_array_ref($found); } } #- second pass: adapt module targets that are not valid anymore foreach my $module ($modules_conf->modules) { if (my $aliased_to = $modules_conf->get_alias($module)) { if (my $new = exists $new_aliases{$aliased_to} && $new_aliases{$aliased_to}) { $modules_conf->set_alias($module, $new); } else { $modules_conf->remove_alias($module); } } } $modules_conf->write; } 1;