summaryrefslogtreecommitdiff
path: root/src/commit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/commit.c')
-rw-r--r--src/commit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/commit.c b/src/commit.c
index 7ca39d3..5a411e1 100644
--- a/src/commit.c
+++ b/src/commit.c
@@ -659,7 +659,8 @@ static void discover_name(struct apk_name *name, int pkg_state)
foreach_array_item(p, name->providers) {
int state = pkg_state;
if (!p->pkg->marked) continue;
- if (state == STATE_PRESENT && !is_name_concrete(p->pkg, name))
+ if (state == STATE_PRESENT && !p->pkg->provider_priority &&
+ !is_name_concrete(p->pkg, name))
state = STATE_VIRTUAL_ONLY;
if (p->pkg->state_int & state) continue;
p->pkg->state_int |= state;