diff options
author | Oliver Tappe | 2008-06-08 11:45:03 +0200 |
---|---|---|
committer | Oliver Tappe | 2008-06-08 11:45:03 +0200 |
commit | eb511029e991bd1a8b6b7ed6f2fab0606b817f37 (patch) | |
tree | 73043099cb293b3aa2ee1125265a138498598d3a /os-plugins | |
parent | * switch default meta-packager for SUSE-10.2 onwards from smart to zypper (diff) | |
download | core-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')
-rw-r--r-- | os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm | 18 |
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!" |