summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/TODO12
-rw-r--r--perl-install/Xconfig.pm6
-rw-r--r--perl-install/Xconfigurator.pm20
-rw-r--r--perl-install/Xconfigurator_consts.pm1
-rw-r--r--perl-install/c/stuff.xs.pm2
-rw-r--r--perl-install/fs.pm1
-rw-r--r--perl-install/install2.pm10
-rw-r--r--perl-install/install_any.pm6
-rw-r--r--perl-install/install_steps.pm8
-rw-r--r--perl-install/install_steps_gtk.pm2
-rw-r--r--perl-install/install_steps_interactive.pm8
-rw-r--r--perl-install/modules.pm1
-rw-r--r--perl-install/printerdrake.pm15
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};
}