From 9484d29d09adfa27b8fef6e89a40a9b3e4c1bf1c Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Tue, 18 Feb 2014 15:42:07 +0100 Subject: [PATCH] change last commit to check for SOLVER_TRANSACTION_KEEP_PSEUDO --- src/transaction.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/transaction.c b/src/transaction.c index e7d3e59..7dac0a8 100644 --- a/src/transaction.c +++ b/src/transaction.c @@ -292,14 +292,14 @@ transaction_type(Transaction *trans, Id p, int mode) if ((mode & SOLVER_TRANSACTION_RPM_ONLY) != 0) { /* application wants to know what to feed to the package manager */ - if (is_pseudo_package(pool, s)) + if (!(mode & SOLVER_TRANSACTION_KEEP_PSEUDO) && 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 (obsoleted_by_pseudos_only(trans, s - pool->solvables)) + 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 */ } -- 2.7.4