summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/Distro/Suse.pm
diff options
context:
space:
mode:
Diffstat (limited to 'installer/OpenSLX/OSSetup/Distro/Suse.pm')
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Suse.pm15
1 files changed, 13 insertions, 2 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Suse.pm b/installer/OpenSLX/OSSetup/Distro/Suse.pm
index 82ab97c5..e41e919a 100644
--- a/installer/OpenSLX/OSSetup/Distro/Suse.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Suse.pm
@@ -36,8 +36,19 @@ sub initialize
my $engine = shift;
$self->SUPER::initialize($engine);
- $self->{'packager-type'} = 'rpm';
- $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'smart';
+ $self->{'packager-type'} = 'rpm';
+
+ # use 'zypper' as meta-packager from 10.2 onwards and use 'smart' for
+ # older releases
+ my $defaultMetaPackager = 'zypper';
+ if ($self->{'engine'}->{'distro-name'} =~ m{-([^-]+)$}) {
+ my $distroVersion = 0.0 + $1;
+ if ($distroVersion < 10.2) {
+ $defaultMetaPackager = 'smart';
+ }
+ }
+ $self->{'meta-packager-type'}
+ = $ENV{SLX_META_PACKAGER} || $defaultMetaPackager;
if ($engine->{'action-type'} eq 'install') {
# Inform SUSE RPMs that we're performing an installation - this is