]> git.ipfire.org Git - pakfire.git/commitdiff
repo: Only delete files that start with prefix if requested
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 8 Dec 2021 15:41:58 +0000 (15:41 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 8 Dec 2021 15:41:58 +0000 (15:41 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/repo.c

index f37fb71027a832f11deb204039bc3e88778dda7c..551d48234bf66ddb533bc518af363377f5a1d103 100644 (file)
@@ -947,6 +947,10 @@ static int pakfire_repo_delete_all_packages(
                const char* nevra = pakfire_package_get_nevra(pkg);
                const char* path = pakfire_package_get_path(pkg);
 
+               // If prefix is set, skip anything that doesn't match
+               if (prefix && !pakfire_string_startswith(path, prefix))
+                       goto NEXT;
+
                DEBUG(repo->pakfire, "Removing %s at %s\n", nevra, path);
 
                // Delete the file
@@ -956,6 +960,7 @@ static int pakfire_repo_delete_all_packages(
                                nevra, path);
                }
 
+NEXT:
                pakfire_package_unref(pkg);
        }