diff options
-rw-r--r-- | perl-install/Makefile | 2 | ||||
-rw-r--r-- | perl-install/Xconfigurator.pm | 2 | ||||
-rw-r--r-- | perl-install/commands.pm | 5 | ||||
-rw-r--r-- | perl-install/common.pm | 2 | ||||
-rw-r--r-- | perl-install/install2.pm | 2 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 6 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 25 | ||||
-rw-r--r-- | perl-install/interactive_gtk.pm | 2 | ||||
-rw-r--r-- | perl-install/share/list | 2 |
9 files changed, 27 insertions, 21 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile index f7d892a50..54b0623c1 100644 --- a/perl-install/Makefile +++ b/perl-install/Makefile @@ -133,7 +133,7 @@ get_needed_files: $(DIRS) cd $(DEST)/usr/bin ; mv insmod insmod_ rmdir $(DEST)/bin $(DEST)/sbin - ln -sf zsh $(DEST)/usr/bin/sh + ln -sf ash $(DEST)/usr/bin/sh tar xfy locales.tar.bz2 -C $(DEST) # DEST=$(DEST) perl -I. -MForMakefile -e 'locale()' diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm index e1acec491..2c79b6b09 100644 --- a/perl-install/Xconfigurator.pm +++ b/perl-install/Xconfigurator.pm @@ -388,7 +388,7 @@ sub autoDefaultDepth($$) { sub autoDefaultResolution(;$) { my $size = round(shift || 14); #- assume a small monitor (size is in inch) $monitorSize2resolution[$size] || - $monitorSize2resolution[$#monitorSize2resolution]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have + $monitorSize2resolution[-1]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have } sub chooseResolutionsGtk($$;$) { diff --git a/perl-install/commands.pm b/perl-install/commands.pm index 0323f0f02..c6695603c 100644 --- a/perl-install/commands.pm +++ b/perl-install/commands.pm @@ -511,10 +511,11 @@ sub install_cpio($$) { eval { rm("-r", $dir) }; mkdir $dir, 0755; require 'run_program.pm'; - run_program::run("cd $dir ; bzip2 -cd $cpio | cpio -id $name $name/*") and return "$dir/$name"; + run_program::run("cd $dir ; bzip2 -cd $cpio | cpio -id $name $name/*"); #- not found, cache result - $cached_failed_install_cpio{"$dir $name"} = 1; + $cached_failed_install_cpio{"$dir $name"} = ! -e "$dir/$name"; + "$dir/$name"; } diff --git a/perl-install/common.pm b/perl-install/common.pm index 8cb221afb..de552b7c8 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -47,7 +47,7 @@ sub sign { $_[0] <=> 0 } sub product { fold_left { $a * $b } @_ } sub first { $_[0] } sub second { $_[1] } -sub top { $_[$#_] } +sub top { $_[-1] } sub uniq { my %l; @l{@_} = (); keys %l } sub to_int { $_[0] =~ /(\d*)/; $1 } sub to_float { $_[0] =~ /(\d*(\.\d*)?)/; $1 } diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 8df3a9f49..74d653756 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -328,7 +328,7 @@ sub formatPartitions { sub choosePackages { $o->setPackages if $_[1] == 1; $o->selectPackagesToUpgrade($o) if $o->{isUpgrade} && $_[1] == 1; - $o->choosePackages($o->{packages}, $o->{compss}, $o->{compssUsers}); + $o->choosePackages($o->{packages}, $o->{compss}, $o->{compssUsers}, $_[1] == 1); $o->{packages}{$_}{selected} = 1 foreach @{$o->{base}}; } diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 8bcc53898..b2041a11c 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -193,6 +193,12 @@ sub beforeInstallPackages { sub installPackages($$) { my ($o, $packages) = @_; + + while (my ($k, $v) = each %{$o->{compssUsersChoice}}) { + $v or next; + pkgs::select($packages, $_) foreach @{$o->{compssUsers}{$k}}; + } + #- hack to ensure proper ordering for installation of packages. my @firstToInstall = qw(basesystem sed); my %firstInstalled; diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 2b207cbe3..d1c5338b4 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -232,15 +232,12 @@ sub selectPackagesToUpgrade { sub choosePackages { my ($o, $packages, $compss, $compssUsers) = @_; my %s; - + $o->ask_many_from_list_ref('', _("Package Group Selection"), [ keys %$compssUsers ], - [ map { \$s{$_} } keys %$compssUsers ] - ) or return; - foreach (grep { $s{$_} } keys %s) { - pkgs::select($o->{packages}, $_) foreach @{$compssUsers->{$_}}; - } + [ map { \$o->{compssUsersChoice}{$_} } keys %$compssUsers ] + ); } #------------------------------------------------------------------------------ sub configureNetwork($) { @@ -481,7 +478,7 @@ applicable user name, password, and workgroup information."), return 0; }, ); - install_any::pkg_install($o, 'samba') unless $::testing; + install_any::pkg_install($o, 'samba'); } elsif ($o->{printer}{TYPE} eq "NCP") { return if !$o->ask_from_entries_ref(_("NetWare Printer Options"), _("To print to a NetWare printer, you need to provide the @@ -493,7 +490,7 @@ wish to access and any applicable user name and password."), [\$o->{printer}{NCPHOST}, \$o->{printer}{NCPQUEUE}, \$o->{printer}{NCPUSER}, {val => \$o->{printer}{NCPPASSWD}, hidden => 1}], ); - install_any::pkg_install($o, 'ncpfs') unless $::testing; + install_any::pkg_install($o, 'ncpfs'); } my $action; @@ -534,10 +531,10 @@ wish to access and any applicable user name and password."), $o->ask_from_entries_refH('', _("Printer options"), [ _("Paper Size") => { val => \$o->{printer}{PAPERSIZE}, type => 'list', , not_edit => !$::expert, list => \@printer::papersize_type }, _("Eject page after job?") => { val => \$o->{printer}{AUTOSENDEOF}, type => 'bool' }, -$#list_res > 0 ? ( +@list_res > 1 ? ( _("Resolution") => { val => \$o->{printer}{RESOLUTION}, type => 'list', , not_edit => !$::expert, list => \@res } ) : (), _("Fix stair-stepping text?") => { val => \$o->{printer}{CRLF}, type => "bool" }, -$#list_col > 0 ? ( +@list_col > 1 ? ( $is_uniprint ? ( _("Uniprint driver options") => { val => \$o->{printer}{BITSPERPIXEL}, type => 'list', , not_edit => !$::expert, list => \@col } ) : ( _("Color depth options") => { val => \$o->{printer}{BITSPERPIXEL}, type => 'list', , not_edit => !$::expert, list => \@col } ), ) : () @@ -592,8 +589,9 @@ _("Password (again)") => { val => \$sup->{password2}, hidden => 1 }, $o->{installClass} eq "server" || $::expert ? ( _("Use shadow file") => { val => \$o->{authentification}{shadow}, type => 'bool', text => _("shadow") }, _("Use MD5 passwords") => { val => \$o->{authentification}{md5}, type => 'bool', text => _("MD5") }, - ) : (), $::beginner ? () : -_("Use NIS") => { val => \$o->{authentification}{NIS}, type => 'bool', text => _("yellow pages") } + ) : (), $::beginner ? () : ( +_("Use NIS") => { val => \$o->{authentification}{NIS}, type => 'bool', text => _("yellow pages") }, + ) ], complete => sub { $sup->{password} eq $sup->{password2} or $o->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return (1,1); @@ -634,8 +632,9 @@ sub addUser($) { $o->{security} < 2 ? () : ( _("Password") => {val => \$u->{password}, hidden => 1}, _("Password (again)") => {val => \$u->{password2}, hidden => 1}, - ), $::beginner ? () : + ), $::beginner ? () : ( _("Shell") => {val => \$u->{shell}, list => \@shells, not_edit => !$::expert} + ), ], focus_out => sub { if ($_[0] eq 0) { diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm index ced261891..fb4d5488c 100644 --- a/perl-install/interactive_gtk.pm +++ b/perl-install/interactive_gtk.pm @@ -54,7 +54,7 @@ sub ask_many_from_list_refW($$$$$) { my ($o, $title, $messages, $list, $val) = @_; my $w = my_gtk->new('', %$o); my $box = gtkpack(new Gtk::VBox(0,0), - map { + map_index { my $i = $::i; my $o = Gtk::CheckButton->new($_); $o->set_active(${$val->[$i]}); diff --git a/perl-install/share/list b/perl-install/share/list index cda42dfca..fd8ce8fca 100644 --- a/perl-install/share/list +++ b/perl-install/share/list @@ -1,3 +1,4 @@ +/bin/ash /bin/cpio /lib/libnss_nis.so.2 /lib/libnss_files.so.2 @@ -11,7 +12,6 @@ /sbin/mke2fs /usr/bin/bzip2 /usr/bin/perl -/usr/bin/zsh /usr/lib/libimlib-png.so /usr/lib/gtk/themes/engines/libpixmap.so /usr/lib/gtk/themes/engines/libpixmap.la |