]>
Commit | Line | Data |
---|---|---|
883e2e2b | 1 | #!/bin/sh |
2 | # $Id$ | |
3 | ||
f4f32185 | 4 | if [ -d /var/athena ] && [ -w /var/athena ]; then |
5 | exec >/var/athena/moira_update.log 2>&1 | |
6 | else | |
7 | exec >/tmp/moira_update.log 2>&1 | |
8 | fi | |
9 | ||
883e2e2b | 10 | # The following exit codes are defined and MUST BE CONSISTENT with the |
11 | # error codes the library uses: | |
12 | MR_MISSINGFILE=47836473 | |
13 | MR_MKCRED=47836474 | |
14 | MR_TARERR=47836476 | |
15 | ||
16 | hup=no | |
17 | PATH=/bin | |
18 | TARFILE=/var/tmp/zephyr.out | |
19 | ||
20 | # Alert if the tar file does not exist | |
21 | test -r $TARFILE || exit $MR_MISSINGFILE | |
22 | ||
23 | # Make a temporary directory to unpack the tar file into | |
24 | mkdir /etc/athena/zephyr/acl.new | |
25 | cd /etc/athena/zephyr/acl.new || exit $MR_MKCRED | |
26 | tar xf $TARFILE || exit $MR_TARERR | |
27 | ||
28 | # Copy over each file which is new or has changed | |
29 | for file in *; do | |
30 | if [ -f ../acl/$file ]; then | |
0bad3a3a | 31 | cmp -s $file ../acl/$file |
32 | if [ $? != 0 ]; then | |
883e2e2b | 33 | mv $file ../acl/$file |
34 | hup=yes | |
35 | fi | |
36 | else | |
37 | mv $file ../acl/$file | |
38 | hup=yes | |
39 | fi | |
40 | done | |
41 | ||
42 | # HUP zephyrd if needed | |
43 | case $hup in | |
44 | yes) | |
081ad334 | 45 | pid=`ps -ef | awk '/[^\]]zephyrd/ { print $2; }'` |
883e2e2b | 46 | kill -HUP $pid |
47 | sleep 5 | |
48 | ;; | |
49 | esac | |
50 | ||
51 | # cleanup | |
52 | rm -rf /etc/athena/zephyr/acl.new | |
53 | test -f $TARFILE && rm -f $TARFILE | |
54 | test -f $0 && rm -f $0 | |
55 | ||
56 | exit 0 | |
57 |