From 249147e1be89bc83da65fa08e8a5b796387049c1 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Mon, 17 Mar 2008 22:15:09 +0000 Subject: * 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 --- installer/OpenSLX/OSSetup/Engine.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'installer/OpenSLX/OSSetup/Engine.pm') 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 -- cgit v1.2.3-55-g7522