diff options
author | Dirk von Suchodoletz | 2008-08-10 13:36:37 +0200 |
---|---|---|
committer | Dirk von Suchodoletz | 2008-08-10 13:36:37 +0200 |
commit | 70751e69e798db509a385e17b15be20ca1b9a683 (patch) | |
tree | e50d293ef69cd0513e78500e05ca303114d8f3d1 /os-plugins/plugins/xserver/OpenSLX | |
parent | Use the proper quotes (double quotes) here ... (diff) | |
download | core-70751e69e798db509a385e17b15be20ca1b9a683.tar.gz core-70751e69e798db509a385e17b15be20ca1b9a683.tar.xz core-70751e69e798db509a385e17b15be20ca1b9a683.zip |
Extension to the xserver plugin (for later integration of the
non-gpl drivers stuff) ...
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2012 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/xserver/OpenSLX')
-rw-r--r-- | os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm | 77 | ||||
-rw-r--r-- | os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm | 43 | ||||
-rw-r--r-- | os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm | 47 | ||||
-rw-r--r-- | os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm | 43 | ||||
-rw-r--r-- | os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm | 37 |
5 files changed, 243 insertions, 4 deletions
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm new file mode 100644 index 00000000..bce3a03b --- /dev/null +++ b/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm @@ -0,0 +1,77 @@ +# Copyright (c) 2008 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# xserver/OpenSLX/Distro/Base.pm +# - provides base implementation of the Distro API for the xserver plugin. +# ----------------------------------------------------------------------------- +package xserver::OpenSLX::Distro::Base; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use File::Basename; + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ +sub new +{ + my $class = shift; + my $self = {}; + return bless $self, $class; +} + +sub initialize +{ + my $self = shift; + $self->{engine} = shift; + + return 1; +} + +sub setupXserverScript +{ + my $self = shift; + my $repoPath = shift; + + my $pathInfo = $self->XserverPathInfo(); + my $configFile = $pathInfo->{config}; + + my $script = unshiftHereDoc(<<" End-of-Here"); + # xserver.sh (base part) + # written by OpenSLX-plugin 'xserver' + # repoPath is $repoPath + + End-of-Here + + return $script; +} + +# not used yet, kept as example +sub XserverPathInfo +{ + my $self = shift; + + my $pathInfo = { + config => '/etc/X11/xorg.conf', + paths => [ + '/usr/bin', + ], + }; + + return $pathInfo; +} + +1; diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm new file mode 100644 index 00000000..fe43b2e6 --- /dev/null +++ b/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm @@ -0,0 +1,43 @@ +# Copyright (c) 2008 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# xserver/OpenSLX/Distro/Ubuntu.pm +# - provides Ubuntu-specific overrides of the distro API for the xserver +# plugin. +# ----------------------------------------------------------------------------- +package xserver::OpenSLX::Distro::Ubuntu; + +use strict; +use warnings; + +use base qw(xserver::OpenSLX::Distro::Base); + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + +sub setupXserverScript +{ + my $self = shift; + my $repoPath = shift; + + my $script = $self->SUPER::setupXserverScript($repoPath); + + $script .= unshiftHereDoc(<<' End-of-Here'); + # debian specific extension to stage3 xserver.sh + End-of-Here + + return $script; +} + +1;
\ No newline at end of file diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm new file mode 100644 index 00000000..e81a0217 --- /dev/null +++ b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm @@ -0,0 +1,47 @@ +# Copyright (c) 2008 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# xserver/OpenSLX/Distro/Suse.pm +# - provides SUSE-specific overrides of the Distro API for the xserver +# plugin. +# ----------------------------------------------------------------------------- +package xserver::OpenSLX::Distro::Suse; + +use strict; +use warnings; + +use base qw(xserver::OpenSLX::Distro::Base); + +use File::Path; + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + +sub setupXserverScript +{ + my $self = shift; + my $repoPath = shift; + + my $script = $self->SUPER::setupXserverScript($repoPath); + + $script .= unshiftHereDoc(<<' End-of-Here'); + # suse specific extension to stage3 xserver.sh + testmkd /mnt/var/X11R6/X + ln -s /usr/bin/Xorg /mnt/var/X11R6/X + End-of-Here + + return $script; +} + +1; diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm new file mode 100644 index 00000000..bf691b67 --- /dev/null +++ b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm @@ -0,0 +1,43 @@ +# Copyright (c) 2008 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# xserver/OpenSLX/Distro/Ubuntu.pm +# - provides Ubuntu-specific overrides of the distro API for the xserver +# plugin. +# ----------------------------------------------------------------------------- +package xserver::OpenSLX::Distro::Ubuntu; + +use strict; +use warnings; + +use base qw(xserver::OpenSLX::Distro::Base); + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + +sub setupXserverScript +{ + my $self = shift; + my $repoPath = shift; + + my $script = $self->SUPER::setupXserverScript($repoPath); + + $script .= unshiftHereDoc(<<' End-of-Here'); + # ubuntu specific extension to stage3 xserver.sh + End-of-Here + + return $script; +} + +1;
\ No newline at end of file diff --git a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm index 5cc8dcfc..2a367fa2 100644 --- a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm +++ b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm @@ -72,6 +72,35 @@ sub getAttrInfo # plugin specific attributes start here ... + # stage1 + 'xserver::ati' => { + applies_to_vendor_os => 1, + description => unshiftHereDoc(<<' End-of-Here'), + should the non-gpl ATI drivers be available (installed in vendor-OS - not implemented yet)? + End-of-Here + content_regex => qr{^0|1$}, + content_descr => '"0", "1" or "-" (for unset)', + default => undef, + }, + 'xserver::nvidia' => { + applies_to_vendor_os => 1, + description => unshiftHereDoc(<<' End-of-Here'), + should the non-gpl NVidia drivers be available (installed in vendor-OS - not implemented yet)? + End-of-Here + content_regex => qr{^0|1$}, + content_descr => '"0", "1" or "-" (for unset)', + default => undef, + }, + #'xserver::matrox' => { + # applies_to_vendor_os => 1, + # description => unshiftHereDoc(<<' End-of-Here'), + # should the non-gpl Matrox drivers (e.g. for the Parhelia) be + # available (installed in vendor-OS)? + # End-of-Here + # content_regex => qr{^0|1$}, + # content_descr => '"0", "1" or "-" (for unset)', + # default => undef, + #}, }; } @@ -97,10 +126,10 @@ sub installationPhase # chroot my $attrs = $info->{'plugin-attrs'}; # attributes in effect for this installation - - # for this example plugin, we simply create two files: - spitFile("$pluginRepoPath/right", "(-;\n"); - spitFile("$pluginRepoPath/left", ";-)\n"); + + # write the distro specific extension (inclusion) of XX_xserver.sh + my $script = $self->{distro}->setupXserverScript($pluginRepoPath); + spitFile("$pluginRepoPath/xserver.sh", $script); # Some plugins have to copy files from their plugin folder into the # vendor-OS. Here's an example for how to do that: |