diff options
author | Francois Pons <fpons@mandriva.com> | 2000-08-01 09:31:06 +0000 |
---|---|---|
committer | Francois Pons <fpons@mandriva.com> | 2000-08-01 09:31:06 +0000 |
commit | 32b7ffb237019699a63af09d6b41401fd8874054 (patch) | |
tree | f14499252762c819b35dbd0b32d2f279657f4c75 /perl-install/pkgs.pm | |
parent | bdf21fd3a04d47a91e2bf1d920f86c84138742e0 (diff) | |
download | drakx-32b7ffb237019699a63af09d6b41401fd8874054.tar drakx-32b7ffb237019699a63af09d6b41401fd8874054.tar.gz drakx-32b7ffb237019699a63af09d6b41401fd8874054.tar.bz2 drakx-32b7ffb237019699a63af09d6b41401fd8874054.tar.xz drakx-32b7ffb237019699a63af09d6b41401fd8874054.zip |
*** empty log message ***
Diffstat (limited to 'perl-install/pkgs.pm')
-rw-r--r-- | perl-install/pkgs.pm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 3bf3f2e93..af23fe99d 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -314,22 +314,24 @@ sub unselectPackage($$;$) { foreach my $provided ($pkg, packageProvides($pkg)) { packageFlagBase($provided) and die "a provided package cannot be a base package"; if (packageFlagSelected($provided)) { - $otherOnly or packageSetFlagSelected($provided, 0); - $otherOnly and $otherOnly->{packageName($provided)} = 1; + my $unselect_alone = 0; foreach (packageDepsId($provided)) { if (/\|/) { #- this package use a choice of other package, so we have to check #- if our package is not included in the choice, if this is the #- case, if must be checked one of the other package are selected. - my $unselect_alone = 0; foreach (split '\|') { my $dep = packageById($packages, $_); $dep == $pkg and $unselect_alone |= 1; packageFlagBase($dep) || packageFlagSelected($dep) and $unselect_alone |= 2; } - $unselect_alone == 3 and return; } } + #- provided will not be unselect here if the two conditions are met. + $unselect_alone == 3 and next; + #- on the other hand, provided package have to be unselected. + $otherOnly or packageSetFlagSelected($provided, 0); + $otherOnly and $otherOnly->{packageName($provided)} = 1; } foreach (map { split '\|' } packageDepsId($provided)) { my $dep = packageById($packages, $_); |