From: Michael Schroeder Date: Tue, 18 Feb 2014 14:34:40 +0000 (+0100) Subject: Always return IGNORE for pseudo packages in RPM_ONLY mode X-Git-Tag: 0.6.4~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d657002d436bcaef1cd626eb566825961464ffde;p=thirdparty%2Flibsolv.git Always return IGNORE for pseudo packages in RPM_ONLY mode The example codes already expect this behavior. --- diff --git a/src/transaction.c b/src/transaction.c index b6f6bd74..e7d3e59d 100644 --- a/src/transaction.c +++ b/src/transaction.c @@ -291,13 +291,15 @@ transaction_type(Transaction *trans, Id p, int mode) if ((mode & SOLVER_TRANSACTION_RPM_ONLY) != 0) { - /* application wants to know what to feed to rpm */ + /* application wants to know what to feed to the package manager */ + if (is_pseudo_package(pool, s)) + return SOLVER_TRANSACTION_IGNORE; if (type == SOLVER_TRANSACTION_ERASE || type == SOLVER_TRANSACTION_INSTALL || type == SOLVER_TRANSACTION_MULTIINSTALL) return type; if (s->repo == pool->installed) { /* 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)) + if (obsoleted_by_pseudos_only(trans, s - pool->solvables)) return SOLVER_TRANSACTION_ERASE; return SOLVER_TRANSACTION_IGNORE; /* ignore as we're being obsoleted */ }