openbsd-ports/print/cups/pkg/cupsd.rc
2013-02-04 14:46:24 +00:00

70 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# $OpenBSD: cupsd.rc,v 1.15 2013/02/04 14:46:24 ajacoutot Exp $
daemon="${TRUEPREFIX}/sbin/cupsd"
. /etc/rc.d/rc.subr
pexp="${daemon}"
_lpfiles="/usr/bin/lpq /usr/bin/lpr /usr/bin/lprm /usr/sbin/lpc \
/usr/sbin/lpd /usr/share/man/man1/lpq.1 /usr/share/man/man1/lpr.1 \
/usr/share/man/man1/lprm.1 /usr/share/man/man8/lpc.8 \
/usr/share/man/man8/lpd.8"
rc_pre() {
${daemon} -t || return 1
[ -e /dev/ulpt0 ] && chown _cups /dev/ulpt[0-1]
[ -e /dev/lpt0 ] && chown _cups /dev/lp[a,t][0-2]
if [ -e /usr/sbin/lpd.pre-cups -a ! -f /usr/sbin/lpd -a -L /usr/sbin/lpc ]; then
return
elif [ ! -e /usr/sbin/lpd ]; then
return
else
for i in ${_lpfiles}; do
if [ -f $i -a ! -L $i ]; then
mv -f $i $i.pre-cups
fi
done
fi
if [ -e /etc/printcap -a ! -e /etc/printcap.pre-cups ]; then
mv /etc/printcap /etc/printcap.pre-cups
ln -s ${SYSCONFDIR}/cups/printcap /etc/printcap
fi
for i in lpq lpr lprm; do
rm -f /usr/bin/$i
ln -s ${TRUEPREFIX}/bin/$i /usr/bin/$i
done
rm -f /usr/sbin/lpc
ln -s ${TRUEPREFIX}/sbin/lpc /usr/sbin/lpc
}
rc_post() {
if [ ! -L /usr/sbin/lpc ]; then
return
else
for i in lpq lpr lprm; do
rm -f /usr/bin/$i
done
rm -f /usr/sbin/lpc
if [ ! -e /usr/sbin/lpd.pre-cups ]; then
return
else
for i in ${_lpfiles} /etc/printcap; do
if [ -e $i.pre-cups ]; then
mv -f $i.pre-cups $i
fi
done
fi
fi
[ -e /dev/lpt0 ] && chown root /dev/lp[a,t][0-2]
[ -e /dev/ulpt0 ] && chown root /dev/ulpt[0-1]
}
rc_cmd $1