diff options
Diffstat (limited to 'installer')
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Debian.pm | 5 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Ubuntu.pm | 3 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Engine.pm | 14 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Packager/Base.pm | 4 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Packager/rpm.pm | 20 |
5 files changed, 12 insertions, 34 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian.pm b/installer/OpenSLX/OSSetup/Distro/Debian.pm index e430abd4..a514f10f 100644 --- a/installer/OpenSLX/OSSetup/Distro/Debian.pm +++ b/installer/OpenSLX/OSSetup/Distro/Debian.pm @@ -80,8 +80,9 @@ sub preSystemInstallationHook # replace /usr/sbin/invoke-rc.d by a dummy, in order to avoid a whole lot # of initscripts being started. Wishful thinking: there should be another - # way to stop Ubuntu from doing this, as this is not really very supportive - # of folder-based installations ... + # way to stop Debian from doing this, as this is not really very supportive + # of folder-based installations (then again: I may simply be too stupid + # to find out how it is supposed to work ...) rename('/usr/sbin/invoke-rc.d', '/usr/sbin/_invoke-rc.d'); spitFile('/usr/sbin/invoke-rc.d', "#! /bin/sh\nexit 0\n"); chmod 0755, '/usr/sbin/invoke-rc.d'; diff --git a/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm index 029c35c3..4ab5abbc 100644 --- a/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm +++ b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm @@ -81,7 +81,8 @@ sub preSystemInstallationHook # replace /usr/sbin/invoke-rc.d by a dummy, in order to avoid a whole lot # of initscripts being started. Wishful thinking: there should be another # way to stop Ubuntu from doing this, as this is not really very supportive - # of folder-based installations ... + # of folder-based installations (then again: I may simply be too stupid + # to find out how it is supposed to work ...) rename('/usr/sbin/invoke-rc.d', '/usr/sbin/_invoke-rc.d'); spitFile('/usr/sbin/invoke-rc.d', "#! /bin/sh\nexit 0\n"); chmod 0755, '/usr/sbin/invoke-rc.d'; diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm index 42a1923f..9b2c6aba 100644 --- a/installer/OpenSLX/OSSetup/Engine.pm +++ b/installer/OpenSLX/OSSetup/Engine.pm @@ -700,8 +700,9 @@ sub _readDistroInfo } # expand all selections: + my $seen = {}; foreach my $selKey (keys %{$self->{'distro-info'}->{selection}}) { - $self->_expandSelection($selKey); + $self->_expandSelection($selKey, $seen); } # dump distro-info, if asked for: @@ -942,7 +943,7 @@ sub _expandSelection { my $self = shift; my $selKey = shift; - my $seen = shift || {}; + my $seen = shift; return if $seen->{$selKey}; $seen->{$selKey} = 1; @@ -956,8 +957,9 @@ sub _expandSelection return if !exists $self->{'distro-info'}->{selection}->{$base}; my $baseSelection = $self->{'distro-info'}->{selection}->{$base}; $self->_expandSelection($base, $seen); - $selection->{packages} - = "$baseSelection->{packages}\n$selection->{packages}"; + my $packages = $selection->{packages} || ''; + my $basePackages = $baseSelection->{packages} || ''; + $selection->{packages} = $basePackages . "\n" . $packages; } return; } @@ -1406,10 +1408,6 @@ sub _stage1C_chrootAndInstallBasicVendorOS $self->{packager}->importTrustedPackageKeys(\@keyFiles, $stage1cDir); } - # install prerequired packages (if distro requires it) - $self->{packager}->installPrerequiredPackages( - $self->{'prereq-packages'}, $stage1cDir - ); # install bootstrap packages $self->{packager}->installPackages( $self->{'bootstrap-packages'}, $stage1cDir diff --git a/installer/OpenSLX/OSSetup/Packager/Base.pm b/installer/OpenSLX/OSSetup/Packager/Base.pm index c33b690b..55211183 100644 --- a/installer/OpenSLX/OSSetup/Packager/Base.pm +++ b/installer/OpenSLX/OSSetup/Packager/Base.pm @@ -49,10 +49,6 @@ sub importTrustedPackageKeys { } -sub installPrerequiredPackages -{ -} - sub installPackages { } diff --git a/installer/OpenSLX/OSSetup/Packager/rpm.pm b/installer/OpenSLX/OSSetup/Packager/rpm.pm index 0fd502a0..db1e7e1f 100644 --- a/installer/OpenSLX/OSSetup/Packager/rpm.pm +++ b/installer/OpenSLX/OSSetup/Packager/rpm.pm @@ -40,9 +40,7 @@ sub bootstrap foreach my $pkg (@$pkgs) { vlog(2, "unpacking package $pkg..."); if (slxsystem("ash", "-c", "rpm2cpio $pkg | cpio -i -d -u")) { - warn _tr("unable to unpack package <%s> (%s)", $pkg, $!); - # TODO: change this back to die() if cpio-ing fedora6-glibc - # doesn't crash anymore... (needs busybox update, I suppose) + die _tr("unable to unpack package <%s> (%s)", $pkg, $!); } } return; @@ -65,22 +63,6 @@ sub importTrustedPackageKeys return; } -sub installPrerequiredPackages -{ - my $self = shift; - my $pkgs = shift; - my $finalPath = shift; - - return unless defined $pkgs && scalar(@$pkgs); - - if (slxsystem("rpm", "--root=$finalPath", "-ivh", "--nodeps", "--noscripts", - "--force", @$pkgs)) { - die _tr("error during prerequired-package-installation (%s)\n", $!); - } - slxsystem("rm", "-rf", "$finalPath/var/lib/rpm"); - return; -} - sub installPackages { my $self = shift; |