diff options
author | Oliver Tappe | 2008-04-21 14:51:24 +0200 |
---|---|---|
committer | Oliver Tappe | 2008-04-21 14:51:24 +0200 |
commit | 4193b0262f4b26c97c8b41b0a375d786d1690995 (patch) | |
tree | 3c0e45a580bfc29163e5ceeb4ad21bf76c4d0de6 /os-plugins/plugins/desktop/OpenSLX/Distro | |
parent | Quickfix for failing stage3 start if desktop plugin was installed (diff) | |
download | core-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.pm | 21 | ||||
-rw-r--r-- | os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm | 13 | ||||
-rw-r--r-- | os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm | 23 | ||||
-rw-r--r-- | os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm | 24 |
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 |