summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/xserver/OpenSLX
diff options
context:
space:
mode:
Diffstat (limited to 'os-plugins/plugins/xserver/OpenSLX')
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm212
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm50
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm89
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm63
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm360
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm361
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm53
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm96
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm73
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm30
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm396
11 files changed, 0 insertions, 1783 deletions
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 51c1c60b..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright (c) 2008..2010 - 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 File::Path;
-use Scalar::Util qw( weaken );
-
-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;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- 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' (via xserver/Distro/Base.pm module)
-
- # generating the base configuration file (might be split into several
- # files for newer Xorg servers)
- echo -e "# ${xfc#/mnt*}\n# autogenerated X hardware configuration by \
- the xserver plugin in OpenSLX stage3\n# DO NOT EDIT THIS FILE BUT THE PLUGIN \
- INSTEAD" >${xfc}
- # using variables defined in XX_xserver.sh
- echo -e "${x_modpath}\n${x_srvflags}\n${x_modules}" >>${xfc}
- echo -e "${x_keyboard}\n${x_mouse}\n${x_videocard}" >>${xfc}
- echo -e "${x_monitor}\n${x_screen}\n${x_srvlayout}\n${x_dri}" >>${xfc}
- # if no module was detected, stick to vesa module
- if [ -n "$xmodule" ] ; then
- sed "s/vesa/$xmodule/;s/\"us\"/\"${XKEYBOARD}\"/" -i ${xfc}
- else
- sed "s/\"us\"/\"${XKEYBOARD}\"/" -i ${xfc}
- fi
- if [ -n "${BUSID}" ]; then
- sed -e "s,^#.*BusID .*, BusID \"${BUSID}\",g" -i ${xfc}
- fi
- # end of base xorg.conf generation
-
- 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;
-}
-
-
-# looks for the NVIDIA-installer and extracts it
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my @paths = glob $repopath.$pkgpath."/NVIDIA-Linux-x86*\n";
- my $paths = @paths;
-
- if ($paths > 1)
- {
- print "Found more than one NVIDIA-Linux-x86 installer. Taking first one.\n";
- }
- if ($paths == 0)
- {
- print "Found no NVIDIA-Linux-x86 installer. Quitting NVIDIA installation!\n";
- return "error";
- }
-
- if ( ! -X $paths[0] )
- {
- system("chmod +x ".$paths[0]);
- }
- system($paths[0]." -x --target $repopath/nvidia/temp >/dev/null 2>&1");
-
- if($? == -1 )
- {
- print "Failed to execute ".$paths[0]."\n";
- return "error";
- }
-
- system("mv $repopath/nvidia/temp/usr/src $repopath/nvidia/temp/");
- system("mv $repopath/nvidia/temp/usr/ $repopath/nvidia/");
- rmtree("$repopath/nvidia/usr/share/");
-
- return "$repopath/nvidia/temp/src/nv";
-}
-
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my @paths = glob $repopath."/".$pkgpath."/ati-driver-installer*";
- my $paths = @paths;
-
- if ($paths > 1)
- {
- print "Found more than one ati-driver-installer. Taking first one.\n";
- }
- if ($paths == 0)
- {
- print "Found no ati-driver-installer. Quitting ATI installation!\n";
- return "error";
- }
-
- if ( ! -X $paths[0] )
- {
- system("chmod +x ".$paths[0]);
- }
- system($paths[0]." --extract $repopath/ati/temp >/dev/null 2>&1");
-
- if($? == -1 )
- {
- print "Failed to execute ".$paths[0]."\n";
- return "error";
- }
-
- # TODO: allow x86_64 driver installation (libs)
- my $arch = "x86";
-
- rmtree("$repopath/ati/usr");
- system("mv $repopath/ati/temp/common/usr $repopath/ati/");
- if (!-d "$repopath/ati/usr/lib" ) {
- mkdir "$repopath/ati/usr/lib";
- }
- system("mv $repopath/ati/temp/arch/$arch/usr/X11R6/lib/* $repopath/ati/usr/lib/");
- system("mv $repopath/ati/temp/arch/$arch/usr/lib/* $repopath/ati/usr/lib/");
- rmtree("$repopath/ati/usr/share/");
-
- my $cmd='gcc --version | head -n 1 | sed -e "s/[^0-9. ]//g;s/^ *//;s/^\(.\)\..*$/\1/"';
- my $gcc_ver_maj =`$cmd`;
- chomp($gcc_ver_maj);
-
- system("mv $repopath/ati/temp/arch/$arch/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$gcc_ver_maj $repopath/ati/temp/common/lib/modules/fglrx/build_mod/");
-
-
- return "$repopath/ati/temp/common/lib/modules/fglrx/build_mod";
-}
-
-# get dkms with wget/tar and put it into /sbin
-sub getdkms
-{
- if( !-f "/sbin/dkms") {
- if(!-f "dkms-2.0.21.1.tar.gz" ) {
- system("wget http://linux.dell.com/dkms/permalink/dkms-2.0.21.1.tar.gz >/dev/null 2>&1");
- die("Could not download dkms tarball! Exiting!") if($? > 0 );
- }
- if(!-f "dkms-2.0.21.1/dkms" ) {
- system("tar -zxvf dkms-2.0.21.1.tar.gz dkms-2.0.21.1/dkms >/dev/null 2>&1");
- die("Could not extract dkms script from tarball! Exiting!") if($? > 0 );
- }
- copyFile("dkms-2.0.21.1/dkms","/sbin");
- chmod 0755, "/sbin/dkms";
- }
-}
-
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 29156e60..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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/Debian.pm
-# - provides Debian-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Debian;
-
-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
- testmkd /mnt/var/lib/xkb
- End-of-Here
-
- return $script;
-}
-
-# stage3 script might need to add special path /var/X11R6/bin to the PATH variable
-# # fixme!! add path directly to /etc/profile!?
-# #[ "x$addpath" != "x" ] && \
-# # echo -e "# added path component by $0: $date\n\
-# #PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 7a706019..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (c) 2008..2010 - 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;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- # add stuff to the script generated via Base.pm
- $script .= unshiftHereDoc(<<' End-of-Here');
- # SuSE specific extension to stage3 xserver.sh
- testmkd /mnt/etc/X11/xorg.conf.d
- # Add InputClass to proper setup the keyboard and other input
- echo 'Section "InputClass"
- Identifier "evdev pointer catchall"
- MatchIsPointer "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev keyboard catchall"
- MatchIsKeyboard "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev touchpad catchall"
- MatchIsTouchpad "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev tablet catchall"
- MatchIsTablet "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev touchscreen catchall"
- MatchIsTouchscreen "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection' >/mnt/etc/X11/xorg.conf.d/10-evdev.conf
- # Xorg hardware is autodetected, so no module information provided
- [ -z "${xmodule}" ] && \
- sed "/Section \"Device\"/,/EndSection/d" -i ${xfc}
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/lib/X11
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/lib/X11/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm
deleted file mode 100644
index f0c3ebb8..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2008..2010 - 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_10.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_10;
-
-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/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- # use the old kbd keyboard driver instead of evdev
- sed "s/\"evdev\"/,/\"kbd\"/" -i ${xfc}
- # relevant for older xservers only: check for kind of xorg module used
- # and patch the i8,9XX VGA BIOS if needed
- #if strinfile '"i810"' $xfc && [ -f /etc/hwinfo.display ] ; then
- # highres=$(sort -run /etc/hwinfo.display|grep -i x -m 1)
- # 915resolution -l|sed -n "s/Mode //;/32 bits/p" > /tmp/915res
- # strinfile ${highres} /tmp/915res || {
- # 915resolution $(grep -i x -m 1 /tmp/915res|sed "s/\ :.*//") $(echo \
- # $highres|sed "s/x/\ /") 2>&1 >/dev/null;
- # # for some reason the above does not work for a Dell laptop with Intel
- # # 855 chipset, so add another mode too
- # 915resolution 3c $(echo $highres|sed "s/x/\ /") 2>&1 >/dev/null; }
- #fi
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm
deleted file mode 100644
index 4117c421..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright (c) 2008..2010 - 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_11_0.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_0;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### 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/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-# This function needs wget installed
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/nvidia/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "ftp://download.nvidia.com/opensuse/$version/$chost";
-
- print " * Downloading NVIDIA rpm from ftp://download.nvidia.com/opensuse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/nvidia-gfxG01-kmp-$ksuffix* >/dev/null 2>&1");
-
- if($? > 0) {
- print "Could not download nvidia kernel module rpm!\n";
- }
-
- my @rpm = glob "$tmpdir/nvidia-gfxG01*.rpm";
- my $rpm = @rpm;
- $rpm[0] =~ /nvidia-gfxG01-kmp-$ksuffix-(.*?)_(.*?)-.*?\.$chost.rpm/;
-
- my $nv_kver = $2;
- $nv_kver =~ s/_/-/g;
-
- if($rpm == 0) {
- print "Could not download nvidia kernel module rpm!";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/nvidia/modules/")
- {
- mkdir("$repopath/nvidia/modules/");
- }
-
-
- # since kernel 2.6.25.20-0.1 there has to be a call to ld
- # ld -r -m elf_i386 -o ../modules/nvidia.ko lib/modules/2.6.25.20-0.4-pae/updates/{nv-kernel,nv-linux}.o
-
- my $nv_path = glob "$tmpdir/lib/modules/*-$ksuffix/updates/";
- if ( -f "$nv_path/nv-kernel.o" ) {
- # we have to link our kernel module here
- system("ld -r -m elf_i386 -o $nv_path/nvidia.ko $nv_path/{nv-kernel,nv-linux}.o");
- }
-
- copyFile("$nv_path/nvidia.ko", "$repopath/nvidia/modules");
-
-
- my @versions = split(/-/, $rpm[0]);
- my @nv_versions = split('_',$versions[5]);
- my $nv_version = $nv_versions[0];
-
- system("wget -P $tmpdir -t2 -T2 $url/x11-video-nvidiaG01-$nv_version* >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-nvidiaG01-$nv_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print "Could not download x11-video-nvidiaG01-$nv_version*.rpm!\n";
- print "Exiting nvidia driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/nvidia/");
-
- rmtree($tmpdir);
-
-}
-
-# this function needs wget
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/ati/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "http://www2.ati.com/suse/$version/";
-
- print " * Downloading ATI rpm from http://www2.ati.com/suse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/repodata/primary.xml.gz >/dev/null 2>&1");
-
- my $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$kver_ati.*?$chost.rpm"`;
- chomp($url2);
-
- if($url2 eq '') {
- # Taking more general kernel version (minus local suse version)
- my $newkernvers = '';
- if($kver_ati =~ /(.*)_(.*?)$/) {
- # if we have a match here
- $newkernvers = $1;
- }
- else {
- # just try the old method
- $newkernvers = substr $kver_ati, 0, -4;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
- else {
- # Minus local Suse version number - hoping, there was no ABI change
- if($newkernvers =~ /(.*).(.*?)$/) {
- # here we try with yet another older kernel version
- $newkernvers = $1;
- }
- else {
- $newkernvers = substr $kver_ati, 0, -7;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
-
- }
- }
-
-# print "KVER = $kver; CHOST = $chost; ksuffix=$ksuffix\n";
-# system("bash");
-
- if($url2 eq '') {
- print "No ATI module rpm for the chosen kernel version ($kver) found! Exiting!\n";
- return;
- }
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- my @rpm = glob "$tmpdir/ati-fglrxG01-kmp-$ksuffix*$chost.rpm";
- my $rpm = @rpm;
-
- if($rpm == 0) {
- print "Could not download ATI kernel module rpm (for kernel $kver)!\n";
- print "Consider downgrading your Kernel! \nTrying package-install!\n";
- $self->installAtiOldStyle(@_);
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir("$repopath/ati/modules/");
- }
- copyFile("$tmpdir/lib/modules/$kver*-$ksuffix/updates/fglrx.ko",
- "$repopath/ati/modules");
-
- my @versions = split(/-/, $rpm[0]);
- my @ati_versions = split('_',$versions[5]);
- my $ati_version = $ati_versions[0];
-
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/x11-video-fglrxG01-$ati_version-.*?.$chost.rpm"`;
- chomp($url2);
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-fglrxG01-$ati_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print " Could not download x11-video-fglrxG01-$ati_version*.rpm!\n";
- print " Exiting ATI driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/ati/");
- system("mv $tmpdir/etc $repopath/ati/");
- if( ! -d "/usr/X11R6/lib/modules/dri/" ) {
- system("mkdir -p /usr/X11R6/lib/modules/dri/");
- }
- symlink("$repopath/ati/usr/lib/dri/fglrx_dri.so","/usr/X11R6/lib/modules/dri/fglrx_dri.so");
-
- rmtree($tmpdir);
-}
-
-
-
-sub installAtiOldStyle
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
-
- my $ret = $self->SUPER::installAti(@_);
-
- if($ret =~ /^error$/) {
- print "Something went wrong installing ATI files!\n";
- return;
- }
-
- $self->SUPER::getdkms();
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- # here we have to compile the kernel modules for all kernels
- #
- my $ati_version = `head $repopath/$pkgpath/ati-driver-installer-*.run | grep -P -o '[0-9]+\.[0-9]{3}' | tail -n1`;
- chomp($ati_version);
-
- system("mv $ret /usr/src/fglrx-$ati_version >/dev/null 2>&1");
-
- open FH,">/usr/src/fglrx-$ati_version/dkms.conf";
- print FH "DEST_MODULE_LOCATION=/updates\n";
- print FH "PACKAGE_NAME=fglrx\n";
- print FH "PACKAGE_VERSION=$ati_version\n";
- close FH;
-
- my $cmd = "#============= Executing following command =============\n".
- "/sbin/dkms ".
- " -m fglrx -v $ati_version ".
- " -k $kver-$ksuffix ".
- " --kernelsourcedir /usr/src/linux-$kver-obj/i586/$ksuffix ".
- " --no-prepare-kernel ".
- " --no-clean-kernel ".
- " build >/dev/null 2>&1 \n".
- "#==========================================================";
-
-#print $cmd;
- if(!-f "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- system("/sbin/dkms add -m fglrx -v $ati_version >/dev/null 2>&1");
- system($cmd);
- #if ($? > 0) {
- # print "\n\nCould not compile module! Exit with Ctrl-D\n";
- # system("/bin/bash");
- #}
- }
-
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir( "$repopath/ati/modules/" );
- }
-
- if( -e "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- copyFile("/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko",
- "$repopath/ati/modules");
- }
- else {
- print "Could not install ati driver via pkg-installer!\n";
- rmtree($repopath."/ati");
- return;
- }
- rmtree("$repopath/ati/temp");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm
deleted file mode 100644
index ab543549..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm
+++ /dev/null
@@ -1,361 +0,0 @@
-# Copyright (c) 2008..2010 - 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_11_1.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_1;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### 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/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-# This function needs wget installed
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/nvidia/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "ftp://download.nvidia.com/opensuse/$version/$chost";
-
- print " * Downloading NVIDIA rpm from ftp://download.nvidia.com/opensuse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/nvidia-gfxG01-kmp-$ksuffix* >/dev/null 2>&1");
-
- if($? > 0) {
- print "Could not download nvidia kernel module rpm!\n";
- }
-
- my @rpm = glob "$tmpdir/nvidia-gfxG01*.rpm";
- my $rpm = @rpm;
- $rpm[0] =~ /nvidia-gfxG01-kmp-$ksuffix-(.*?)_(.*?)-.*?\.$chost.rpm/;
-
- my $nv_kver = $2;
- $nv_kver =~ s/_/-/g;
-
- if($rpm == 0) {
- print "Could not download nvidia kernel module rpm!";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/nvidia/modules/")
- {
- mkdir("$repopath/nvidia/modules/");
- }
-
-
- # since kernel 2.6.25.20-0.1 there has to be a call to ld
- # ld -r -m elf_i386 -o ../modules/nvidia.ko lib/modules/2.6.25.20-0.4-pae/updates/{nv-kernel,nv-linux}.o
-
- my $nv_path = glob "$tmpdir/lib/modules/*-$ksuffix/updates/";
- if ( -f "$nv_path/nv-kernel.o" ) {
- # we have to link our kernel module here
- system("ld -r -m elf_i386 -o $nv_path/nvidia.ko $nv_path/{nv-kernel,nv-linux}.o");
- }
-
- copyFile("$nv_path/nvidia.ko", "$repopath/nvidia/modules");
-
-
- my @versions = split(/-/, $rpm[0]);
- my @nv_versions = split('_',$versions[5]);
- my $nv_version = $nv_versions[0];
-
- system("wget -P $tmpdir -t2 -T2 $url/x11-video-nvidiaG01-$nv_version* >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-nvidiaG01-$nv_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print "Could not download x11-video-nvidiaG01-$nv_version*.rpm!\n";
- print "Exiting nvidia driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/nvidia/");
-
- rmtree($tmpdir);
-
-}
-
-
-# this function needs wget
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/ati/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "http://www2.ati.com/suse/$version/";
-
- print " * Downloading ATI rpm from http://www2.ati.com/suse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/repodata/primary.xml.gz >/dev/null 2>&1");
-
- my $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$kver_ati.*?$chost.rpm"`;
- chomp($url2);
-
- if($url2 eq '') {
- # Taking more general kernel version (minus local suse version)
- my $newkernvers = '';
- if($kver_ati =~ /(.*)_(.*?)$/) {
- # if we have a match here
- $newkernvers = $1;
- }
- else {
- # just try the old method
- $newkernvers = substr $kver_ati, 0, -4;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
- else {
- # Minus local Suse version number - hoping, there was no ABI change
- if($newkernvers =~ /(.*).(.*?)$/) {
- # here we try with yet another older kernel version
- $newkernvers = $1;
- }
- else {
- $newkernvers = substr $kver_ati, 0, -7;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
-
- }
- }
-
-# print "KVER = $kver; CHOST = $chost; ksuffix=$ksuffix\n";
-# system("bash");
-
- if($url2 eq '') {
- print "No ATI module rpm for the chosen kernel version ($kver) found! Exiting!\n";
- return;
- }
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- my @rpm = glob "$tmpdir/ati-fglrxG01-kmp-$ksuffix*$chost.rpm";
- my $rpm = @rpm;
-
- if($rpm == 0) {
- print "Could not download ATI kernel module rpm (for kernel $kver)!\n";
- print "Consider downgrading your Kernel! \nTrying package-install!\n";
- $self->installAtiOldStyle(@_);
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir("$repopath/ati/modules/");
- }
- copyFile("$tmpdir/lib/modules/$kver*-$ksuffix/updates/fglrx.ko",
- "$repopath/ati/modules");
-
- my @versions = split(/-/, $rpm[0]);
- my @ati_versions = split('_',$versions[5]);
- my $ati_version = $ati_versions[0];
-
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/x11-video-fglrxG01-$ati_version-.*?.$chost.rpm"`;
- chomp($url2);
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-fglrxG01-$ati_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print " Could not download x11-video-fglrxG01-$ati_version*.rpm!\n";
- print " Exiting ATI driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/ati/");
- system("mv $tmpdir/etc $repopath/ati/");
- if( ! -d "/usr/X11R6/lib/modules/dri/" ) {
- system("mkdir -p /usr/X11R6/lib/modules/dri/");
- }
- symlink("$repopath/ati/usr/lib/dri/fglrx_dri.so","/usr/X11R6/lib/modules/dri/fglrx_dri.so");
-
- rmtree($tmpdir);
-}
-
-
-
-sub installAtiOldStyle
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
-
- my $ret = $self->SUPER::installAti(@_);
-
- if($ret =~ /^error$/) {
- print "Something went wrong installing ATI files!\n";
- return;
- }
-
- $self->SUPER::getdkms();
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- # here we have to compile the kernel modules for all kernels
- #
- my $ati_version = `head $repopath/$pkgpath/ati-driver-installer-*.run | grep -P -o '[0-9]+\.[0-9]{3}' | tail -n1`;
- chomp($ati_version);
-
- system("mv $ret /usr/src/fglrx-$ati_version >/dev/null 2>&1");
-
- open FH,">/usr/src/fglrx-$ati_version/dkms.conf";
- print FH "DEST_MODULE_LOCATION=/updates\n";
- print FH "PACKAGE_NAME=fglrx\n";
- print FH "PACKAGE_VERSION=$ati_version\n";
- close FH;
-
- my $cmd = "#============= Executing following command =============\n".
- "/sbin/dkms ".
- " -m fglrx -v $ati_version ".
- " -k $kver-$ksuffix ".
- " --kernelsourcedir /usr/src/linux-$kver-obj/i586/$ksuffix ".
- " --no-prepare-kernel ".
- " --no-clean-kernel ".
- " build >/dev/null 2>&1 \n".
- "#==========================================================";
-
-#print $cmd;
- if(!-f "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- system("/sbin/dkms add -m fglrx -v $ati_version >/dev/null 2>&1");
- system($cmd);
- #if ($? > 0) {
- # print "\n\nCould not compile module! Exit with Ctrl-D\n";
- # system("/bin/bash");
- #}
- }
-
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir( "$repopath/ati/modules/" );
- }
-
- if( -e "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- copyFile("/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko",
- "$repopath/ati/modules");
- }
- else {
- print "Could not install ati driver via pkg-installer!\n";
- rmtree($repopath."/ati");
- return;
- }
- rmtree("$repopath/ati/temp");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm
deleted file mode 100644
index 5cddcef0..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2010 - 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_11_2.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_2;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### 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/lib/xkb/compiled
- testmkd /mnt/var/lib/X11
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/lib/X11/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- 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
deleted file mode 100644
index 057cf138..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright (c) 2008..2010 - 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
-################################################################################
-
-# needs to be implemented ...
-sub XserverPathInfo
-{
- my $self = shift;
-
- my $pathInfo = {
- config => '/etc/X11/xorg.openslx',
- paths => [
- '/usr/bin',
- ],
- };
-
- return $pathInfo;
-}
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- # overwriting script part from Base.pm
- $script = unshiftHereDoc(<<' End-of-Here');
- # Ubuntu specific extension to stage3 xserver.sh
- echo -e "# ${xfc#/mnt*}\n# autogenerated X hardware configuration by \
- the xserver plugin in OpenSLX stage3\n# DO NOT EDIT THIS FILE BUT THE PLUGIN \
- INSTEAD" >${xfc}
- # using variables defined in XX_xserver.sh
- echo -e "${x_modpath}\n${x_srvflags}\n${x_modules}" >>${xfc}
- echo "${x_keyboard}" | sed "s/kbd/evdev/" >>${xfc}
- echo -e "${x_mouse}\n${x_monitor}\n${x_screen}" >>${xfc}
- echo "${x_srvlayout}" | sed "/ Screen /d" >>${xfc}
- testmkd /mnt/etc/X11/xorg.conf.d
- testmkd /mnt/var/run/xauth
- testmkd /mnt/var/lib/xkb
- ln -sf /usr/bin/Xorg /mnt/etc/X11/X
- End-of-Here
-
- return $script;
-}
-
-
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh nvidia $distroName");
-
-}
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh ati $distroName");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm
deleted file mode 100644
index 1fa88446..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (c) 2008..2010 - 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_8.pm
-# - provides Ubuntu-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Ubuntu_8;
-
-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
- # use the old kbd keyboard driver instead of evdev
- sed "s/\"evdev\"/,/\"kbd\"/" -i ${xfc}
- testmkd /mnt/var/run/xauth
- testmkd /mnt/var/lib/xkb
- ln -sf /usr/bin/Xorg /mnt/etc/X11/X
- End-of-Here
-
- return $script;
-}
-
-
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh nvidia $distroName");
-
-}
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh ati $distroName");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm
deleted file mode 100644
index 80dccbc9..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2008..2010 - 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_9.pm
-# - provides Ubuntu-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Ubuntu_9;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Ubuntu_8);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
deleted file mode 100644
index b172dc22..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
+++ /dev/null
@@ -1,396 +0,0 @@
-# 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.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::xserver;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-use File::Basename;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'xserver',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- This plugin tries to configure the local Xorg-Server and
- integrates binary graphics drivers (closed sourced) into the system.
- Notice that you need to have kernel-headers installed to work properly.
- in some cases. You need to download the driver packages yourself and
- supply the download folder into the pkgpath option.
- End-of-Here
- precedence => 80,
- };
-}
-
-sub getAttrInfo
-{ # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'xserver::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'xserver::ddcinfo' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin use the ddcinfo (if available) for
- the monitor/tft setup? Might help in scenarios with resolutions
- configured much lower than physically possible. (0 ignore, 1 use)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 ignore ddcinfo, 1 use ddcinfo if available',
- default => '0',
- },
- 'xserver::driver' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- force to use defined driver
- End-of-Here
- content_regex => undef,
- content_descr => 'force to use defined driver',
- default => undef,
- },
- 'xserver::prefnongpl' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin use the non-gpl drivers for some graphic
- adaptors if available (0 prefer gpl, 1 use the nongpl)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 prefer gpl, 1 use the nongpl',
- default => '0',
- },
- 'xserver::multihead' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin configure multi-head setups of Xorg
- for different scenarios and dynamically added displays
- (not implemented yet)
- End-of-Here
- content_regex => undef,
- content_descr => '',
- default => '1',
- },
-
- # plugin specific attributes start here ...
-
- # stage1
- # Currently not needed in scenarios where distro specific packages are
- # available, but for example in SUSE 10.2 we use this method
- # -> provide downloaded packages here.
- 'xserver::pkgpath' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Path to downloaded ATI or Nvidia package
- End-of-Here
- content_regex => qr{^.+$}, # not empty
- content_descr => 'Path to Nvidia or ATI packages',
- default => '/root/xserver-pkgs',
- },
- '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"',
- default => '0',
- },
- '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"',
- default => '0',
- },
- #'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"',
- # default => '0',
- #},
- };
-}
-
-
-sub preInstallationPhase()
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
- $self->{vendorOsPath} = $info->{'vendor-os-path'};
-
-
- my $pkgpath = $self->{attrs}->{'xserver::pkgpath'};
- $pkgpath ||= "";
- my $installAti = $self->{attrs}->{'xserver::ati'};
- my $installNvidia = $self->{attrs}->{'xserver::nvidia'};
-
- if (! -d $pkgpath && ($installAti == 1 || $installNvidia == 1)) {
- print "\n\n * xserver::pkgpath: no such directory!\n";
- print " * xserver plugin can only install ATI or Nvidia driver\n";
- print " via operating system packaging (e.g. != SuSE-10.2)!\n";
- # exit 1 => xserver plugin is not getting installed because ati
- # or nvidia where selected but are not installable!
- # exit 1;
- }
-
- if (-d $pkgpath && ($installNvidia == 1 || $installAti == 1)) {
- system("cp -r $pkgpath $self->{pluginRepositoryPath}/packages");
- }
-
-}
-
-
-sub installationPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to install required files into the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- # ehh... every plugin has it's own different installationPhase
- # variable definition?
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $openslxBasePath = $info->{'openslx-base-path'};
- # the openslx base path (/opt/openslx) bind-mounted into the chroot
- my $openslxConfigPath = $info->{'openslx-config-path'};
- # the openslx config path (/etc/opt/openlsx) bind-mounted into the
- # chroot
- my $attrs = $info->{'plugin-attrs'};
- # attributes in effect for this installation
- my $vendorOSName = $self->{'os-plugin-engine'}->{'vendor-os-name'};
-
- # write the distro specific extension (inclusion) of XX_xserver.sh
- my $script = $self->{distro}->setupXserverScript($pluginRepoPath);
- spitFile("$pluginRepoPath/xserver.sh", $script);
-
- # if defined: build nvidia or ati binarys
- my $pluginFilesPath =
- "$openslxBasePath/lib/plugins/$self->{'name'}/files";
- my $installationPath = "$pluginRepoPath/";
- my $binDrivers = 0;
- my $engine = $self->{'os-plugin-engine'};
-
- # removeLinks is to remove Links to the files
- # TODO: In future versions this call can be removed - deprecated version
- $self->removeLinks();
-
- if ($attrs->{'xserver::nvidia'} == 1 || $attrs->{'xserver::ati'} == 1 ) {
- if($vendorOSName =~ /.*?ubuntu.*?/i)
- {
- if($vendorOSName =~ /.*?8.10|9.04|9.10.*?/i)
- {
- copyFile("$pluginFilesPath/ubuntu-ng-gfx-install.sh",
- "$installationPath");
- rename("$installationPath/ubuntu-ng-gfx-install.sh",
- "$installationPath/ubuntu-gfx-install.sh");
- }
- else
- {
- copyFile("$pluginFilesPath/ubuntu-gfx-install.sh", "$installationPath");
- }
- }
- $binDrivers = 1;
- }
- if ($attrs->{'xserver::ati'} == 1 ) {
- $self->{distro}->installAti($pluginRepoPath,"packages");
- }
- if ($attrs->{'xserver::nvidia'} == 1 ) {
- $self->{distro}->installNvidia($pluginRepoPath,"packages");
- }
-
- if ($binDrivers == 1) {
- $self->ldconf($info);
- system("chmod -R 755 $installationPath");
- }
-
- return;
-}
-
-sub removalPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to uninstall no longer required files from the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
-
-
- # TODO (in far future): Remove - linking is deprecated
- # Make sure nobody has installed the old plugin version
- $self->removeLinks();
-
- return;
-}
-
-
-
-# Create ld.so.conf for the binary drivers
-sub ldconf
-{
- my $self = shift;
- my $info = shift;
-
- my $attrs = $info->{'plugin-attrs'};
- my $ldincl = $info->{'plugin-repo-path'}.'/';
- my $ldpl = "/etc/ld.conf.preload";
- my $ldconf = "/etc/ld.so.conf";
- my $ldcache = "";
-
- if( -d $ldincl.'nvidia/') {
-
- ## WRITE ld.so.conf ##
-
- open(IN,'>'.$ldincl.'nvidia/ld.so.conf');
- print IN $ldincl."nvidia/usr/lib\n".$ldincl.'nvidia/usr/X11R6/lib';
- close(IN);
-
- ## CREATE DIFFERENT 'ld.so.cache' ##
-
- $ldcache = $ldincl.'/nvidia/ld.so.cache';
- system('sed -e "1s,^,include '.$ldincl.'nvidia/ld.so.conf\n,g" -i '.$ldconf);
- #print "Calling ldconfig to create $ldcache ... Please Wait\n";
- system('ldconfig -C '.$ldcache);
- system('sed -e "1d" -i '.$ldconf);
- }
-
-
- if( -d $ldincl.'ati/') {
- open(IN,'>'.$ldincl.'ati/ld.so.conf');
- print IN $ldincl."ati/usr/lib\n".$ldincl.'ati/usr/X11R6/lib';
- close(IN);
-
- $ldcache = $ldincl.'/ati/ld.so.cache';
- system('sed -e "1s,^,include '.$ldincl.'ati/ld.so.conf\n,g" -i '.$ldconf);
- #print "Calling ldconfig to create $ldcache ... Please Wait\n";
- system('ldconfig -C '.$ldcache);
- system('sed -e "1d" -i '.$ldconf);
- }
-}
-
-
-# deprecated
-# removes linked libraries from /usr/lib/
-sub removeLinks
-{
- my $instFolders = "/usr/lib";
- if(-d "/usr/X11R6/lib") {
- $instFolders .= " /usr/X11R6/lib";
- }
- my $divertFolder = "/var/X11R6/lib";
- my $pluginFolder = "/opt/openslx/plugin-repo/xserver";
-
- # get all previously installed links
- my @linkedFiles =
- `find $instFolders -lname "$divertFolder*" -o -lname "$pluginFolder*" `;
-
-
- # also remove _MESA backup files
- my @backupFiles =
- `find $instFolders -name "*_MESA.so*"`;
- my $origfile = '';
- for my $file (@backupFiles) {
- $origfile = $file;
- $file =~ s/_MESA//;
- rename($origfile,$file);
- }
- unlink "/usr/lib/libGL.so", "/usr/lib/libGL.so.1";
- symlink "/usr/lib/libGL.so.1.2", "/usr/lib/libGL.so.1";
- symlink "/usr/lib/libGL.so.1.2", "/usr/lib/libGL.so";
-
-
- foreach my $file (@linkedFiles) {
- chomp($file);
- unlink $file;
- }
-
- # this should not print any file at all ;-(
- my @files = `find $instFolders -lname "$divertFolder*" -o -lname "$pluginFolder*" `;
- if ( $#files > 0 ) {
- print "Links were not removed properly! Exiting!\n";
- my $bla;
- foreach (@files) {
- chomp($bla = $_);
- print $bla;
- }
- exit(1);
- }
- return;
-}
-
-1;