mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
use _alpm_access in a few more places for increased debugging info
pacman -U <pkg> 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 <bluewind@xinu.at> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
f55be48977
commit
20a16f55b3
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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))) {
|
||||
|
Loading…
Reference in New Issue
Block a user