diff options
-rw-r--r-- | perl-install/common.pm | 2 | ||||
-rw-r--r-- | perl-install/install2.pm | 5 | ||||
-rw-r--r-- | perl-install/install_any.pm | 12 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 16 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 2 |
5 files changed, 30 insertions, 7 deletions
diff --git a/perl-install/common.pm b/perl-install/common.pm index 7a9bddc5d..481ce793f 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -224,7 +224,7 @@ sub syscall_ { sub crypt_ { - local $_ = (gettimeofday())[1] % 0x40; + local $_ = sprintf("%2d", (gettimeofday())[1] % 0x40); #- make sure it is 2 char long. tr [\0-\x3f] [0-9a-zA-Z./]; crypt($_[0], $_) } diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 353b054b1..2a388a5d0 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -320,6 +320,10 @@ sub choosePackages { sub doInstallStep { $o->readBootloaderConfigBeforeInstall if $_[1] == 1; + #- some packages need such files for proper installation. + install_any::write_ldsoconf($o->{prefix}); + fs::write($o->{prefix}, $o->{fstab}); + $o->beforeInstallPackages; $o->installPackages($o->{packages}); $o->afterInstallPackages; @@ -378,7 +382,6 @@ sub addUser { #------------------------------------------------------------------------------ #-PADTODO sub createBootdisk { - fs::write($o->{prefix}, $o->{fstab}); modules::write_conf("$o->{prefix}/etc/conf.modules", 'append'); $o->createBootdisk($_[1] == 1); } diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 96cd86be6..7d1929e03 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -247,3 +247,15 @@ sub searchAndMount4Upgrade { fs::mount_all([ grep { isExt2($_) || isSwap($_) } @{$o->{fstab}} ], $o->{prefix}); } } + +sub write_ldsoconf { + my ($prefix) = @_; + my $file = "$prefix/etc/ld.so.conf"; + + #- write a minimal ld.so.conf file unless it already exists. + unless (-s "$file") { + local *F; + open F, ">$file" or die "unable to open for writing $file"; + print F "/usr/lib\n"; + } +} diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 6794899f7..ffb2a14c4 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -181,10 +181,18 @@ sub beforeInstallPackages { sub installPackages($$) { my ($o, $packages) = @_; - #- my $toInstall = [ grep { $_->{selected} && !$_->{installed} } values %$packages ]; - my @toInstall = $packages->{basesystem}{selected} && !$packages->{basesystem}{installed} ? ($packages->{basesystem}) : (); - push @toInstall, grep { $_->{base} && $_->{selected} && !$_->{installed} } values %$packages; - push @toInstall, grep { !$_->{base} && $_->{selected} && !$_->{installed} } values %$packages; + #- hack to ensure proper ordering for installation of packages. + my @firstToInstall = qw(basesystem sed); + my %firstInstalled; + my @toInstall; + foreach (@firstToInstall) { + if ($packages->{$_}{selected} && !$packages->{$_}{installed}) { + push @toInstall, $packages->{$_}; + $firstInstalled{$_} = 1; #- avoid installing twice a package. + } + } + push @toInstall, grep { $_->{base} && $_->{selected} && !$_->{installed} && !$firstInstalled{$_->{name}} } values %$packages; + push @toInstall, grep { !$_->{base} && $_->{selected} && !$_->{installed} && !$firstInstalled{$_->{name}} } values %$packages; pkgs::install($o->{prefix}, \@toInstall); } diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 0282b6269..8fc12fe69 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -58,7 +58,7 @@ sub selectLanguage($) { $o->{useless_thing_accepted} = $o->ask_from_list_('', "Wanring no wrranty, be carfull it's gonna explose ytou romcpature", - [ _("Accept"), _("Refuse") ], "Accept") eq "Accept" or exit(1) unless $o->{useless_thing_accepted}; + [ _("Accept"), _("Refuse") ], _("Accept")) eq _("Accept") or exit(1) unless $o->{useless_thing_accepted}; } #------------------------------------------------------------------------------ |