From c2b44f66b9d3bccd78764b208feaa9d9a119a0a1 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 19 Apr 2000 13:36:08 +0000 Subject: no_comment --- docs/TODO | 12 ++++++------ perl-install/Xconfig.pm | 6 +++--- perl-install/Xconfigurator.pm | 20 ++++++++++---------- perl-install/Xconfigurator_consts.pm | 1 - perl-install/c/stuff.xs.pm | 2 +- perl-install/fs.pm | 1 + perl-install/install2.pm | 10 +++++----- perl-install/install_any.pm | 6 +++--- perl-install/install_steps.pm | 8 ++++---- perl-install/install_steps_gtk.pm | 2 +- perl-install/install_steps_interactive.pm | 8 ++++++-- perl-install/modules.pm | 1 + perl-install/printerdrake.pm | 15 ++++++++++----- 13 files changed, 51 insertions(+), 41 deletions(-) diff --git a/docs/TODO b/docs/TODO index 3e4fb77de..23365cce3 100644 --- a/docs/TODO +++ b/docs/TODO @@ -1,5 +1,6 @@ -URGENT--------------------------------------------------------------------------------- -group selectiopn doesn't do anything +compssList +compssUsers check for fpons/pixel BOTH that resize_fat is clean for current version relative to 7.0-2. @@ -22,11 +23,6 @@ stage1 & cdrom: add ability in expert to choose the scsi cdrom drive to use (7.1)better help for partitioning in newbie -(7.1) rewrite crypto stuff -crypto: add a cancel & progress bar while downloading -error handling (like reading hdlist) -(7.1)progression bar on crypto. - (7.1)Improved network configuration (PPP and/or Ethernet) PPPoE install and configuration (SuSE includes it, DHCP-like) (7.1)standalone applications for configuration (netdrake, timetool, authentificationconf, soundcard) @@ -502,3 +498,7 @@ already hda1 with /boot/vmlinuz (done,pix)chooseGroup with individual alone +(done)(7.1) rewrite crypto stuff +(done)crypto: add a cancel & progress bar while downloading +(done)error handling (like reading hdlist) +(done)(7.1)progression bar on crypto. diff --git a/perl-install/Xconfig.pm b/perl-install/Xconfig.pm index a65bdb29c..d87e32d88 100644 --- a/perl-install/Xconfig.pm +++ b/perl-install/Xconfig.pm @@ -78,7 +78,7 @@ sub getinfoFromXF86Config { undef $driver if $s == 1; $driver = $1 if /^\s*Driver\s+"(.*?)"/; if ($driver eq $Xconfigurator::serversdriver{$o->{card}{server}}) { - $o->{card}{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/; + $o->{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/; if (my $i = /^\s*Subsection\s+"Display"/ .. /^\s*EndSubsection/) { undef $depth if $i == 1; $depth = $1 if /^\s*Depth\s+(\d*)/; @@ -94,8 +94,8 @@ sub getinfoFromXF86Config { #- get the default resolution according the the current file. my @depth = keys %{$o->{card}{depth}}; $o->{resolution_wanted} ||= - ($o->{card}{depth}{$o->{card}{default_depth} || $depth[0]}[0][0]) . "x" . - ($o->{card}{depth}{$o->{card}{default_depth} || $depth[0]}[0][1]); + ($o->{card}{depth}{$o->{default_depth} || $depth[0]}[0][0]) . "x" . + ($o->{card}{depth}{$o->{default_depth} || $depth[0]}[0][1]); $o; } diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm index 88081cf98..cc8f68cea 100644 --- a/perl-install/Xconfigurator.pm +++ b/perl-install/Xconfigurator.pm @@ -2,7 +2,7 @@ package Xconfigurator; use diagnostics; use strict; -use vars qw($in $install $isLaptop $resolution_wanted @window_managers @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allbutfbservers @allservers %vgamodes %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $XF86firstchunk_text $keyboardsection_start $keyboardsection_start_v4 $keyboardsection_part2 $keyboardsection_part3 $keyboardsection_part3_v4 $keyboardsection_end $pointersection_text $pointersection_text_v4 $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text $devicesection_text $devicesection_text_v4 $screensection_text1 %lines @options %xkb_options $default_monitor $layoutsection_v4); +use vars qw($in $install $isLaptop @window_managers @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allbutfbservers @allservers %vgamodes %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $XF86firstchunk_text $keyboardsection_start $keyboardsection_start_v4 $keyboardsection_part2 $keyboardsection_part3 $keyboardsection_part3_v4 $keyboardsection_end $pointersection_text $pointersection_text_v4 $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text $devicesection_text $devicesection_text_v4 $screensection_text1 %lines @options %xkb_options $default_monitor $layoutsection_v4); use pci_probing::main; use common qw(:common :file :functional :system); @@ -395,7 +395,7 @@ You can switch if off if you want, you'll hear a beep when it's over"), 1) or re #- Configure the modes order. my ($ok, $best); foreach (reverse @depths) { - local $card->{default_depth} = $_; + local $o->{default_depth} = $_; my ($resolutions, $clocklines) = eval { testConfig($o) }; if ($@ || !$resolutions) { @@ -424,7 +424,7 @@ sub autoDefaultDepth($$) { while (my ($d, $r) = each %{$card->{depth}}) { $depth = max($depth || 0, $d); - #- try to have $resolution_wanted + #- try to have resolution_wanted $best = max($best || 0, $d) if $r->[0][0] >= $wres_wanted; } $best || $depth or die "no valid modes"; @@ -583,8 +583,8 @@ Try with another video card or monitor")), return; my $wres = first(split 'x', $res); #- take the first available resolution <= the wanted resolution - $wres = max map { first(grep { $_->[0] <= $wres } @$_)->[0] } values %{$card->{depth}}; - my $depth = eval { $card->{default_depth} || autoDefaultDepth($card, $wres) }; + $wres ||= max map { first(grep { $_->[0] <= $wres } @$_)->[0] } values %{$card->{depth}}; + my $depth = eval { $o->{default_depth} || autoDefaultDepth($card, $wres) }; $options{auto} or ($depth, $wres) = chooseResolutions($card, $depth, $wres) or return; @@ -599,9 +599,9 @@ Try with another video card or monitor")), return; #- remove all biggest resolution (keep the small ones for ctl-alt-+) #- otherwise there'll be a virtual screen :( $card->{depth}{$depth} = [ grep { $_->[0] <= $wres } @{$card->{depth}{$depth}} ]; - $card->{default_depth} = $depth; $card->{default_wres} = $wres; $card->{vga_mode} = $vgamodes{"${wres}xx$depth"} || $vgamodes{"${res}x$depth"}; #- for use with frame buffer. + $o->{default_depth} = $depth; 1; } @@ -836,7 +836,7 @@ Section "Screen" ); if (member($O->{server}, @svgaservers)) { - &$screen("svga", $O->{default_depth}, $O->{type}, $O->{depth}); + &$screen("svga", $o->{default_depth}, $O->{type}, $O->{depth}); } else { &$screen("svga", '', "Generic VGA", { 8 => [[ 320, 200 ]] }); } @@ -849,9 +849,9 @@ Section "Screen" (member($O->{server}, "Mono", "VGA16") ? $O->{type} : "Generic VGA"), { '' => [[ 640, 480 ], [ 800, 600 ]]}); - &$screen("accel", $O->{default_depth}, $O->{type}, $O->{depth}); + &$screen("accel", $o->{default_depth}, $O->{type}, $O->{depth}); - &$screen("fbdev", $O->{default_depth}, $O->{type}, $O->{depth}); + &$screen("fbdev", $o->{default_depth}, $O->{type}, $O->{depth}); print G qq( @@ -861,7 +861,7 @@ Section "Screen" Monitor "$o->{monitor}{type}" ); #- bpp 32 not handled by XF4 - $subscreen->(*G, "svga", min($O->{default_depth}, 24), $O->{depth}); + $subscreen->(*G, "svga", min($o->{default_depth}, 24), $O->{depth}); print G ' diff --git a/perl-install/Xconfigurator_consts.pm b/perl-install/Xconfigurator_consts.pm index d59062999..1f89faf22 100644 --- a/perl-install/Xconfigurator_consts.pm +++ b/perl-install/Xconfigurator_consts.pm @@ -9,7 +9,6 @@ use common qw(:common); ); @depths = ikeys(%depths); -$resolution_wanted = "1024x768"; @resolutions = qw(640x480 800x600 1024x768 1152x864 1280x1024 1600x1200); @window_managers = qw(icewm wmaker kwm afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce blackbox); diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm index 6296c7461..adec29344 100644 --- a/perl-install/c/stuff.xs.pm +++ b/perl-install/c/stuff.xs.pm @@ -117,7 +117,7 @@ lseek_sector(fd, sector, offset) long sector long offset CODE: - RETVAL = llseek(fd, (long long) sector * SECTORSIZE + offset, SEEK_SET) >= 0; + RETVAL = lseek64(fd, (long long) sector * SECTORSIZE + offset, SEEK_SET) >= 0; OUTPUT: RETVAL diff --git a/perl-install/fs.pm b/perl-install/fs.pm index 2f502728f..0d0129786 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -203,6 +203,7 @@ sub mount($$$;$) { eval { modules::load('reiserfs') }; } + $where =~ s|/$||; log::l("calling mount($dev, $where, $fs, $flag, $mount_opt)"); syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die _("mount failed: ") . "$!"; } diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 3f9414a78..376a3f82e 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -393,9 +393,6 @@ sub miscellaneous { }); install_any::fsck_option(); - - local $ENV{LILO_PASSWORD} = $o->{lilo}{password}; - run_program::rooted($o->{prefix}, "/usr/sbin/msec", $o->{security}); } 'doInstallStep'; } @@ -466,6 +463,9 @@ sub setupBootloader { $o->setupBootloaderBefore if $_[1] == 1; $o->setupBootloader($_[1] - 1); + + local $ENV{DRAKX_PASSWORD} = $o->{bootloader}{password}; + run_program::rooted($o->{prefix}, "/usr/sbin/msec", $o->{security}); } #------------------------------------------------------------------------------ sub configureX { @@ -498,11 +498,11 @@ sub main { install_steps_auto_install::errorInStep(); }; $ENV{SHARE_PATH} ||= "/usr/share"; - $ENV{DURING_INSTALL} = 1; + $ENV{PERL_BADLANG} = 1; $::beginner = $::expert = $::g_auto_install = 0; - c::unlimit_core() unless $::testing; +#- c::unlimit_core() unless $::testing; my ($cfg, $patch); my %cmdline; map { diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 3af71804b..b1a9a3188 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -533,10 +533,10 @@ sub g_auto_install(;$) { exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(lang autoSCSI authentication printer mouse wacom netc timezone superuser intf keyboard mkbootdisk users installClass partitioning isUpgrade manualFstab nomouseprobe crypto security modem useSupermount autoExitInstall); #- TODO modules bootloader if (my $card = $::o->{X}{card}) { - $o->{X}{card}{$_} = $card->{$_} foreach qw(default_depth); - if ($card->{default_depth} and my $depth = $card->{depth}{$card->{default_depth}}) { + $o->{X}{$_} = $::o->{X}{$_} foreach qw(default_depth resolution_wanted); + if ($o->{X}{default_depth} and my $depth = $card->{depth}{$o->{X}{default_depth}}) { $depth ||= []; - $o->{X}{card}{resolution_wanted} ||= join "x", @{$depth->[0]} unless is_empty_array_ref($depth->[0]); + $o->{X}{resolution_wanted} ||= join "x", @{$depth->[0]} unless is_empty_array_ref($depth->[0]); } } diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index aaa8a0a9f..3d24cf629 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -295,7 +295,10 @@ sub installPackages($$) { #- complete REWORK, TODO and TOCHECK! #- small transaction will be built based on this selection and depslist. my @toInstall = pkgs::packagesToInstall($packages); + + $ENV{DURING_INSTALL} = 1; pkgs::install($o->{prefix}, $o->{isUpgrade}, \@toInstall, $packages->[1], $packages->[2]); + delete $ENV{DURING_INSTALL}; } sub afterInstallPackages($) { @@ -329,10 +332,7 @@ Consoles 1,3,4,7 may also contain interesting information"; run_program::rooted($o->{prefix}, "chkfontpath", "--add", "/usr/X11R6/lib/X11/fonts/mdk"); #- call update-menus at the end of package installation - { - local $ENV{DURING_INSTALL}; delete $ENV{DURING_INSTALL}; - run_program::rooted($o->{prefix}, "update-menus"); - } + run_program::rooted($o->{prefix}, "update-menus"); #- mainly for auto_install's run_program::rooted($o->{prefix}, "sh", "-c", $o->{postInstall}) if $o->{postInstall}; diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 0292050d4..1660d85ad 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -323,7 +323,7 @@ _("You have space on your disk for only %d%% of these packages. If you wish to install less than this, select the percentage of packages that you want to install. A low percentage will install only the most important packages; -a percentage of %d%% will install as many packages as possible.", $percentage + 1, $percentage + 1)) +a percentage of %d%% will install as many packages as possible.", $percentage, $percentage)) . ($individual ? "\n\n" . _("You will be able to choose them more specifically in the next step.") : ''), create_packtable({}, [ _("Percentage of packages to install") . ' ', $spin, "%", ], diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index f1f0774b5..4b7fa5ae2 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -585,11 +585,15 @@ sub servicesConfig { sub printerConfig { my ($o, $clicked) = @_; - return if $::corporate && $::beginner && !$clicked; + return if $::corporate; require printer; - eval { add2hash($o->{printer} ||= {}, printer::getinfo($o->{prefix})) }; require printerdrake; + + if ($::beginner && !$clicked) { + printerdrake::auto_detect($o) or return; + } + eval { add2hash($o->{printer} ||= {}, printer::getinfo($o->{prefix})) }; printerdrake::main($o->{printer}, $o, sub { $o->pkg_install($_[0]) }); } diff --git a/perl-install/modules.pm b/perl-install/modules.pm index be81bb165..afb6ecce3 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -572,6 +572,7 @@ sub get_pcmcia_devices($$) { sub load_ide { eval { load("ide-mod", 'prereq', 'options="' . detect_devices::hasUltra66() . '"'); + delete $conf{$name}{options}; load_multi(qw(ide-probe ide-disk ide-cd)); } } diff --git a/perl-install/printerdrake.pm b/perl-install/printerdrake.pm index 40e6948b6..0d322e4ef 100644 --- a/perl-install/printerdrake.pm +++ b/perl-install/printerdrake.pm @@ -13,18 +13,23 @@ use printer; 1; -sub setup_local($$$) { - my ($printer, $in, $install) = @_; - +sub auto_detect { + my ($in) = @_; { my $w = $in->wait_message(_("Test ports"), _("Detecting devices...")); eval { modules::load("parport_pc"); modules::load("parport_probe"); modules::load("lp"); }; } + my $b = before_leaving { eval { modules::unload("parport_probe") } }; + detect_devices::whatPrinter(); +} + + +sub setup_local($$$) { + my ($printer, $in, $install) = @_; my @port = (); my @str = (); - my @parport = detect_devices::whatPrinter(); - eval { modules::unload("parport_probe") }; + my @parport = auto_detect(); foreach (@parport) { push @str, _("A printer, model \"%s\", has been detected on ", $_->{val}{DESCRIPTION}) . $_->{port}; } -- cgit v1.2.1