« Return to Thread: [Cooker] postgresql conflict

Re: [Cooker] postgresql conflict

by Anssi Hannula-3 :: Rate this Message:

Reply to Author | View in Thread

Frank Griffin wrote:
> Anssi Hannula wrote:
>> Frank, please provide output with --debug option.
>>
> [root@ftglap ftg]# urpmi --auto-select --debug
[...]
> Installation failed:
>     postgresql-libs < 8.3.6-3mdv2009.1 conflicts with
> libpq8.3_5-8.3.6-3mdv2009.1.i586
> Installation failed:
>     postgresql-libs < 8.3.6-3mdv2009.1 conflicts with

Try attached patch on /usr/lib/perl5/vendor_perl/5.10.0/*/URPM/Resolve.pm.

--
Anssi Hannula

Index: URPM/Resolve.pm
===================================================================
--- URPM/Resolve.pm (revision 253707)
+++ URPM/Resolve.pm (working copy)
@@ -996,6 +996,9 @@
 
     _handle_conflicts($urpm, $db, $state, $pkg, \@properties, \%diff_provides_h, $options{keep} && \@keep);
 
+    #- abort if _handle_conflicts unselected this package
+    exists $state->{selected}{$pkg->id} or next;
+
     #- examine if an existing package does not conflict with this one.
     $db->traverse_tag('whatconflicts', [ $pkg->provides_nosense ], sub {
  @keep and return;
@@ -1039,8 +1042,15 @@
  if (my ($n, $o, $v) = property2name_op_version($_)) {
     foreach my $p ($urpm->packages_providing($n)) {
  $pkg == $p and next;
- $p->name eq $n && (!$o || eval($p->compare($v) . $o . 0)) or next;
- _set_rejected_from($state, $p, $pkg);
+ $p->provides_overlap($_) or next;
+ if (exists $state->{selected}{$p->id}) {
+    disable_selected($urpm, $db, $state, $pkg);
+    _set_rejected_from($state, $pkg, $p);
+    _add_rejected_backtrack($state, $pkg, { conflict => [ $p ] });
+    return;
+ } else {
+    _set_rejected_from($state, $p, $pkg);
+ }
     }
  }
  if (my ($file) = m!^(/[^\s\[]*)!) {

 « Return to Thread: [Cooker] postgresql conflict