summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/desktop/OpenSLX/Distro
diff options
context:
space:
mode:
authorOliver Tappe2008-04-21 14:51:24 +0200
committerOliver Tappe2008-04-21 14:51:24 +0200
commit4193b0262f4b26c97c8b41b0a375d786d1690995 (patch)
tree3c0e45a580bfc29163e5ceeb4ad21bf76c4d0de6 /os-plugins/plugins/desktop/OpenSLX/Distro
parentQuickfix for failing stage3 start if desktop plugin was installed (diff)
downloadcore-4193b0262f4b26c97c8b41b0a375d786d1690995.tar.gz
core-4193b0262f4b26c97c8b41b0a375d786d1690995.tar.xz
core-4193b0262f4b26c97c8b41b0a375d786d1690995.zip
* intermediate check-in of recent work at the desktop plugin - GDM handling
now seems to work with SUSE and Ubuntu, but proper integration will have to wait until I have shaken off the flu git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1752 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/desktop/OpenSLX/Distro')
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm21
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm13
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm23
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm24
4 files changed, 69 insertions, 12 deletions
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm
index dffa1850..80be8bcf 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm
@@ -39,12 +39,20 @@ sub initialize
return 1;
}
+sub pathOf
+{
+ my $self = shift;
+ my $binary = shift;
+
+ return qx{which $binary 2>/dev/null};
+}
+
sub isInPath
{
my $self = shift;
my $binary = shift;
- my $path = qx{which $binary 2>/dev/null};
+ my $path = $self->pathOf($binary);
return $path ? 1 : 0;
}
@@ -98,13 +106,14 @@ sub GDMPathInfo
return $pathInfo;
}
-sub GDMRunlevelLinks
+sub patchGDMScript
{
my $self = shift;
+ my $script = shift;
+
+ # default implementation does nothing!
- return unshiftHereDoc(<<" End-of-Here");
- rllinker gdm 15 15
- End-of-Here
+ return $script;
}
sub GDMConfigHashForWorkstation
@@ -124,7 +133,7 @@ sub GDMConfigHashForWorkstation
Enable => 'false',
},
'greeter' => {
- AllowShutdown => 'true',
+ AllowShutdown => 'false',
Browser => 'false',
MinimalUID => '500',
SecureShutdown => 'false',
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm
index 361543e9..d8503973 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm
@@ -26,6 +26,17 @@ use OpenSLX::Utils;
### interface methods
################################################################################
-# TODO: implement!
+sub patchGDMScript
+{
+ my $self = shift;
+ my $script = shift;
+
+ $script .= unshiftHereDoc(<<' End-of-Here');
+ rllinker gdm 1 1
+ echo '/usr/bin/gdm' > /mnt/etc/X11/default-display-manager
+ End-of-Here
+ return $script;
+}
+
1; \ No newline at end of file
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
index 2c3818cd..99d8dc70 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
@@ -26,14 +26,29 @@ use OpenSLX::Utils;
### interface methods
################################################################################
-sub GDMRunlevelLinks
+sub GDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::GDMPathInfo();
+
+ # link gdm.conf-custom instead of gdm.conf
+ $pathInfo->{config} = '/etc/X11/gdm/gdm.conf-custom';
+
+ return $pathInfo;
+}
+
+sub patchGDMScript
{
my $self = shift;
+ my $script = shift;
- return unshiftHereDoc(<<" End-of-Here");
- rllinker earlygdm 1 15
- rllinker xdm 15 1
+ $script .= unshiftHereDoc(<<' End-of-Here');
+ rllinker xdm 1 1
+ sed -i 's/DISPLAYMANAGER=.*/DISPLAYMANAGER="gdm"/' \
+ /mnt/etc/sysconfig/displaymanager
End-of-Here
+ return $script;
}
1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
index 7cd8ebc7..bcbfe768 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
@@ -26,6 +26,28 @@ use OpenSLX::Utils;
### interface methods
################################################################################
-# TODO: implement!
+sub GDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::GDMPathInfo();
+
+ # link gdm.conf-custom instead of gdm.conf
+ $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
+
+ return $pathInfo;
+}
+
+sub patchGDMScript
+{
+ my $self = shift;
+ my $script = shift;
+
+ $script .= unshiftHereDoc(<<' End-of-Here');
+ rllinker gdm 1 1
+ echo '/usr/sbin/gdm' > /mnt/etc/X11/default-display-manager
+ End-of-Here
+ return $script;
+}
1; \ No newline at end of file