]>
Commit | Line | Data |
---|---|---|
4e32a331 | 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 | PATH=/usr/bin | |
cd80bf24 | 17 | TARFILE=/var/tmp/dhcp.out |
4e32a331 | 18 | BOOTGEN=/var/boot/dhcpd.conf.print |
19 | BOOTHEAD=/var/boot/dhcpd.conf.head | |
20 | BOOTFOOT=/var/boot/dhcpd.conf.foot | |
cd80bf24 | 21 | BOOTFILE=/var/boot/dhcpd.conf |
7f18a2f8 | 22 | LEASEFILE=/var/boot/dhcpd.leases |
23 | PIDFILE=/var/boot/dhcpd.pid | |
24 | BINFILE=/var/boot/dhcpd | |
4e32a331 | 25 | PSWDFILE=/var/boot/hp.add |
26 | ||
27 | # Alert if the tar file or other needed files do not exist | |
28 | test -r $TARFILE || exit $MR_MISSINGFILE | |
29 | test -r $BOOTHEAD || exit $MR_MISSINGFILE | |
30 | test -r $BOOTFOOT || exit $MR_MISSINGFILE | |
31 | test -r $PSWDFILE || exit $MR_MISSINGFILE | |
32 | ||
33 | cd / | |
34 | tar xf $TARFILE || exit $MR_TARERR | |
35 | ||
36 | # Append passwords, etc., to the new files | |
37 | for f in `find /var/boot/hp -name \*.new -print`; do | |
38 | cat $PSWDFILE >> $f | |
39 | mv $f /var/boot/hp/`basename $f .new` | |
40 | done | |
41 | ||
42 | # Build full bootptab | |
43 | cat $BOOTHEAD $BOOTGEN $BOOTFOOT > $BOOTFILE | |
44 | ||
7f18a2f8 | 45 | # kill and rerun dhcpd |
46 | test -f $PIDFILE && kill `cat $PIDFILE` | |
47 | test -x $BINFILE && $BINFILE -cf $BOOTFILE -lf $LEASEFILE -pf $PIDFILE | |
48 | ||
4e32a331 | 49 | # cleanup |
50 | test -f $TARFILE && rm -f $TARFILE | |
51 | test -f $0 && rm -f $0 | |
52 | ||
53 | exit 0 |