summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup
diff options
context:
space:
mode:
authorOliver Tappe2008-03-24 11:54:23 +0100
committerOliver Tappe2008-03-24 11:54:23 +0100
commit4b35e3ae3b76a192d02e08940d56b4240cf2f52e (patch)
tree5f735abd72a42f08fdabec08f064ff54c2890af7 /installer/OpenSLX/OSSetup
parent* Switched from explicit cleanup functions to "resource acquisition by defini... (diff)
downloadcore-4b35e3ae3b76a192d02e08940d56b4240cf2f52e.tar.gz
core-4b35e3ae3b76a192d02e08940d56b4240cf2f52e.tar.xz
core-4b35e3ae3b76a192d02e08940d56b4240cf2f52e.zip
* Adjusted OSSetup::Distro implementations to apply necessary fixes as part of any
session, not just installation, since these must be executed for shell and plugin sessions, too. git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1679 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup')
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian.pm25
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm25
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Ubuntu.pm25
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