summaryrefslogtreecommitdiffstats
path: root/db-functions
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2010-09-02 14:50:04 +0200
committerPierre Schmitz <pierre@archlinux.de>2010-09-02 14:50:04 +0200
commit3b903c5c46287cc6f453b3138842715a467c57fb (patch)
tree7bab364cf5908a77960f4c2370bf65f0c7278ff2 /db-functions
parentdf78f6e877325ddfd9569e9704612ee2509791b1 (diff)
downloaddbscripts-3b903c5c46287cc6f453b3138842715a467c57fb.tar.gz
dbscripts-3b903c5c46287cc6f453b3138842715a467c57fb.tar.xz
Set correct group after touching the db file
* When writing the db file ensure that it has write permission of the group which owns the parent directory. * This should make the adjust-permissions cron job obsolete.
Diffstat (limited to 'db-functions')
-rw-r--r--db-functions14
1 files changed, 14 insertions, 0 deletions
diff --git a/db-functions b/db-functions
index 28928da..7a751bf 100644
--- a/db-functions
+++ b/db-functions
@@ -387,3 +387,17 @@ check_repo_permission() {
return 0
}
+
+set_repo_permission() {
+ local repo=$1
+ local arch=$2
+ local dbfile="${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}"
+
+ if [ -w "${dbfile}" ]; then
+ local group=$(/usr/bin/stat --printf='%G' "$(dirname "${dbfile}")")
+ chgrp $group "${dbfile}" || error "Could not change group of ${dbfile} to $group"
+ chmod g+w "${dbfile}" || error "Could not set write permission for group $group to ${dbfile}"
+ else
+ error "You don't have permission to change ${dbfile}"
+ fi
+}