diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-07-16 08:19:56 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2013-07-17 08:31:40 +0300 |
commit | ed06091189daaf87d1feee3ed282d1d0f1682e0e (patch) | |
tree | 30e2ff77ff95f2807b789f0e638325642a43dc4d | |
parent | 21d4e9243ae7445d9a797a169177501022d6e2fa (diff) | |
download | apk-tools-ed06091189daaf87d1feee3ed282d1d0f1682e0e.tar.gz apk-tools-ed06091189daaf87d1feee3ed282d1d0f1682e0e.tar.bz2 apk-tools-ed06091189daaf87d1feee3ed282d1d0f1682e0e.tar.xz apk-tools-ed06091189daaf87d1feee3ed282d1d0f1682e0e.zip |
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
-rw-r--r-- | src/solver.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) |