diff options
author | Oliver Tappe | 2008-03-17 23:15:09 +0100 |
---|---|---|
committer | Oliver Tappe | 2008-03-17 23:15:09 +0100 |
commit | 249147e1be89bc83da65fa08e8a5b796387049c1 (patch) | |
tree | db663386e8711011f3f0e284456de91cbfc782c8 /installer/OpenSLX/OSSetup/Engine.pm | |
parent | * added getStage3Attrs() (diff) | |
download | core-249147e1be89bc83da65fa08e8a5b796387049c1.tar.gz core-249147e1be89bc83da65fa08e8a5b796387049c1.tar.xz core-249147e1be89bc83da65fa08e8a5b796387049c1.zip |
* renamed getPackagesForSelection() to getInstallablePackagesForSelection()
and changed the semantics to automatically exclude packages that are already
installed
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1646 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/Engine.pm')
-rw-r--r-- | installer/OpenSLX/OSSetup/Engine.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm index dd8d98d5..59057336 100644 --- a/installer/OpenSLX/OSSetup/Engine.pm +++ b/installer/OpenSLX/OSSetup/Engine.pm @@ -689,7 +689,7 @@ sub metaPackager return $self->{'meta-packager'}; } -sub getPackagesForSelection +sub getInstallablePackagesForSelection { my $self = shift; my $selKey = shift; @@ -698,8 +698,13 @@ sub getPackagesForSelection my $selection = $self->{'distro-info'}->{selection}->{$selKey}; return if !$selection; + + my @pkgs = split m{\s+}, $selection->{packages}; + my %installedPkgs; + @installedPkgs{ $self->{'packager'}->getInstalledPackages() } = (); + @pkgs = grep { !exists $installedPkgs{$_} } @pkgs; - return $selection->{packages}; + return join ' ', @pkgs; } sub busyboxBinary |