blob: bfba068a028511c033973533c0a3d5764b4cdcd8 [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
depend() {
need capi
}
checkconfig() {
local DEFAULT_OUTPUT_FORMAT="HYLAFAX"
local DEFAULT_VIRTUAL_DEVICE="faxCAPI"
local DEFAULT_RECEIVE_DIR="/var/spool/fax"
local DEFAULT_CONFIG_FILE="/var/spool/fax/etc/config.faxCAPI"
[ -n "${CONFIG_FILE}" ] || CONFIG_FILE="${DEFAULT_CONFIG_FILE}"
[ -n "${OUTPUT_FORMAT}" ] || OUTPUT_FORMAT="${DEFAULT_OUTPUT_FORMAT}"
[ -n "${VIRTUAL_DEVICE}" ] || VIRTUAL_DEVICE="${DEFAULT_VIRTUAL_DEVICE}"
[ "${OUTPUT_FORMAT}" = "HYLAFAX" ] || DEFAULT_RECEIVE_DIR="/var/spool/fax/recvq"
[ -n "${RECEIVE_DIR}" ] || RECEIVE_DIR="${DEFAULT_RECEIVE_DIR}"
if [ ! -f "${CONFIG_FILE}" ]; then
eerror "You're missing ${CONFIG_FILE}"
return 1
fi
OPTIONS=""
PIDFILE="/var/run/c2faxrecv.pid"
[ "${ACTIVATE_LOGGING}" = "yes" ] && OPTIONS="${OPTIONS} -L"
[ "${OUTPUT_FORMAT}" = "${DEFAULT_OUTPUT_FORMAT}" ] || \
OPTIONS="${OPTIONS} -f ${OUTPUT_FORMAT}"
[ "${CONFIG_FILE}" = "${DEFAULT_CONFIG_FILE}" ] || \
OPTIONS="${OPTIONS} -C ${CONFIG_FILE}"
[ "${OUTPUT_FORMAT}" = "HYLAFAX" -a "${RECEIVE_DIR}" = "${DEFAULT_RECEIVE_DIR}" ] || \
OPTIONS="${OPTIONS} -q ${RECEIVE_DIR}"
if [ "${VIRTUAL_DEVICE}" != "${DEFAULT_VIRTUAL_DEVICE}" ]; then
PIDFILE="/var/run/c2faxrecv.${VIRTUAL_DEVICE}.pid"
OPTIONS="${OPTIONS} ${VIRTUAL_DEVICE}"
fi
}
start() {
checkconfig || return 1
ebegin "Starting CAPI4HylaFAX for ${VIRTUAL_DEVICE}"
start-stop-daemon -b -m --quiet --start --pidfile ${PIDFILE} \
--exec /usr/bin/c2faxrecv -- ${OPTIONS}
eend $?
}
stop() {
checkconfig || return 1
ebegin "Stopping CAPI4HylaFAX for ${VIRTUAL_DEVICE}"
start-stop-daemon >/dev/null --quiet --stop --pidfile ${PIDFILE} --retry 10 && \
/bin/rm -f ${PIDFILE}
eend $?
}