53 lines
1.3 KiB
Diff
53 lines
1.3 KiB
Diff
From 5d59a15faf67d921dfb190195c07bf4a70bca137 Mon Sep 17 00:00:00 2001
|
|
From: Juan RP <xtraeme@gmail.com>
|
|
Date: Sat, 29 Dec 2012 07:13:49 +0100
|
|
Subject: [PATCH] libxbps: even if executing a pre-remove action fails,
|
|
continue removing pkg.
|
|
|
|
This is no reason to stop removing a pkg, so just continue and fully
|
|
remove the pkg.
|
|
---
|
|
lib/package_remove.c | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/lib/package_remove.c b/lib/package_remove.c
|
|
index 3118e19..a207fc0 100644
|
|
--- lib/package_remove.c
|
|
+++ lib/package_remove.c
|
|
@@ -266,7 +266,7 @@ xbps_remove_pkg(struct xbps_handle *xhp,
|
|
"execute pre ACTION: %s",
|
|
pkgver, strerror(errno));
|
|
rv = errno;
|
|
- goto out;
|
|
+ goto purge;
|
|
}
|
|
}
|
|
/*
|
|
@@ -349,6 +349,7 @@ purge:
|
|
*/
|
|
buf = xbps_xasprintf("%s/.%s.plist", xhp->metadir, pkgname);
|
|
if (remove(buf) == -1) {
|
|
+ free(buf);
|
|
if (errno != ENOENT) {
|
|
xbps_set_cb_state(xhp, XBPS_STATE_REMOVE_FAIL,
|
|
rv, pkgname, version,
|
|
@@ -356,6 +357,7 @@ purge:
|
|
pkgver, strerror(errno));
|
|
}
|
|
}
|
|
+ free(buf);
|
|
/*
|
|
* Unregister package from pkgdb.
|
|
*/
|
|
@@ -367,8 +369,6 @@ purge:
|
|
xbps_set_cb_state(xhp, XBPS_STATE_REMOVE_DONE,
|
|
0, pkgname, version, NULL);
|
|
out:
|
|
- if (buf != NULL)
|
|
- free(buf);
|
|
if (pkgname != NULL)
|
|
free(pkgname);
|
|
|
|
--
|
|
1.8.0.3
|
|
|