diff options
Diffstat (limited to 'net-misc/hylafax')
-rw-r--r-- | net-misc/hylafax/ChangeLog | 14 | ||||
-rw-r--r-- | net-misc/hylafax/files/hylafax.conf | 30 | ||||
-rw-r--r-- | net-misc/hylafax/files/hylafax.init | 176 | ||||
-rw-r--r-- | net-misc/hylafax/hylafax-4.4.4-r2.ebuild (renamed from net-misc/hylafax/hylafax-4.4.4-r1.ebuild) | 7 |
4 files changed, 223 insertions, 4 deletions
diff --git a/net-misc/hylafax/ChangeLog b/net-misc/hylafax/ChangeLog index 5afcd6f60a51..be09eb23f4d2 100644 --- a/net-misc/hylafax/ChangeLog +++ b/net-misc/hylafax/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-misc/hylafax # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/hylafax/ChangeLog,v 1.89 2008/12/16 15:35:52 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/hylafax/ChangeLog,v 1.90 2008/12/19 23:45:43 nerdboy Exp $ + +*hylafax-4.4.4-r2 (19 Dec 2008) + + 19 Dec 2008; Steve Arnold <nerdboy@gentoo.org> +files/hylafax.conf, + +files/hylafax.init, -hylafax-4.4.4-r1.ebuild, +hylafax-4.4.4-r2.ebuild: + Another rev-bump is warranted due to new and more Gentoo-conformant init + and conf setup; the previous init script got borked a while back by + other init changes, and as we all know, not everyone has the proper + hardware to fully test this package. Current keywords are being kept + so as not to overly annoy the arch testers (proper operation needs to + be verified by a sysadmin with real fax-modem hardware). The init + script now dies correctly if no setup.cache is found. 16 Dec 2008; Jeroen Roovers <jer@gentoo.org> hylafax-4.4.4-r1.ebuild: Stable for HPPA (bug #245190). diff --git a/net-misc/hylafax/files/hylafax.conf b/net-misc/hylafax/files/hylafax.conf new file mode 100644 index 000000000000..903707d077c3 --- /dev/null +++ b/net-misc/hylafax/files/hylafax.conf @@ -0,0 +1,30 @@ +# Spool directory for HylaFAX +spooldir="/var/spool/fax" + +# Faxq program path +faxq="/usr/sbin/faxq" + +# hfaxd program path +hfaxd="/usr/sbin/hfaxd" + +# faxgetty program path +faxgetty="/usr/sbin/faxgetty" + +# Port of the hfaxd daemon for new protocol +faxport=hylafax + +# Address used by hfaxd as binding address. +faxbind="127.0.0.1" + +# Port of the hfaxd daemon for SNPP protocol +snppport=444 + +# Port of the hfaxd daemon for old protocol +oldprotoport=4557 + +# newproto | oldproto | snpp | any +mode="newproto" + +# Directory where the pidfiles of HylaFAX are saved. +piddir="/var/run" + diff --git a/net-misc/hylafax/files/hylafax.init b/net-misc/hylafax/files/hylafax.init new file mode 100644 index 000000000000..b368338a8cec --- /dev/null +++ b/net-misc/hylafax/files/hylafax.init @@ -0,0 +1,176 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Author Geaaru +# Distributed under the terms of the GNU General Public License v2 + +opts="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 || ! -f $hfaxd ]] ; then + eerror "No hfaxd daemon founded" + return 1 + fi + + if [[ x$faxq == x || ! -f $faxq ]] ; then + eerror "No faxq program founded" + return 1 + fi + + if [[ x$faxgetty == x || ! -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 || x$snppport == x || 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 +} diff --git a/net-misc/hylafax/hylafax-4.4.4-r1.ebuild b/net-misc/hylafax/hylafax-4.4.4-r2.ebuild index d05a48b5aa12..440079eb717c 100644 --- a/net-misc/hylafax/hylafax-4.4.4-r1.ebuild +++ b/net-misc/hylafax/hylafax-4.4.4-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/hylafax/hylafax-4.4.4-r1.ebuild,v 1.3 2008/12/16 15:35:52 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/hylafax/hylafax-4.4.4-r2.ebuild,v 1.1 2008/12/19 23:45:43 nerdboy Exp $ inherit eutils multilib pam toolchain-funcs @@ -141,8 +141,9 @@ src_install() { einfo "Adding env.d entry for Hylafax" doenvd 99${P} - einfo "Adding init.d entry for Hylafax" - newinitd "${FILESDIR}"/${PN}-4.2 ${PN} + einfo "Adding init.d and conf.d entries for Hylafax" + newconfd "${FILESDIR}"/${PN}.conf ${PN} + newinitd "${FILESDIR}"/${PN}.init ${PN} use pam && pamd_mimic_system hylafax auth account session |