aboutsummaryrefslogtreecommitdiffstats
path: root/URPM
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-07-19 08:50:44 +0000
committerFrancois Pons <fpons@mandriva.com>2002-07-19 08:50:44 +0000
commit9cdf4f302bcee100b4cd8492b0af1765772cc44b (patch)
treee6c6d58da6cf4a7a4d14ab8ab1243e94a61a5cd1 /URPM
parentb1639a0fc334d819296162dcd642fb5c0a25d899 (diff)
downloadperl-URPM-9cdf4f302bcee100b4cd8492b0af1765772cc44b.tar
perl-URPM-9cdf4f302bcee100b4cd8492b0af1765772cc44b.tar.gz
perl-URPM-9cdf4f302bcee100b4cd8492b0af1765772cc44b.tar.bz2
perl-URPM-9cdf4f302bcee100b4cd8492b0af1765772cc44b.tar.xz
perl-URPM-9cdf4f302bcee100b4cd8492b0af1765772cc44b.zip
0.11-1mdk
Diffstat (limited to 'URPM')
-rw-r--r--URPM/Resolve.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 6c1400a..8aafd9e 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -317,6 +317,20 @@ sub resolve_requested {
}
}
}
+
+ #- examine if an existing package does not conflicts with this one.
+ $db->traverse_tag('whatconflicts', [ $pkg->name ], sub {
+ my ($p) = @_;
+ foreach my $property ($p->conflicts) {
+ if (grep { ranges_overlap($_, $property) } $pkg->provides) {
+ $state->{conflicts}{$p->fullname}{$pkg->id} = undef;
+ #- all these packages should be removed.
+ $options{keep_state} or
+ $urpm->resolve_closure_ask_remove($db, $state, $p,
+ { conflicts => $property, pkg => $pkg });
+ }
+ }
+ });
}
if ($options{keep_state}) {