]>
Commit | Line | Data |
---|---|---|
f50216d7 | 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=/bin | |
17 | TARFILE=/var/tmp/cups-print.out | |
18 | CUPSLOCAL=/etc/cups | |
19 | ||
20 | # Alert if the tar file or other needed files do not exist | |
21 | test -r $TARFILE || exit $MR_MISSINGFILE | |
22 | test -d $CUPSLOCAL || exit $MR_MISSINGFILE | |
23 | ||
2dea9cdb | 24 | # We need to kill off CUPS to prevent it from overwriting |
25 | # state data whilst updating | |
26 | /etc/init.d/cups stop | |
27 | ||
7c2b6e57 | 28 | /etc/cups/bin/check-disabled.pl 2>/dev/null |
29 | ||
f50216d7 | 30 | # Unpack the tar file, getting only files that are newer than the |
31 | # on-disk copies (-u). | |
32 | cd / | |
33 | tar xf $TARFILE || exit $MR_TARERR | |
34 | ||
7c2b6e57 | 35 | /etc/cups/bin/post-dcm-disable.pl 2>/dev/null |
36 | if [ -s /etc/cups/printers.conf.tmp ]; then | |
37 | mv /etc/cups/printers.conf.tmp /etc/cups/printers.conf | |
38 | fi | |
39 | ||
7c2b6e57 | 40 | /etc/init.d/cups start |
72a62bdc | 41 | |
2dea9cdb | 42 | # Now, make a stab at the PPD file. This is okay to run after |
43 | # because CUPS will pick up the new PPDs later | |
44 | /etc/cups/bin/gen-ppd.pl | |
45 | ||
f50216d7 | 46 | if [ $? != 0 ]; then |
47 | exit $MR_MKCRED | |
48 | fi | |
49 | ||
72a62bdc | 50 | # if Samba-enabled, then restart it too to have it pick up |
51 | # new definitions | |
52 | if [ -x /etc/init.d/smb ]; then | |
53 | /etc/init.d/smb restart | |
54 | fi | |
55 | ||
f50216d7 | 56 | # cleanup |
57 | test -f $TARFILE && rm -f $TARFILE | |
58 | test -f $0 && rm -f $0 | |
59 | ||
60 | exit 0 | |
61 |