summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2023-05-10 16:51:56 +0300
committerTimo Teräs <timo.teras@iki.fi>2023-05-10 16:52:51 +0300
commitf08f8d4c57b814309a03b434e524f8b83c0697ee (patch)
tree8ba10d8e2717c9f0db901c0e2422b0ea19041cb9
parenta06eb18980789c30a086785da3d6dd4424c7b1c9 (diff)
downloadapk-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
-rw-r--r--src/app_del.c8
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,