diff options
author | Francesco Colista <fcolista@alpinelinux.org> | 2016-02-16 09:14:52 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2016-02-16 09:14:56 +0000 |
commit | 96d6978cbb360455d43636a63bb78ddc83f0efb3 (patch) | |
tree | 75957a231067740b5f1358dd91b4d5efc564c8c9 | |
parent | 0b6cb9df29175e97cce8f52f010ea1c7313fb08f (diff) | |
download | aports-96d6978cbb360455d43636a63bb78ddc83f0efb3.tar.bz2 aports-96d6978cbb360455d43636a63bb78ddc83f0efb3.tar.xz |
main/hylafax: added initd, improved post-install
-rw-r--r-- | main/hylafax/APKBUILD | 27 | ||||
-rw-r--r-- | main/hylafax/hylafax.confd | 29 | ||||
-rw-r--r-- | main/hylafax/hylafax.initd | 176 | ||||
-rw-r--r-- | main/hylafax/hylafax.post-install | 8 |
4 files changed, 228 insertions, 12 deletions
diff --git a/main/hylafax/APKBUILD b/main/hylafax/APKBUILD index d81166a900..9e01cc5299 100644 --- a/main/hylafax/APKBUILD +++ b/main/hylafax/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Cameron Banta <cbanta@gmail.com> pkgname=hylafax pkgver=6.0.6 -pkgrel=1 +pkgrel=2 pkgdesc="Sends and receives faxes" url="http://www.hylafax.org/" arch="all" @@ -10,9 +10,11 @@ license="MIT" #depends on gcc for libgcc_s.so, it's scripts are hardcoded to bash depends="ghostscript bash tiff-tools" makedepends="zlib-dev tiff-dev" -install="hylafax.post-install" +install="$pkgname.post-install" subpackages="$pkgname-doc" -source="ftp://ftp.hylafax.org/source/$pkgname-$pkgver.tar.gz" +source="ftp://ftp.hylafax.org/source/$pkgname-$pkgver.tar.gz + $pkgname.initd + $pkgname.confd" _builddir="$srcdir"/$pkgname-$pkgver prepare() { @@ -76,10 +78,19 @@ package(){ install -m644 -D "$srcdir/$pkgname-$pkgver/README" \ "$pkgdir"/usr/share/doc/$pkgname/README - # init.d script is created by faxsetup - # - which the user runs after install + install -D -m755 "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname || return 1 + install -D -m644 "$srcdir"/$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname || return 1 + } -md5sums="d063d45049c8fcbabefe09d662313067 hylafax-6.0.6.tar.gz" -sha256sums="28926915b23ce7f5b4896de8ac5f58389c2c6e6bb73b4eee5bbd5129603bf7c0 hylafax-6.0.6.tar.gz" -sha512sums="be7e0533a24391c87deac6af35e01c81a79c99977c7f7a931e336d7c737b388d2a7c147faab3bf5eda196b1fa1c8671bee53c05dab2338f2f519010532f7d773 hylafax-6.0.6.tar.gz" +md5sums="d063d45049c8fcbabefe09d662313067 hylafax-6.0.6.tar.gz +5acf25e0cf07ae2515214e79fa1d8812 hylafax.initd +af73e1f25dd8f84fa377f6bf44e2a422 hylafax.confd" +sha256sums="28926915b23ce7f5b4896de8ac5f58389c2c6e6bb73b4eee5bbd5129603bf7c0 hylafax-6.0.6.tar.gz +77a16cf3715441c43116da4c4231abc5bcc2f30271075ed2a0d1382d74f31165 hylafax.initd +3748b6eabdd0a630607286a59a7c175e09cd9cc933749e874ac2379d662c5761 hylafax.confd" +sha512sums="be7e0533a24391c87deac6af35e01c81a79c99977c7f7a931e336d7c737b388d2a7c147faab3bf5eda196b1fa1c8671bee53c05dab2338f2f519010532f7d773 hylafax-6.0.6.tar.gz +3862cefcd26092000e4489c097537e5e0e2ae1f7c2a7a16b1e933b3bb78d136b6d8a65fb712ae245dd8ca881900408d0d9788bd2e0b859a9569fc6f4ede8cc7c hylafax.initd +3c07726cc9d7351dceb80a46354c6626e54b033b0f434c1db01db2a3b3ab5e9084d551dd23cae3ab40806f27aa5fa0a5b70c43a6b7802356871c0b343baa2376 hylafax.confd" diff --git a/main/hylafax/hylafax.confd b/main/hylafax/hylafax.confd new file mode 100644 index 0000000000..e82610fe0b --- /dev/null +++ b/main/hylafax/hylafax.confd @@ -0,0 +1,29 @@ +# Spool directory for HylaFAX +spooldir="/var/spool/hylafax" + +# 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/main/hylafax/hylafax.initd b/main/hylafax/hylafax.initd new file mode 100644 index 0000000000..d5c5df37f4 --- /dev/null +++ b/main/hylafax/hylafax.initd @@ -0,0 +1,176 @@ +#!/sbin/openrc-run +# 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/main/hylafax/hylafax.post-install b/main/hylafax/hylafax.post-install index 839f96f543..fb88aa93a3 100644 --- a/main/hylafax/hylafax.post-install +++ b/main/hylafax/hylafax.post-install @@ -1,5 +1,5 @@ #!/bin/sh - -echo " *" -echo " * Please run faxsetup to configure hylafax" -echo " *" +echo " * ">&2 +echo " * Please run faxsetup to configure hylafax">&2 +echo " * " >&2 +exit 0 |