]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Don't complain about constrains between two installed packages
authorMichael Schroeder <mls@suse.de>
Fri, 15 Nov 2019 12:01:45 +0000 (13:01 +0100)
committerMichael Schroeder <mls@suse.de>
Fri, 15 Nov 2019 12:01:45 +0000 (13:01 +0100)
src/rules.c

index 9ab14d2b80eff3cbfb1c6c3c7a13974b99734071..e31fe01b36fcda5842eefb58233cbae96163306c 100644 (file)
@@ -667,7 +667,7 @@ add_complex_deprules(Solver *solv, Id p, Id dep, int type, int dontfix, Queue *w
 
 #ifdef ENABLE_CONDA
 void
-add_conda_constrains_rule(Solver *solv, Id n, Id dep)
+add_conda_constrains_rule(Solver *solv, Id n, Id dep, int dontfix)
 {
   Pool *pool = solv->pool;
   Reldep *rd;
@@ -681,6 +681,8 @@ add_conda_constrains_rule(Solver *solv, Id n, Id dep)
       Id p2;
       if (p == n)
        continue;
+      if (dontfix && pool->solvables[p].repo == solv->installed)
+       continue;
       while ((p2 = pool->whatprovidesdata[pdep]) != 0 && p2 < p)
        pdep++;
       if (p == p2)
@@ -925,7 +927,7 @@ solver_addpkgrulesforsolvable(Solver *solv, Solvable *s, Map *m)
        {
          solvable_lookup_idarray(s, SOLVABLE_CONSTRAINS, &depq);
          for (i = 0; i < depq.count; i++)
-           add_conda_constrains_rule(solv, n, depq.elements[i]);
+           add_conda_constrains_rule(solv, n, depq.elements[i], dontfix);
        }
 #endif