summaryrefslogtreecommitdiff
path: root/lib/libalpm
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2008-01-13 11:08:59 +0100
committerDan McGee <dan@archlinux.org>2008-01-13 12:51:37 -0600
commit8186dc11a90dbc310acaad7ee867ee995adbd6ed (patch)
tree796df8cc0fef61ecb4ad27b3d1b5ec586456a532 /lib/libalpm
parentbbe02ec57fd56670dfe0bc08d981ce8a1aa31370 (diff)
downloadpacman-8186dc11a90dbc310acaad7ee867ee995adbd6ed.tar.xz
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 <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index d09b9b14..5959482d 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)) {