[pacman-dev] [PATCH 1/7] Search for non-prefixed paths in skip_remove list

Dan McGee dan at archlinux.org
Mon Sep 19 16:13:11 EDT 2011


We add them to this list with the root path not appended; we should be
searching for them this way as well.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/remove.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 8021702..c6a3efc 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -216,12 +216,12 @@ static int can_remove_file(alpm_handle_t *handle, const alpm_file_t *file,
 {
 	char filepath[PATH_MAX];
 
-	snprintf(filepath, PATH_MAX, "%s%s", handle->root, file->name);
-
-	if(alpm_list_find_str(skip_remove, filepath)) {
+	if(alpm_list_find_str(skip_remove, file->name)) {
 		/* return success because we will never actually remove this file */
 		return 1;
 	}
+
+	snprintf(filepath, PATH_MAX, "%s%s", handle->root, file->name);
 	/* If we fail write permissions due to a read-only filesystem, abort.
 	 * Assume all other possible failures are covered somewhere else */
 	if(_alpm_access(handle, NULL, filepath, W_OK) == -1) {
-- 
1.7.6.1



More information about the pacman-dev mailing list