diff options
author | Timo Teräs <timo.teras@iki.fi> | 2023-05-10 16:51:56 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2023-05-10 16:52:51 +0300 |
commit | f08f8d4c57b814309a03b434e524f8b83c0697ee (patch) | |
tree | 8ba10d8e2717c9f0db901c0e2422b0ea19041cb9 /src | |
parent | a06eb18980789c30a086785da3d6dd4424c7b1c9 (diff) | |
download | apk-tools-f08f8d4c57b814309a03b434e524f8b83c0697ee.tar.gz apk-tools-f08f8d4c57b814309a03b434e524f8b83c0697ee.tar.bz2 apk-tools-f08f8d4c57b814309a03b434e524f8b83c0697ee.tar.xz apk-tools-f08f8d4c57b814309a03b434e524f8b83c0697ee.zip |
del: fix up previous commit
fixes commit "del: fix --rdepends" to not delete provided names
if not using --rdepends
Diffstat (limited to 'src')
-rw-r--r-- | src/app_del.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/app_del.c b/src/app_del.c index 3d0e928..d40f724 100644 --- a/src/app_del.c +++ b/src/app_del.c @@ -111,13 +111,15 @@ static void delete_pkg(struct apk_package *pkg0, struct apk_dependency *dep0, struct apk_dependency *d; apk_deps_del(&ctx->world, pkg0->name); - foreach_array_item(d, pkg0->provides) - apk_deps_del(&ctx->world, d->name); - if (ctx->recursive_delete) + if (ctx->recursive_delete) { + foreach_array_item(d, pkg0->provides) + apk_deps_del(&ctx->world, d->name); + apk_pkg_foreach_reverse_dependency( pkg0, ctx->genid | APK_FOREACH_INSTALLED | APK_DEP_SATISFIES, delete_pkg, pctx); + } } static int delete_name(struct apk_database *db, const char *match, |