summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2018-12-26 22:58:26 -0500
committerAllan McRae <allan@archlinux.org>2019-01-04 11:14:52 +1000
commit4778f1318853ac9fc1f838d836dbe017fb6cbddc (patch)
tree8a0553b4da25281b7602c50ff29e7bb86f456f3a
parent2d403709d97cca381873a9d56cd37f51c0f3eade (diff)
downloadpacman-4778f1318853ac9fc1f838d836dbe017fb6cbddc.tar.gz
pacman-4778f1318853ac9fc1f838d836dbe017fb6cbddc.zip
repo-remove: fix removing packages with deltas
We have code in order to remove deltas when removing a package, but it is never run, since we try to remove the wrong file. This was broken in commit cb0f2bd0385f447e045e2b2aab9ffa55df3c2d8a which modified the internal layout we use to modify the db, changing "tree" to "db", but did not update all locations where it was used. This worked swimmingly well as long as only repo-add updates were handling the backup and restore of the delta file, as the delta file therefore got backed up to the correct location (db) in the shared db_remove_entry() function. But later on in the repo-remove logic, we tried removing a different file that will never exist (tree). Fixes FS#53041 Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/repo-add.sh.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index bccf2f37..1c7fb2f6 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -611,7 +611,7 @@ remove() {
msg "$(gettext "Searching for package '%s'...")" "$pkgname"
if db_remove_entry "$pkgname"; then
- rm -f "$tmpdir/tree/$pkgname.deltas"
+ rm -f "$tmpdir/db/$pkgname.deltas"
return 0
else
error "$(gettext "Package matching '%s' not found.")" "$pkgname"