summaryrefslogtreecommitdiffstats
path: root/perl-install/install
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mandriva.org>2010-04-02 14:49:40 +0000
committerPascal Terjan <pterjan@mandriva.org>2010-04-02 14:49:40 +0000
commit0163a29466f06a90f25616cb6222ea794164dbc7 (patch)
treecf57eb2a7b6fb52e6cdbee9f91aad41f41bcc2e1 /perl-install/install
parent0417bad42b03bddcade76f8466d3ea625801106e (diff)
downloaddrakx-0163a29466f06a90f25616cb6222ea794164dbc7.tar
drakx-0163a29466f06a90f25616cb6222ea794164dbc7.tar.gz
drakx-0163a29466f06a90f25616cb6222ea794164dbc7.tar.bz2
drakx-0163a29466f06a90f25616cb6222ea794164dbc7.tar.xz
drakx-0163a29466f06a90f25616cb6222ea794164dbc7.zip
Use all included levels to resolv dependencies instead of doing it level by level
Diffstat (limited to 'perl-install/install')
-rw-r--r--perl-install/install/NEWS2
-rw-r--r--perl-install/install/pkgs.pm6
2 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index 6b9869901..f65b513cf 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,4 +1,4 @@
-- compute dependencies on full list of packages from a rpmsrate level instead
+- compute dependencies on full list of packages from rpmsrate levels instead
of doing it individually
Version 13.17 - 31 March 2010
diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm
index 2b08b2a42..9a24a6f40 100644
--- a/perl-install/install/pkgs.pm
+++ b/perl-install/install/pkgs.pm
@@ -384,11 +384,15 @@ sub setSelectedFromCompssList {
$pkgs{$p->rate} ||= {};
$pkgs{$p->rate}{$p->id} = 1 if _packageRequest($packages, $p);
}
+ my %pkgswanted = {};
foreach my $level (sort { $b <=> $a } keys %pkgs) {
#- determine the packages that will be selected
#- the packages are not selected.
my $state = $packages->{state} ||= {};
- my ($l, $_error) = _resolve_requested_and_check($packages, $state, $pkgs{$level});
+ foreach my $p (keys %{$pkgs{$level}}) {
+ $pkgswanted{$p} = 1;
+ }
+ my ($l, $_error) = _resolve_requested_and_check($packages, $state, \%pkgswanted);
#- this enable an incremental total size.
my $old_nb = $nb;