From ed06091189daaf87d1feee3ed282d1d0f1682e0e Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 16 Jul 2013 08:19:56 +0000
Subject: 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(-)

(limited to 'src')

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)
-- 
cgit v1.2.3-70-g09d2