summaryrefslogtreecommitdiff
path: root/cron-jobs/adjust-permissions
blob: 6510d79ee3db480c8945db635d59b665a2b14f6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

script_lock

. "$(dirname $0)/../db-functions"
. "$(dirname $0)/../config"

get_dir_owner() {
	case $1 in
		# on main server, e.g. gerolde
		core)
			echo "ftp:ftp-arch" ;;
		extra|testing|staging|kde-unstable|gnome-unstable|pool/packages)
			echo "ftp:ftp-extra" ;;

		# on community server, e.g. sigurd
		community|community-testing|community-staging|pool/community)
			echo "root:tusers" ;;
		multilib)
			echo "root:multilib" ;;
	esac
}

#adjust the nice level to run at a lower priority
/usr/bin/renice +10 -p $$ > /dev/null

pushd $FTP_BASE >/dev/null
for d in $(get_repos_for_host); do
	owner="$(get_dir_owner $d)"
	/bin/chown -R $owner $d/os/{any,i686,x86_64}
	/bin/chmod -R g+w $d/os/{any,i686,x86_64}
done
for p in $(get_pkgpool_for_host); do
	owner="$(get_dir_owner $p)"
	/bin/chown $owner $p
	/bin/chmod g+w $p
done
/bin/chmod 555 $FTP_BASE
popd >/dev/null

script_unlock