diff options
Diffstat (limited to 'main/apk-tools/0002-solver-do-not-disqualify-already-disqualified-packag.patch')
-rw-r--r-- | main/apk-tools/0002-solver-do-not-disqualify-already-disqualified-packag.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/main/apk-tools/0002-solver-do-not-disqualify-already-disqualified-packag.patch b/main/apk-tools/0002-solver-do-not-disqualify-already-disqualified-packag.patch new file mode 100644 index 0000000000..d35e2b25af --- /dev/null +++ b/main/apk-tools/0002-solver-do-not-disqualify-already-disqualified-packag.patch @@ -0,0 +1,30 @@ +From 716d5d91dc331e59d250b053bcc12a3191c94dcd Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 16 Jul 2013 07:58:13 +0000 +Subject: [PATCH 2/2] solver: do not disqualify already disqualified packages + +We should not disqualify non-selectable packages as it would mark it as +dirty, forcing it to reconsider the name again, which could end up in +an endless loop. + +fixes #2135 +--- + src/solver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/solver.c b/src/solver.c +index bf57380..5383d0b 100644 +--- a/src/solver.c ++++ b/src/solver.c +@@ -313,7 +313,7 @@ static void exclude_non_providers(struct apk_solver_state *ss, struct apk_name * + dbg_printf("%s must provide %s\n", name->name, must_provide->name); + + foreach_array_item(p, name->providers) { +- if (p->pkg->name == must_provide) ++ if (p->pkg->name == must_provide || !p->pkg->ss.pkg_selectable) + goto next; + foreach_array_item(d, p->pkg->provides) + if (d->name == must_provide) +-- +1.8.3.2 + |