diff options
author | Oliver Tappe | 2008-03-12 18:47:18 +0100 |
---|---|---|
committer | Oliver Tappe | 2008-03-12 18:47:18 +0100 |
commit | 859a8a0fecf71976afd027c83d2c9030c61cc539 (patch) | |
tree | 86bd5607cd0d1bb68d2f176d8755c5fa17217a7f /installer | |
parent | * fixed potential use of uninitialized value (diff) | |
download | core-859a8a0fecf71976afd027c83d2c9030c61cc539.tar.gz core-859a8a0fecf71976afd027c83d2c9030c61cc539.tar.xz core-859a8a0fecf71976afd027c83d2c9030c61cc539.zip |
* added support for specifying more than one base selection (e.g. base = kde,gnome)
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1627 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer')
-rw-r--r-- | installer/OpenSLX/OSSetup/Engine.pm | 17 |
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; |