diff options
Diffstat (limited to 'src/os-plugins/plugins/vmchooser/OpenSLX/Distro')
4 files changed, 210 insertions, 0 deletions
diff --git a/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm new file mode 100644 index 00000000..43e4ea1f --- /dev/null +++ b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm @@ -0,0 +1,64 @@ +# 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/ +# ----------------------------------------------------------------------------- +# vmchooser/OpenSLX/Distro/Base.pm +# - provides base implementation of the Distro API for the vmchooser plugin. +# ----------------------------------------------------------------------------- +package vmchooser::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 copyDefaultSession +{ + my $self = shift; + my $pluginroot = shift; + + + # Take the default path of SuSE + # (as we have the most experience with it) + if( -f "/etc/X11/session/default.desktop") { + rename("/etc/X11/session/default.desktop", + "/etc/X11/session/default.desktop.back") + } + copyFile("$pluginroot/default.desktop","/etc/X11/session"); + + return 1; +}
\ No newline at end of file diff --git a/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm new file mode 100644 index 00000000..173f249e --- /dev/null +++ b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm @@ -0,0 +1,49 @@ +# 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/ +# ----------------------------------------------------------------------------- +# vmchooser/OpenSLX/Distro/Debian.pm +# - provides Debian implementation of the Distro API for the vmchooser plugin. +# ----------------------------------------------------------------------------- +package vmchooser::OpenSLX::Distro::Debian; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use base qw(vmchooser::OpenSLX::Distro::Base); + +use File::Basename; +use File::Path; +use Scalar::Util qw( weaken ); + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + +sub copyDefaultSession +{ + my $self = shift; + my $pluginroot = shift; + + + # Take the default path of SuSE + # (as we have the most experience with it) + if( -f "/usr/share/xsessions/default.desktop") { + rename("/usr/share/xsessions/default.desktop", + "/usr/share/xsessions/default.desktop.back") + } + copyFile("$pluginroot/default.desktop","/usr/share/xsessions"); + + return 1; +}
\ No newline at end of file diff --git a/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm new file mode 100644 index 00000000..c93a066b --- /dev/null +++ b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm @@ -0,0 +1,47 @@ +# 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/ +# ----------------------------------------------------------------------------- +# vmchooser/OpenSLX/Distro/Suse.pm +# - provides Suse implementation of the Distro API for the vmchooser plugin. +# ----------------------------------------------------------------------------- +package vmchooser::OpenSLX::Distro::Suse; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use base qw(vmchooser::OpenSLX::Distro::Base); + +use File::Basename; +use File::Path; +use Scalar::Util qw( weaken ); + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + +sub copyDefaultSession +{ + my $self = shift; + my $pluginroot = shift; + + # Take the default path of SuSE + # (as we have the most experience with it) + if( -f "/etc/X11/session/default.desktop") { + rename("/etc/X11/session/default.desktop", + "/etc/X11/session/default.desktop.back") + } + copyFile("$pluginroot/default.desktop","/etc/X11/session"); + return 1; +}
\ No newline at end of file diff --git a/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm new file mode 100644 index 00000000..1677321f --- /dev/null +++ b/src/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm @@ -0,0 +1,50 @@ +# 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/ +# ----------------------------------------------------------------------------- +# vmchooser/OpenSLX/Distro/Ubuntu.pm +# - provides Ubuntu implementation of the Distro API for the vmchooser plugin. +# ----------------------------------------------------------------------------- +package vmchooser::OpenSLX::Distro::Ubuntu; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use base qw(vmchooser::OpenSLX::Distro::Base); + +use File::Basename; +use File::Path; +use Scalar::Util qw( weaken ); + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ + + +sub copyDefaultSession +{ + my $self = shift; + my $pluginroot = shift; + + + # Take the default path of SuSE + # (as we have the most experience with it) + if( -f "/usr/share/xsessions/default.desktop") { + rename("/usr/share/xsessions/default.desktop", + "/usr/share/xsessions/default.desktop.back") + } + copyFile("$pluginroot/default.desktop","/usr/share/xsessions"); + + return 1; +}
\ No newline at end of file |