From 20a16f55b32da071d362c2fa3faf1f55285d13a9 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Tue, 7 Feb 2012 18:43:59 +0100 Subject: use _alpm_access in a few more places for increased debugging info pacman -U returns a bogus "could not find or read package" if the file is on a fuse file system that doesn't allow root access. Debug output isn't very helpful here either so we should log why the access check failed. The other 2 checks already log something when failing so logging a more specific error won't hurt either. Signed-off-by: Florian Pritz Signed-off-by: Dan McGee --- lib/libalpm/be_package.c | 2 +- lib/libalpm/be_sync.c | 2 +- lib/libalpm/util.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index 3188a2fe..4b43f210 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -316,7 +316,7 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle, } /* attempt to access the package file, ensure it exists */ - if(access(pkgfile, R_OK) != 0) { + if(_alpm_access(handle, NULL, pkgfile, R_OK) != 0) { RET_ERR(handle, ALPM_ERR_PKG_NOT_FOUND, -1); } diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index c4673b1b..f1621996 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -86,7 +86,7 @@ static int sync_db_validate(alpm_db_t *db) } /* we can skip any validation if the database doesn't exist */ - if(access(dbpath, R_OK) != 0 && errno == ENOENT) { + if(_alpm_access(db->handle, NULL, dbpath, R_OK) != 0 && errno == ENOENT) { db->status &= ~DB_STATUS_EXISTS; db->status |= DB_STATUS_MISSING; _alpm_log(db->handle, ALPM_LOG_WARNING, diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 24bf1fc0..11285896 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -686,7 +686,7 @@ const char *_alpm_filecache_setup(alpm_handle_t *handle) } else if(!S_ISDIR(buf.st_mode)) { _alpm_log(handle, ALPM_LOG_DEBUG, "skipping cachedir, not a directory: %s\n", cachedir); - } else if(access(cachedir, W_OK) != 0) { + } else if(_alpm_access(handle, NULL, cachedir, W_OK) != 0) { _alpm_log(handle, ALPM_LOG_DEBUG, "skipping cachedir, not writable: %s\n", cachedir); } else if(!(buf.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH))) { -- cgit v1.2.3-70-g09d2