From: Michael Schroeder Date: Tue, 18 Feb 2014 14:25:01 +0000 (+0100) Subject: fix pseudo packages obsoleting other pseudo packages X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b27c58538212e7a47670b26ccc36e85c38ead488;p=thirdparty%2Flibsolv.git fix pseudo packages obsoleting other pseudo packages This was broken with commit #ea033e29, which fixed pseudo packages obsoleting real packages. --- diff --git a/src/transaction.c b/src/transaction.c index 538515be..f3a54ca3 100644 --- a/src/transaction.c +++ b/src/transaction.c @@ -255,8 +255,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 */ }