#!/bin/sh
#
# $OpenBSD: cupsd.rc,v 1.25 2017/08/01 12:18:35 ajacoutot Exp $

daemon="/usr/local/sbin/cupsd"

. /etc/rc.d/rc.subr

pexp="${daemon} .*"

rc_pre() {
	# XXX remove for OPENBSD_6_3
	rm -f /usr/bin/lp{q,r,rm}.pre-cups /usr/sbin/lp{c,d}.pre-cups \
		/usr/share/man/man1/lp{q,r,rm}.1 /usr/share/man/man8/lp{c,d}.8

	# XXX cups-driverd(8) can crash when setting up a printer driver
	rm -f /var/cache/cups/*

	# rcexec is needed if openfiles limits are bumped and cupsd(8) runs in
	# debug mode to prevent MaxClients warnings in logs
	${rcexec} "${daemon} ${daemon_flags} -t" || return 1

	# no existing printcap means we're not running lpd(8) so link cups'
	# printcap so base lp commands can find and use cups printers
	[ -e /etc/printcap ] || ln -s /etc/cups/printcap /etc/printcap
}

rc_post() {
	if [ -h /etc/printcap ]; then                           
		rm /etc/printcap                                
	fi
}

rc_cmd $1
