diff options
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Debian.pm | 25 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm | 25 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Ubuntu.pm | 25 |
3 files changed, 66 insertions, 9 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian.pm b/installer/OpenSLX/OSSetup/Distro/Debian.pm index a9ba8281..c8c02cdd 100644 --- a/installer/OpenSLX/OSSetup/Distro/Debian.pm +++ b/installer/OpenSLX/OSSetup/Distro/Debian.pm @@ -88,13 +88,32 @@ sub preSystemInstallationHook chmod 0755, '/usr/sbin/invoke-rc.d'; } -sub postSystemInstallationHook +sub startSession { - my $self = shift; + my $self = shift; + my $osDir = shift; + + $self->SUPER::startSession($osDir); + + # As in preSystemInstallationHook, we replace /usr/sbin/invoke-rc.d by a + # dummy. + # + # During installation, this might not exist yet, so we better check + if (-e '/usr/sbin/invoke-rc.d') { + 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'; + } +} + +sub finishSession +{ + my $self = shift; # restore /usr/sbin/invoke-rc.d rename('/usr/sbin/_invoke-rc.d', '/usr/sbin/invoke-rc.d'); - $self->SUPER::postSystemInstallationHook(); + + $self->SUPER::finishSession(); } sub setPasswordForUser diff --git a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm index 7f390bc1..e6ea3722 100644 --- a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm +++ b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm @@ -43,13 +43,32 @@ sub preSystemInstallationHook chmod 0755, '/usr/sbin/mkinitrd'; } -sub postSystemInstallationHook +sub startSession { - my $self = shift; + my $self = shift; + my $osDir = shift; + + $self->SUPER::startSession($osDir); + + # As in preSystemInstallationHook, we replace /usr/sbin/mkinitrd with a + # dummy, in order to skip the initrd-creation. + # + # During installation, this might not exist yet, so we better check + if (-e '/usr/sbin/mkinitrd') { + rename('/usr/sbin/mkinitrd', '/usr/sbin/_mkinitrd'); + spitFile('/usr/sbin/mkinitrd', "#! /bin/sh\ntouch \$2\n"); + chmod 0755, '/usr/sbin/mkinitrd'; + } +} + +sub finishSession +{ + my $self = shift; # restore /usr/sbin/mkinitrd rename('/usr/sbin/_mkinitrd', '/usr/sbin/mkinitrd'); - $self->SUPER::postSystemInstallationHook(); + + $self->SUPER::finishSession(); } 1;
\ No newline at end of file diff --git a/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm index 5e7e41ea..c0660818 100644 --- a/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm +++ b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm @@ -88,13 +88,32 @@ sub preSystemInstallationHook chmod 0755, '/usr/sbin/invoke-rc.d'; } -sub postSystemInstallationHook +sub startSession { - my $self = shift; + my $self = shift; + my $osDir = shift; + + $self->SUPER::startSession($osDir); + + # As in preSystemInstallationHook, we replace /usr/sbin/invoke-rc.d by a + # dummy. + # + # During installation, this might not exist yet, so we better check + if (-e '/usr/sbin/invoke-rc.d') { + 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'; + } +} + +sub finishSession +{ + my $self = shift; # restore /usr/sbin/invoke-rc.d rename('/usr/sbin/_invoke-rc.d', '/usr/sbin/invoke-rc.d'); - $self->SUPER::postSystemInstallationHook(); + + $self->SUPER::finishSession(); } 1;
\ No newline at end of file |