summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--installer/OpenSLX/OSSetup/Engine.pm17
1 files changed, 11 insertions, 6 deletions
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm
index 61db7f85..e539e8e3 100644
--- a/installer/OpenSLX/OSSetup/Engine.pm
+++ b/installer/OpenSLX/OSSetup/Engine.pm
@@ -1004,13 +1004,18 @@ sub _expandSelection
my $selection = $self->{'distro-info'}->{selection}->{$selKey};
if ($selection->{base}) {
- # add all packages from base selection to the current one:
- my $base = $selection->{base};
- return if !exists $self->{'distro-info'}->{selection}->{$base};
- my $baseSelection = $self->{'distro-info'}->{selection}->{$base};
- $self->_expandSelection($base, $seen);
+ # add all packages from base selection(s) to the current one:
+ my $basePackages = '';
+ for my $base (split ',', $selection->{base}) {
+ my $baseSelection = $self->{'distro-info'}->{selection}->{$base}
+ or die _tr(
+ 'base-selection "%s" is unknown (referenced in "%s")!',
+ $base, $selKey
+ );
+ $self->_expandSelection($base, $seen);
+ $basePackages .= $baseSelection->{packages} || '';
+ }
my $packages = $selection->{packages} || '';
- my $basePackages = $baseSelection->{packages} || '';
$selection->{packages} = $basePackages . "\n" . $packages;
}
return;