diff options
Diffstat (limited to 'src/solver.c')
-rw-r--r-- | src/solver.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/solver.c b/src/solver.c index 2121dd9..25ea471 100644 --- a/src/solver.c +++ b/src/solver.c @@ -551,7 +551,8 @@ static int compare_providers(struct apk_solver_state *ss, return r; /* Prefer installed on self-upgrade */ - if (db->performing_self_upgrade && !(solver_flags & APK_SOLVERF_UPGRADE)) { + if ((db->performing_self_upgrade && !(solver_flags & APK_SOLVERF_UPGRADE)) || + (solver_flags & APK_SOLVERF_IGNORE_UPGRADE)) { r = (pkgA->ipkg != NULL) - (pkgB->ipkg != NULL); if (r) return r; @@ -580,7 +581,8 @@ static int compare_providers(struct apk_solver_state *ss, return r; /* Prefer installed */ - if (!(solver_flags & APK_SOLVERF_UPGRADE)) { + if (!(solver_flags & APK_SOLVERF_UPGRADE) || + (solver_flags & APK_SOLVERF_IGNORE_UPGRADE)) { r = (pkgA->ipkg != NULL) - (pkgB->ipkg != NULL); if (r) return r; |