summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
diff options
context:
space:
mode:
authorOliver Tappe2008-06-08 11:45:03 +0200
committerOliver Tappe2008-06-08 11:45:03 +0200
commiteb511029e991bd1a8b6b7ed6f2fab0606b817f37 (patch)
tree73043099cb293b3aa2ee1125265a138498598d3a /os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
parent* switch default meta-packager for SUSE-10.2 onwards from smart to zypper (diff)
downloadcore-eb511029e991bd1a8b6b7ed6f2fab0606b817f37.tar.gz
core-eb511029e991bd1a8b6b7ed6f2fab0606b817f37.tar.xz
core-eb511029e991bd1a8b6b7ed6f2fab0606b817f37.zip
* improved attribute checks to protect against sub-systems not being installed
although they were requested - as happens currently when asking to install desktop into SUSE-10.3 with gnome=1 (but that distro does not yet know how to install GNOME). Now, trying to set desktop::kind=gnome for such a system will fail (since GNOME is not installed) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1863 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm')
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm18
1 files changed, 12 insertions, 6 deletions
diff --git a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm b/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
index 5c146016..68801357 100644
--- a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
@@ -217,7 +217,8 @@ sub checkStage3AttrValues
my $manager = $stage3Attrs->{'desktop::manager'} || '';
if ($manager eq 'kdm') {
- if (!defined $vendorOSAttrs->{'desktop::kdm'}) {
+ if (!defined $vendorOSAttrs->{'desktop::kdm'}
+ || $vendorOSAttrs->{'desktop::kdm'} == 1) {
if (!$self->{distro}->isKDMInstalled()) {
push @problems, _tr(
"KDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
@@ -231,7 +232,8 @@ sub checkStage3AttrValues
}
}
elsif ($manager eq 'gdm') {
- if (!defined $vendorOSAttrs->{'desktop::gdm'}) {
+ if (!defined $vendorOSAttrs->{'desktop::gdm'}
+ || $vendorOSAttrs->{'desktop::gdm'} == 1) {
if (!$self->{distro}->isGDMInstalled()) {
push @problems, _tr(
"GDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
@@ -245,7 +247,8 @@ sub checkStage3AttrValues
}
}
elsif ($manager eq 'xdm') {
- if (!defined $vendorOSAttrs->{'desktop::xdm'}) {
+ if (!defined $vendorOSAttrs->{'desktop::xdm'}
+ || $vendorOSAttrs->{'desktop::xdm'} == 1) {
if (!$self->{distro}->isXDMInstalled()) {
push @problems, _tr(
"XDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
@@ -261,7 +264,8 @@ sub checkStage3AttrValues
my $kind = $stage3Attrs->{'desktop::kind'} || '';
if ($kind eq 'kde') {
- if (!defined $vendorOSAttrs->{'desktop::kde'}) {
+ if (!defined $vendorOSAttrs->{'desktop::kde'}
+ || $vendorOSAttrs->{'desktop::kde'} == 1) {
if (!$self->{distro}->isKDEInstalled()) {
push @problems, _tr(
"KDE is not installed in vendor-OS, so using it as desktop kind wouldn't work!"
@@ -275,7 +279,8 @@ sub checkStage3AttrValues
}
}
elsif ($kind eq 'gnome') {
- if (!defined $vendorOSAttrs->{'desktop::gnome'}) {
+ if (!defined $vendorOSAttrs->{'desktop::gnome'}
+ || $vendorOSAttrs->{'desktop::gnome'} == 1) {
if (!$self->{distro}->isGNOMEInstalled()) {
push @problems, _tr(
"GNOME is not installed in vendor-OS, so using it as desktop kind wouldn't work!"
@@ -289,7 +294,8 @@ sub checkStage3AttrValues
}
}
elsif ($kind eq 'xfce') {
- if (!defined $vendorOSAttrs->{'desktop::xfce'}) {
+ if (!defined $vendorOSAttrs->{'desktop::xfce'}
+ || $vendorOSAttrs->{'desktop::xfce'} == 1) {
if (!$self->{distro}->isXFCEInstalled()) {
push @problems, _tr(
"XFCE is not installed in vendor-OS, so using it as desktop kind wouldn't work!"