diff options
author | Pascal Terjan <pterjan@mandriva.org> | 2010-04-02 14:49:40 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mandriva.org> | 2010-04-02 14:49:40 +0000 |
commit | 0163a29466f06a90f25616cb6222ea794164dbc7 (patch) | |
tree | cf57eb2a7b6fb52e6cdbee9f91aad41f41bcc2e1 /perl-install | |
parent | 0417bad42b03bddcade76f8466d3ea625801106e (diff) | |
download | drakx-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')
-rw-r--r-- | perl-install/install/NEWS | 2 | ||||
-rw-r--r-- | perl-install/install/pkgs.pm | 6 |
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; |