diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-08-27 14:54:15 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-08-27 14:54:15 +0100 |
commit | d654bb059f90c086625a31ce15747f8418cd4bd5 (patch) | |
tree | 0a78e925021da9dc8bfd06ada53004c160b957b3 /net-misc/hylafaxplus/files | |
parent | 4e6378ddac49b7268b7ab55d1f5900b2a6d81923 (diff) |
gentoo auto-resync : 27:08:2022 - 14:54:15
Diffstat (limited to 'net-misc/hylafaxplus/files')
-rw-r--r-- | net-misc/hylafaxplus/files/hylafaxplus-init-r1 | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/net-misc/hylafaxplus/files/hylafaxplus-init-r1 b/net-misc/hylafaxplus/files/hylafaxplus-init-r1 new file mode 100644 index 000000000000..37e459f79c99 --- /dev/null +++ b/net-misc/hylafaxplus/files/hylafaxplus-init-r1 @@ -0,0 +1,176 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Author Geaaru +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="zap" + +depend() { + use lo +} + +checkconfig() { + ebegin "Check hylafax server configuration..." + + if [ x$spooldir = x ] ; then + eerror "No spooldir directory defined" + return 1 + else + SPOOL=$spooldir + einfo "Use spool directory $SPOOL" + fi + + if [ x$mode = x ] ; then + eerror "No mode defined" + return 1 + fi + + if [ ! -f $SPOOL/etc/setup.cache ] ; then + eerror "No $SPOOL/etc/setup.cache file founded. Use faxsetup command" + return 1 + fi + + if [ x$hfaxd = x -o ! -f $hfaxd ] ; then + eerror "No hfaxd daemon founded" + return 1 + fi + + if [ x$faxq = x -o ! -f $faxq ] ; then + eerror "No faxq program founded" + return 1 + fi + + if [ x$faxgetty = x -o ! -f $faxgetty ] ; then + eerror "No faxgetty program founded" + return 1 + fi + + if [ x$faxbind = x ] ; then + eerror "No binding address supply" + return 1 + fi + + if [ x$piddir = x ] ; then + PIDDIR=$SPOOL + else + PIDDIR=$piddir + fi + + + hfaxd_args="-l $faxbind -q $SPOOL" + + case $mode in + newproto) + if [ x$faxport = x ] ; then + eerror "No faxport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -i $faxport" + ;; + oldproto) + if [ x$oldprotoport = x ] ; then + eerror "No oldprotoport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -o $oldprotoport" + ;; + snpp) + if [ x$snppport = x ] ; then + eerror "No snppport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -s $snppport" + ;; + any) + if [ x$faxport = x -o x$snppport = x -o x$oldprotoport = x ] ; then + eerror "No port data founded for old services" + return 1 + fi + hfaxd_args="$hfaxd_args -i $faxport -s $snppport -o $oldprotoport" + ;; + *) + eerror "Invalid mode" + return 1 + ;; + + esac + + faxq_args="-q $SPOOL" + + # workaround for manage save of pidfile with start-stop-daemon + hfaxd_args="$hfaxd_args -d" + faxq_args="$faxq_args -D" + + return 0 +} + +start() { + local result + + checkconfig || return 1 + + ebegin "Starting HylaFAX server daemons" + + start_faxq + result=$? + + if [ $result -ne 0 ] ; then + eerror "Error on start $faxq daemon" + return 1 + fi + + start_hfaxd + result=$? + + eend $result +} + +start_hfaxd() { + local arguments="--start \ + --make-pidfile --pidfile $PIDDIR/hfaxd.pid" + + einfo "Starting $hfaxd with args $hfaxd_args" + + start-stop-daemon -b ${arguments} --exec $hfaxd -- $hfaxd_args > /dev/null 2>&1 + + return $?; +} + +start_faxq() { + local arguments="--start \ + --make-pidfile --pidfile $PIDDIR/faxq.pid" + einfo "Starting $faxq ... " + + start-stop-daemon -b ${arguments} --exec $faxq -- $faxq_args > /dev/null 2>&1 + + return $? +} + +stop() { + checkconfig || return 1 + + ebegin "Stopping HylaFAX server daemons" + + start-stop-daemon --stop --quiet --pidfile $PIDDIR/hfaxd.pid + start-stop-daemon --stop --quiet --pidfile $PIDDIR/faxq.pid + eend $? +} + +zap() { + checkconfig || return 1 + + ebegin "Zap HylaFAX server daemon files" + + if [ -f $PIDFILE/hfaxd.pid ] ; then + rm -f $PIDFILE/hfaxd.pid + fi + + if [ -f $PIDFILE/faxq.pid ] ; then + rm -f $PIDFILE/faxq.pid + fi +} + +restart() { + stop + start +} |