summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/hylafax')
-rw-r--r--net-misc/hylafax/ChangeLog14
-rw-r--r--net-misc/hylafax/files/hylafax.conf30
-rw-r--r--net-misc/hylafax/files/hylafax.init176
-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