[pacman-dev] [PATCH] Do not resolve every local package filelist on remove
Allan McRae
allan at archlinux.org
Fri Mar 1 17:21:45 EST 2013
Although technically correct, this results in my system taking ~30 seconds
to resolve all filelists when removing a package that has a directory not
owned by any package. The check for if any package own the empty directory
is a rare enough occurance, and it will be even rarer when that directory
has a directory symlink in its path, so just revert this at this stage.
Signed-off-by: Allan McRae <allan at archlinux.org>
---
lib/libalpm/remove.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 60ea8de..0642e04 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -484,7 +484,9 @@ static int unlink_file(alpm_handle_t *handle, alpm_pkg_t *oldpkg,
continue;
}
filelist = alpm_pkg_get_files(local_pkg);
- _alpm_filelist_resolve(handle, filelist);
+ /* This is too slow and only covers a rare case
+ Disable for now... */
+ /* _alpm_filelist_resolve(handle, filelist); */
if(alpm_filelist_contains(filelist, fileobj->name)) {
_alpm_log(handle, ALPM_LOG_DEBUG,
"keeping directory %s (owned by %s)\n", file, local_pkg->name);
--
1.8.1.4
More information about the pacman-dev
mailing list