From ca6e0a756bc83c1aa9927b99cc8e76f791202835 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 18 Nov 2002 13:42:04 +0000 Subject: rename modparm as modules::parameters --- perl-install/any.pm | 4 +-- perl-install/modparm.pm | 61 ------------------------------------- perl-install/modules/interactive.pm | 4 +-- perl-install/modules/parameters.pm | 61 +++++++++++++++++++++++++++++++++++++ perl-install/standalone.pm | 2 +- 5 files changed, 66 insertions(+), 66 deletions(-) delete mode 100644 perl-install/modparm.pm create mode 100644 perl-install/modules/parameters.pm (limited to 'perl-install') diff --git a/perl-install/any.pm b/perl-install/any.pm index d5033bbe8..96dd5b657 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -714,8 +714,8 @@ sub load_category__prompt { my $module_descr = $available_modules{$module}; my $options; - require modparm; - my @parameters = modparm::parameters($module); + require modules::parameters; + my @parameters = modules::parameters::parameters($module); if (@parameters && $in->ask_from_list_('', N("In some cases, the %s driver needs to have extra information to work properly, although it normally works fine without. Would you like to specify diff --git a/perl-install/modparm.pm b/perl-install/modparm.pm deleted file mode 100644 index 70da67c47..000000000 --- a/perl-install/modparm.pm +++ /dev/null @@ -1,61 +0,0 @@ -package modparm; # $Id$ - -use diagnostics; -use strict; - -#-###################################################################################### -#- misc imports -#-###################################################################################### -use common; -use modules; - - -sub parameters { - my ($module) = @_; - - my $modinfo = '/sbin/modinfo'; - -x $modinfo or $modinfo = '/usr/bin/modinfo'; - -x $modinfo or die N("modinfo is not available"); - - if (!$::isStandalone && !$::testing) { - modules::extract_modules('/tmp', $module); - $module = "/tmp/$module.o"; - } - - my @parameters; - foreach (common::join_lines(`$modinfo -p $module`)) { - chomp; - next if /^warning:/; - (my $name, $_) = /(\S+)\s+(.*)/s or warn "modparm::get_options_name($module): unknown line\n"; - - my $c_types = 'int|string|short|byte|char|long'; - my ($is_a_number, $description, $min, $max) = (0, '', 1, 1); - if (/^($c_types) array \(min = (\d+), max = (\d+)\),?\s*(.*)/s) { - $_ = $4; - #- seems like "char" are buggy entries - ($is_a_number, $min, $max) = ($1 ne 'string', $2, $3) if $1 ne 'char'; - } elsif (/^($c_types),?\s*(.*)/s) { - $_ = $2; - #- here "char" really are size-limited strings, modinfo doesn't display the size limit (but since we don't care about it, it doesn't matter :) - $is_a_number = $1 ne 'string' if $1 ne 'char'; - } else { - #- for things like "no format character" or "unknown format character" - } - if (/^description "(.*)",?\s*/s) { - ($description, $_) = ($1, $2); - } - #- print "STILL HAVE ($_)\n" if $_; - - my $format = $min == 1 && $max == 1 ? - ($is_a_number ? N("a number") : '') : - $min == $max ? - ($is_a_number ? N("%d comma separated numbers", $min) : N("%d comma separated strings", $min)) : - $min == 1 ? - ($is_a_number ? N("comma separated numbers") : N("comma separated strings")) : - ''; #- too weird and buggy, do not display it - push @parameters, [ $name, $format, $description ]; - } - @parameters; -} - -1; diff --git a/perl-install/modules/interactive.pm b/perl-install/modules/interactive.pm index b4ce5280e..71b72a5b2 100644 --- a/perl-install/modules/interactive.pm +++ b/perl-install/modules/interactive.pm @@ -7,9 +7,9 @@ sub config_window { require modules; modules::mergein_conf('/etc/modules.conf'); my %conf = modules::get_parameters($data->{driver}); - require modparm; + require modules::parameters; my @l; - foreach (modparm::parameters($data->{driver})) { + foreach (modules::parameters::parameters($data->{driver})) { my ($name, $format, $description) = @$_; push @l, { label => $name, help => "$description\n[$format]", val => \$conf{$name} }; } diff --git a/perl-install/modules/parameters.pm b/perl-install/modules/parameters.pm new file mode 100644 index 000000000..59829389c --- /dev/null +++ b/perl-install/modules/parameters.pm @@ -0,0 +1,61 @@ +package modules::parameters; # $Id$ + +use diagnostics; +use strict; + +#-###################################################################################### +#- misc imports +#-###################################################################################### +use common; +use modules; + + +sub parameters { + my ($module) = @_; + + my $modinfo = '/sbin/modinfo'; + -x $modinfo or $modinfo = '/usr/bin/modinfo'; + -x $modinfo or die N("modinfo is not available"); + + if (!$::isStandalone && !$::testing) { + modules::extract_modules('/tmp', $module); + $module = "/tmp/$module.o"; + } + + my @parameters; + foreach (common::join_lines(`$modinfo -p $module`)) { + chomp; + next if /^warning:/; + (my $name, $_) = /(\S+)\s+(.*)/s or warn "modules::parameters::get_options_name($module): unknown line\n"; + + my $c_types = 'int|string|short|byte|char|long'; + my ($is_a_number, $description, $min, $max) = (0, '', 1, 1); + if (/^($c_types) array \(min = (\d+), max = (\d+)\),?\s*(.*)/s) { + $_ = $4; + #- seems like "char" are buggy entries + ($is_a_number, $min, $max) = ($1 ne 'string', $2, $3) if $1 ne 'char'; + } elsif (/^($c_types),?\s*(.*)/s) { + $_ = $2; + #- here "char" really are size-limited strings, modinfo doesn't display the size limit (but since we don't care about it, it doesn't matter :) + $is_a_number = $1 ne 'string' if $1 ne 'char'; + } else { + #- for things like "no format character" or "unknown format character" + } + if (/^description "(.*)",?\s*/s) { + ($description, $_) = ($1, $2); + } + #- print "STILL HAVE ($_)\n" if $_; + + my $format = $min == 1 && $max == 1 ? + ($is_a_number ? N("a number") : '') : + $min == $max ? + ($is_a_number ? N("%d comma separated numbers", $min) : N("%d comma separated strings", $min)) : + $min == 1 ? + ($is_a_number ? N("comma separated numbers") : N("comma separated strings")) : + ''; #- too weird and buggy, do not display it + push @parameters, [ $name, $format, $description ]; + } + @parameters; +} + +1; diff --git a/perl-install/standalone.pm b/perl-install/standalone.pm index 48852af5f..514585d27 100644 --- a/perl-install/standalone.pm +++ b/perl-install/standalone.pm @@ -204,7 +204,7 @@ sub explanations { c::syslog(c::LOG_INFO()|c::LOG_LOCAL1(), "@_") } our @common_functs = qw(renamef linkf symlinkf output substInFile mkdir_p rm_rf cp_af touch setVarsInSh setExportedVarsInSh setExportedVarsInCsh update_gnomekderc); our @builtin_functs = qw(chmod chown unlink link symlink rename system); -our @drakx_modules = qw(Xconfig::card Xconfig::default Xconfig::main Xconfig::monitor Xconfig::parse Xconfig::proprietary Xconfig::resolution_and_depth Xconfig::screen Xconfig::test Xconfig::various Xconfig::xfree Xconfig::xfree3 Xconfig::xfree4 Xconfig::xfreeX any bootloader bootlook c class_discard commands crypto detect_devices devices diskdrake diskdrake::hd_gtk diskdrake::interactive diskdrake::removable diskdrake::removable_gtk diskdrake::smbnfs_gtk fs fsedit http keyboard lang log loopback lvm modparm modules mouse my_gtk network network::adsl network::ethernet network::isdn_consts network::isdn network::modem network::netconnect network::network network::nfs network::smb network::tools partition_table partition_table_bsd partition_table::dos partition_table::empty partition_table::gpt partition_table::mac partition_table::raw partition_table::sun printer printerdrake proxy raid run_program scanner services steps swap timezone network::drakfirewall network::shorewall); +our @drakx_modules = qw(Xconfig::card Xconfig::default Xconfig::main Xconfig::monitor Xconfig::parse Xconfig::proprietary Xconfig::resolution_and_depth Xconfig::screen Xconfig::test Xconfig::various Xconfig::xfree Xconfig::xfree3 Xconfig::xfree4 Xconfig::xfreeX any bootloader bootlook c class_discard commands crypto detect_devices devices diskdrake diskdrake::hd_gtk diskdrake::interactive diskdrake::removable diskdrake::removable_gtk diskdrake::smbnfs_gtk fs fsedit http keyboard lang log loopback lvm modules::parameters modules mouse my_gtk network network::adsl network::ethernet network::isdn_consts network::isdn network::modem network::netconnect network::network network::nfs network::smb network::tools partition_table partition_table_bsd partition_table::dos partition_table::empty partition_table::gpt partition_table::mac partition_table::raw partition_table::sun printer printerdrake proxy raid run_program scanner services steps swap timezone network::drakfirewall network::shorewall); $SIG{SEGV} = sub { my $progname = $0; $progname =~ s|.*/||; exec("drakbug --incident $progname") }; -- cgit v1.2.1