]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
fix pseudo packages obsoleting other pseudo packages
authorMichael Schroeder <mls@suse.de>
Tue, 18 Feb 2014 14:25:01 +0000 (15:25 +0100)
committerMichael Schroeder <mls@suse.de>
Fri, 21 Feb 2014 17:00:35 +0000 (18:00 +0100)
This was broken with commit #ea033e29, which fixed pseudo packages
obsoleting real packages.

src/transaction.c

index 5fe90db5bf140634eca3801df5e3be609cc10de6..6a3dae941136b71166fc48176df784a1f2def2a0 100644 (file)
@@ -266,8 +266,8 @@ transaction_type(Transaction *trans, Id p, int mode)
        return type;
       if (s->repo == pool->installed)
        {
-         /* check if we're obsoleted by pseudos only */
-         if (obsoleted_by_pseudos_only(trans, s - pool->solvables))
+         /* check if we're a real package that is obsoleted by pseudos */
+         if (!is_pseudo_package(pool, s) && obsoleted_by_pseudos_only(trans, s - pool->solvables))
            return SOLVER_TRANSACTION_ERASE;
          return SOLVER_TRANSACTION_IGNORE;     /* ignore as we're being obsoleted */
        }