]> andersk Git - moira.git/blob - gen/zephyr.sh
Command line printer manipulation client, and build goo.
[moira.git] / gen / zephyr.sh
1 #!/bin/sh
2 # $Id$
3
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
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
31         cmp -s $file ../acl/$file       
32         if [ $? != 0 ]; then
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)
45     pid=`ps -ef | awk '/[^\]]zephyrd/ { print $2; }'`
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
This page took 0.113048 seconds and 5 git commands to generate.