diff options
author | Michael Schroeder <mls@suse.de> | 2014-02-18 15:34:40 +0100 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2014-02-18 15:34:40 +0100 |
commit | d657002d436bcaef1cd626eb566825961464ffde (patch) | |
tree | bbedd8ecdf66d1a8739f93ca71334dc52322e749 /src | |
parent | ae9c86853ada4230ca8cb788d0100e5a2bf2c359 (diff) | |
download | libsolv-d657002d436bcaef1cd626eb566825961464ffde.tar.gz libsolv-d657002d436bcaef1cd626eb566825961464ffde.tar.bz2 libsolv-d657002d436bcaef1cd626eb566825961464ffde.zip |
Always return IGNORE for pseudo packages in RPM_ONLY mode
The example codes already expect this behavior.
Diffstat (limited to 'src')
-rw-r--r-- | src/transaction.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/transaction.c b/src/transaction.c index b6f6bd7..e7d3e59 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 */ } |