From 3109385bb08592041d2f895d11f705ff6a5fb204 Mon Sep 17 00:00:00 2001 From: Chantry Xavier Date: Sun, 13 Jan 2008 11:08:59 +0100 Subject: [PATCH] Ensure correct dir permissions in the database. Fix for FS#9176. A previous commit (6e8daa553bbd5) already forced all database files to 644. Now the directories are also forced to 755. Additionally, repo-add now sets the umask to 022, just like makepkg does, to fix the problem at its root. Signed-off-by: Chantry Xavier --- lib/libalpm/util.c | 2 ++ scripts/repo-add.sh.in | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index d09b9b1..5959482 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -399,6 +399,8 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn) if(S_ISREG(st->st_mode)) { archive_entry_set_mode(entry, 0644); + } else if(S_ISDIR(st->st_mode)) { + archive_entry_set_mode(entry, 0755); } if (fn && strcmp(fn, entryname)) { diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 98191b6..c7aa11a 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -28,6 +28,9 @@ confdir='@sysconfdir@' FORCE=0 REPO_DB_FILE="" +# ensure we have a sane umask set +umask 0022 + msg() { local mesg=$1; shift printf "==> ${mesg}\n" "$@" >&1 -- 1.5.4.rc3