From d9d31a132467c24c6dbec47a221250a71dad7333 Mon Sep 17 00:00:00 2001 From: Steve Arnold Date: Fri, 19 Dec 2008 23:45:44 +0000 Subject: Rev-bump for new init script and conf.d configuration (keywords maintained). (Portage version: 2.2_rc17/cvs/Linux 2.6.27.7 x86_64, RepoMan options: --force) --- net-misc/hylafax/ChangeLog | 14 ++- net-misc/hylafax/files/hylafax.conf | 30 +++++ net-misc/hylafax/files/hylafax.init | 176 +++++++++++++++++++++++++++++ net-misc/hylafax/hylafax-4.4.4-r1.ebuild | 184 ------------------------------ net-misc/hylafax/hylafax-4.4.4-r2.ebuild | 185 +++++++++++++++++++++++++++++++ 5 files changed, 404 insertions(+), 185 deletions(-) create mode 100644 net-misc/hylafax/files/hylafax.conf create mode 100644 net-misc/hylafax/files/hylafax.init delete mode 100644 net-misc/hylafax/hylafax-4.4.4-r1.ebuild create mode 100644 net-misc/hylafax/hylafax-4.4.4-r2.ebuild (limited to 'net-misc/hylafax') 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 +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 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-r1.ebuild deleted file mode 100644 index d05a48b5aa12..000000000000 --- a/net-misc/hylafax/hylafax-4.4.4-r1.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# 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 $ - -inherit eutils multilib pam toolchain-funcs - -DESCRIPTION="Enterprise client-server fax package for class 1 and 2 fax modems." -HOMEPAGE="http://www.hylafax.org" -SRC_URI="ftp://ftp.hylafax.org/source/${P}.tar.gz" - -SLOT="0" -LICENSE="hylafax" -KEYWORDS="amd64 hppa ~ppc ~sparc x86" - -IUSE="jbig pam mgetty html" - -DEPEND=">=sys-libs/zlib-1.1.4 - virtual/ghostscript - >=media-libs/tiff-3.8.2 - media-libs/jpeg - jbig? ( media-libs/jbigkit ) - sys-apps/gawk - pam? ( virtual/pam ) - mgetty? ( net-dialup/mgetty )" - -RDEPEND="${DEPEND} - net-mail/metamail" - -export CONFIG_PROTECT="${CONFIG_PROTECT} /var/spool/fax/etc /usr/lib/fax" - -pkg_setup() { - if use mgetty; then - if built_with_use net-dialup/mgetty fax; then - eerror "net-dialup/mgetty must be installed without USE=fax" - die "merge net-dialup/mgetty without USE=fax" - fi - fi - - if use jbig; then - einfo "Checking for tiff compiled with jbig support..." - if built_with_use media-libs/tiff jbig; then - einfo "Found jbig support; continuing..." - else - ewarn "Tiff (media-libs/tiff) must be compiled with jbig support." - einfo "Please re-emerge tiff with the jbig USE flag or disable it." - die "Tiff not merged with jbig USE flag" - fi - fi -} - -src_compile() { - # gcc standard C++ header changes - if [ $(gcc-major-version) -eq 4 ] && [ $(gcc-minor-version) -ge 3 ] ; then - sed -i -e 's:"new.h"::g' configure util/Types.h || die "sed failed" - sed -i -e 's:"iostream.h":\n using namespace std;:g' \ - configure || die "sed failed" - fi - - local my_conf=" - --with-DIR_BIN=/usr/bin - --with-DIR_SBIN=/usr/sbin - --with-DIR_LIB=/usr/$(get_libdir) - --with-DIR_LIBEXEC=/usr/sbin - --with-DIR_LIBDATA=/usr/$(get_libdir)/fax - --with-DIR_LOCKS=/var/lock - --with-DIR_MAN=/usr/share/man - --with-DIR_SPOOL=/var/spool/fax - --with-DIR_HTML=/usr/share/doc/${P}/html - --with-DIR_CGI="${WORKDIR}" - --with-PATH_DPSRIP=/var/spool/fax/bin/ps2fax - --with-PATH_IMPRIP=\"\" - --with-SYSVINIT=no - --with-REGEX=yes - --with-LIBTIFF=\"-ltiff -ljpeg -lz\" - --with-OPTIMIZER=\"${CFLAGS}\" - --with-DSO=auto" - - if use html; then - my_conf="${my_conf} --with-HTML=yes" - else - my_conf="${my_conf} --with-HTML=no" - fi - - if use mgetty; then - my_conf="${my_conf} \ - --with-PATH_GETTY=/sbin/mgetty \ - --with-PATH_EGETTY=/sbin/mgetty \ - --with-PATH_VGETTY=/usr/sbin/vgetty" - else - # GETTY defaults to /sbin/agetty - my_conf="${my_conf} \ - --with-PATH_EGETTY=/bin/false \ - --with-PATH_VGETTY=/bin/false" - fi - - if [ -h /etc/localtime ]; then - local continent=$(readlink /etc/localtime | cut -d / -f 5) - if [ "${continent}" == "Europe" ]; then - my_conf="${my_conf} --with-PAGESIZE=A4" - fi - fi - - #--enable-pam isn't valid - use pam || my_conf="${my_conf} $(use_enable pam)" - - myconf="CC=$(tc-getCC) CXX=$(tc-getCXX) ${my_conf}" - - # eval required for quoting in ${my_conf} to work properly, better way? - eval ./configure --nointeractive ${my_conf} || die "./configure failed" - - emake -j1 || die "emake failed" -} - -src_install() { - dodir /usr/{bin,sbin} /usr/$(get_libdir)/fax /usr/share/man - dodir /var/spool /var/spool/recvq - fowners uucp:uucp /var/spool/fax - fperms 0600 /var/spool/fax - dodir /usr/share/doc/${P}/html - - make \ - BIN=${D}/usr/bin \ - SBIN=${D}/usr/sbin \ - LIBDIR=${D}/usr/$(get_libdir) \ - LIB=${D}/usr/$(get_libdir) \ - LIBEXEC=${D}/usr/sbin \ - LIBDATA=${D}/usr/$(get_libdir)/fax \ - MAN=${D}/usr/share/man \ - SPOOL=${D}/var/spool/fax \ - HTMLDIR=${D}/usr/share/doc/${P}/html \ - install || die "make install failed" - - keepdir /var/spool/fax/{archive,client,etc,pollq,recvq,tmp} - keepdir /var/spool/fax/{status,sendq,log,info,doneq,docq,dev} - - dosed "s:hostname:hostname -f:g" /var/spool/fax/bin/{faxrcvd,pollrcvd} \ - || die "dosed hostname failed" - - generate_files # in this case, it only generates the env.d entry - - einfo "Adding env.d entry for Hylafax" - doenvd 99${P} - - einfo "Adding init.d entry for Hylafax" - newinitd "${FILESDIR}"/${PN}-4.2 ${PN} - - use pam && pamd_mimic_system hylafax auth account session - - dodoc CHANGES CONTRIBUTORS COPYRIGHT README TODO -} - -pkg_postinst() { - elog - elog "The faxonly USE flag has been removed; since Hylafax does not" - elog "require mgetty, and certain fax files conflict, you must build" - elog "mgetty without fax support if you wish to use them both. You" - elog "may want to add both to package.use so any future updates are" - elog "correctly built:" - elog - elog " net-dialup/mgetty -fax" - elog " net-misc/hylafax [-mgetty|mgetty]" - elog - elog "There are additional files included in the hylafax/files dir." - elog - elog "Note 1: hylafax.cron is provided for vixie-cron users and" - elog "should be placed in /etc/cron.d. Use as-is or adapt it to" - elog "your system config." - elog - elog "Note 2: if you need to use hylafax with iptables, then you" - elog "need to specify the port and use ip_conntrack_ftp as shown" - elog "in the included example modules file." - elog - elog "See the docs and man pages for detailed configuration info." - elog - elog "Now run faxsetup and (if necessary) faxaddmodem." - elog -} - -generate_files() { - cat <<-EOF > 99${P} - PATH="/var/spool/fax/bin" - CONFIG_PROTECT="/var/spool/fax/etc /usr/$(get_libdir)/fax" - EOF -} diff --git a/net-misc/hylafax/hylafax-4.4.4-r2.ebuild b/net-misc/hylafax/hylafax-4.4.4-r2.ebuild new file mode 100644 index 000000000000..440079eb717c --- /dev/null +++ b/net-misc/hylafax/hylafax-4.4.4-r2.ebuild @@ -0,0 +1,185 @@ +# 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-r2.ebuild,v 1.1 2008/12/19 23:45:43 nerdboy Exp $ + +inherit eutils multilib pam toolchain-funcs + +DESCRIPTION="Enterprise client-server fax package for class 1 and 2 fax modems." +HOMEPAGE="http://www.hylafax.org" +SRC_URI="ftp://ftp.hylafax.org/source/${P}.tar.gz" + +SLOT="0" +LICENSE="hylafax" +KEYWORDS="amd64 hppa ~ppc ~sparc x86" + +IUSE="jbig pam mgetty html" + +DEPEND=">=sys-libs/zlib-1.1.4 + virtual/ghostscript + >=media-libs/tiff-3.8.2 + media-libs/jpeg + jbig? ( media-libs/jbigkit ) + sys-apps/gawk + pam? ( virtual/pam ) + mgetty? ( net-dialup/mgetty )" + +RDEPEND="${DEPEND} + net-mail/metamail" + +export CONFIG_PROTECT="${CONFIG_PROTECT} /var/spool/fax/etc /usr/lib/fax" + +pkg_setup() { + if use mgetty; then + if built_with_use net-dialup/mgetty fax; then + eerror "net-dialup/mgetty must be installed without USE=fax" + die "merge net-dialup/mgetty without USE=fax" + fi + fi + + if use jbig; then + einfo "Checking for tiff compiled with jbig support..." + if built_with_use media-libs/tiff jbig; then + einfo "Found jbig support; continuing..." + else + ewarn "Tiff (media-libs/tiff) must be compiled with jbig support." + einfo "Please re-emerge tiff with the jbig USE flag or disable it." + die "Tiff not merged with jbig USE flag" + fi + fi +} + +src_compile() { + # gcc standard C++ header changes + if [ $(gcc-major-version) -eq 4 ] && [ $(gcc-minor-version) -ge 3 ] ; then + sed -i -e 's:"new.h"::g' configure util/Types.h || die "sed failed" + sed -i -e 's:"iostream.h":\n using namespace std;:g' \ + configure || die "sed failed" + fi + + local my_conf=" + --with-DIR_BIN=/usr/bin + --with-DIR_SBIN=/usr/sbin + --with-DIR_LIB=/usr/$(get_libdir) + --with-DIR_LIBEXEC=/usr/sbin + --with-DIR_LIBDATA=/usr/$(get_libdir)/fax + --with-DIR_LOCKS=/var/lock + --with-DIR_MAN=/usr/share/man + --with-DIR_SPOOL=/var/spool/fax + --with-DIR_HTML=/usr/share/doc/${P}/html + --with-DIR_CGI="${WORKDIR}" + --with-PATH_DPSRIP=/var/spool/fax/bin/ps2fax + --with-PATH_IMPRIP=\"\" + --with-SYSVINIT=no + --with-REGEX=yes + --with-LIBTIFF=\"-ltiff -ljpeg -lz\" + --with-OPTIMIZER=\"${CFLAGS}\" + --with-DSO=auto" + + if use html; then + my_conf="${my_conf} --with-HTML=yes" + else + my_conf="${my_conf} --with-HTML=no" + fi + + if use mgetty; then + my_conf="${my_conf} \ + --with-PATH_GETTY=/sbin/mgetty \ + --with-PATH_EGETTY=/sbin/mgetty \ + --with-PATH_VGETTY=/usr/sbin/vgetty" + else + # GETTY defaults to /sbin/agetty + my_conf="${my_conf} \ + --with-PATH_EGETTY=/bin/false \ + --with-PATH_VGETTY=/bin/false" + fi + + if [ -h /etc/localtime ]; then + local continent=$(readlink /etc/localtime | cut -d / -f 5) + if [ "${continent}" == "Europe" ]; then + my_conf="${my_conf} --with-PAGESIZE=A4" + fi + fi + + #--enable-pam isn't valid + use pam || my_conf="${my_conf} $(use_enable pam)" + + myconf="CC=$(tc-getCC) CXX=$(tc-getCXX) ${my_conf}" + + # eval required for quoting in ${my_conf} to work properly, better way? + eval ./configure --nointeractive ${my_conf} || die "./configure failed" + + emake -j1 || die "emake failed" +} + +src_install() { + dodir /usr/{bin,sbin} /usr/$(get_libdir)/fax /usr/share/man + dodir /var/spool /var/spool/recvq + fowners uucp:uucp /var/spool/fax + fperms 0600 /var/spool/fax + dodir /usr/share/doc/${P}/html + + make \ + BIN=${D}/usr/bin \ + SBIN=${D}/usr/sbin \ + LIBDIR=${D}/usr/$(get_libdir) \ + LIB=${D}/usr/$(get_libdir) \ + LIBEXEC=${D}/usr/sbin \ + LIBDATA=${D}/usr/$(get_libdir)/fax \ + MAN=${D}/usr/share/man \ + SPOOL=${D}/var/spool/fax \ + HTMLDIR=${D}/usr/share/doc/${P}/html \ + install || die "make install failed" + + keepdir /var/spool/fax/{archive,client,etc,pollq,recvq,tmp} + keepdir /var/spool/fax/{status,sendq,log,info,doneq,docq,dev} + + dosed "s:hostname:hostname -f:g" /var/spool/fax/bin/{faxrcvd,pollrcvd} \ + || die "dosed hostname failed" + + generate_files # in this case, it only generates the env.d entry + + einfo "Adding env.d entry for Hylafax" + doenvd 99${P} + + 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 + + dodoc CHANGES CONTRIBUTORS COPYRIGHT README TODO +} + +pkg_postinst() { + elog + elog "The faxonly USE flag has been removed; since Hylafax does not" + elog "require mgetty, and certain fax files conflict, you must build" + elog "mgetty without fax support if you wish to use them both. You" + elog "may want to add both to package.use so any future updates are" + elog "correctly built:" + elog + elog " net-dialup/mgetty -fax" + elog " net-misc/hylafax [-mgetty|mgetty]" + elog + elog "There are additional files included in the hylafax/files dir." + elog + elog "Note 1: hylafax.cron is provided for vixie-cron users and" + elog "should be placed in /etc/cron.d. Use as-is or adapt it to" + elog "your system config." + elog + elog "Note 2: if you need to use hylafax with iptables, then you" + elog "need to specify the port and use ip_conntrack_ftp as shown" + elog "in the included example modules file." + elog + elog "See the docs and man pages for detailed configuration info." + elog + elog "Now run faxsetup and (if necessary) faxaddmodem." + elog +} + +generate_files() { + cat <<-EOF > 99${P} + PATH="/var/spool/fax/bin" + CONFIG_PROTECT="/var/spool/fax/etc /usr/$(get_libdir)/fax" + EOF +} -- cgit v1.2.3-65-gdbad