diff options
-rw-r--r-- | URPM/Resolve.pm | 24 | ||||
-rw-r--r-- | perl-URPM.spec | 5 |
2 files changed, 18 insertions, 11 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index 9b78d58..a7e7f25 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -354,16 +354,20 @@ sub resolve_packages_to_upgrade { #- check provides of existing package to see if a obsolete #- may allow selecting it. - foreach ($p->provides) { - if (my ($n) = /^([^\s\[]*)/) { - foreach my $pkg (@{$obsoletes{$n} || []}) { - next if $pkg->name eq $p->name; - foreach my $property ($pkg->obsoletes) { - if (ranges_overlap($property, $_)) { - #- the package being examined can be obsoleted. - #- do not set installed and provides flags. - $state->{requested}{$pkg->id} = $options{requested}; - return; + foreach my $property ($p->provides) { + #- only real provides should be taken into account, this means internal obsoletes + #- should be avoided. + unless (grep { ranges_overlap($property, $_) } $p->obsoletes) { + if (my ($n) = $property =~ /^([^\s\[]*)/) { + foreach my $pkg (@{$obsoletes{$n} || []}) { + next if $pkg->name eq $p->name; + foreach ($pkg->obsoletes) { + if (ranges_overlap($property, $_)) { + #- the package being examined can be obsoleted. + #- do not set installed and provides flags. + $state->{requested}{$pkg->id} = $options{requested}; + return; + } } } } diff --git a/perl-URPM.spec b/perl-URPM.spec index e34be73..5e45836 100644 --- a/perl-URPM.spec +++ b/perl-URPM.spec @@ -1,7 +1,7 @@ %define name perl-URPM %define real_name URPM %define version 0.04 -%define release 3mdk +%define release 4mdk %{expand:%%define rpm_version %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' rpm)} @@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jun 13 2002 François Pons <fpons@mandrakesoft.com> 0.04-4mdk +- fixed too many package selected on --auto-select. + * Thu Jun 13 2002 François Pons <fpons@mandrakesoft.com> 0.04-3mdk - fixed compare_pkg (invalid arch comparisons sometimes). - added (still unused) obsolete flag. |