diff options
Diffstat (limited to 'src/state.c')
-rw-r--r-- | src/state.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/state.c b/src/state.c index 7991802..005470c 100644 --- a/src/state.c +++ b/src/state.c @@ -420,10 +420,17 @@ static int apk_state_fix_package(struct apk_state *state, return 0; for (i = 0; i < pkg->depends->num; i++) { - r = apk_state_lock_dependency(state, - &pkg->depends->item[i]); - if (r != 0) - ret = -1; + if (pkg->name->flags & APK_NAME_TOPLEVEL_OVERRIDE) { + r = apk_state_prune_dependency(state, + &pkg->depends->item[i]); + if (r < 0) + ret = -1; + } else { + r = apk_state_lock_dependency(state, + &pkg->depends->item[i]); + if (r != 0) + ret = -1; + } } return ret; |