network/hylafax+: Added (enterprise-class fax system)

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
Christopher Walker 2013-04-27 15:13:21 -03:00 committed by Niels Horn
parent fd78242727
commit 5609d8af84
7 changed files with 487 additions and 0 deletions

9
network/hylafax+/README Normal file
View File

@ -0,0 +1,9 @@
HylaFAX is an enterprise-class system for sending and receiving
facsimiles as well as for sending alpha-numeric pages. The software
is designed around a client-server architecture. Fax modems may
reside on a single machine on a network and clients can submit
an outbound job from any other machine on the network.
HylaFAX+ is a more feature rich fork of the HylaFAX project.
See /usr/doc/hylafax-5.5.3/README.SLACKWARE for configuration hints.

View File

@ -0,0 +1,27 @@
/usr/doc/hylafax-@VERSION@/README.SLACKWARE
If you need to start hylafax at boot, add this to /etc/rc.d/rc.local:
# Starting the HylaFAX hfaxd and faxq Daemons at Boot.
if [ -x /etc/rc.d/rc.hylafax ]; then
/etc/rc.d/rc.hylafax start
fi
Edit /etc/inittab and add a line similar to:
m0:2345:respawn:/usr/libexec/hylafax/sbin/faxgetty ttyS0
where 'm0' is unique in inittab and 'ttyS0' matches the device
name(s) used at the outset of the faxaddmodem script.
With root permissions, execute '/usr/sbin/faxsetup'.
When finished, faxsetup will automatically run faxaddmodem for you.
Generally, you can follow all of the defaults except those for FaxMaster,
the local fax number(s), TSI, and any modem-specific information in
faxaddmodem.
It would be wise to run faxcron and faxqclean regularly from cron so that
the queue directories do not clutter up and fill the storage device. Many
installations run faxqclean every hour and faxcron every day. Insert
something like this into your uucp or root crontab file:
0 * * * * /usr/sbin/faxqclean
0 0 * * * /usr/sbin/faxcron | mail -s "HylaFAX Usage Report" faxmaster

View File

@ -0,0 +1,254 @@
# $Id: config.site,v 1.4 2009/05/25 18:41:23 faxguy Exp $
#
# HylaFAX Facsimile Software
#
# Copyright (c) 1990-1996 Sam Leffler
# Copyright (c) 1991-1996 Silicon Graphics, Inc.
# HylaFAX is a trademark of Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Sam Leffler and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
#
# This file holds site-specific configuration parameters.
#
# Nothing is defined in here by default, the definitions
# commented out below serve as documentation for what you
# can set in this file or a config.local file.
#
# Note that you do not need to set anything here unless you
# want to override the auto-configuration behaviour and/or
# interactive prompting done by the configure script.
#
#
# Package controls.
#
#DSO="auto" # configure DSO support (auto|IRIX|no)
#GETTY="auto" # type of getty support (auto|BSD|SysV)
#HTML="no" # install HTML documentation (yes|no)
#PS="auto" # PostScript support to use (auto|gs|dps|imp)
#SGI2FAX="auto" # configure SGI image support (auto|yes|no)
#DPS="no" # install SGI DPS-based RIP (yes|no)
GS="no" # install Ghostscript RIP (yes|no)
#IMP="no" # install SGI Impressario 2.1 support (yes|no)
#REGEX="yes" # use distributed regular expression package
#UTMP="utmpx" # type of utmp+wtmp handling (auto|utmp|utmpx)
#
# Directory parameters.
#
DIR_BIN="/usr/bin" # directory for client apps
DIR_LIB="/usr/lib@LIBDIRSUFFIX@" # directory for libfaxserver, libfaxutil
DIR_LIBDATA="/usr/lib/@LIBDIRSUFFIX@/hylafax" # directory for client data
DIR_LIBEXEC="/usr/libexec/hylafax" # directory for libraries&hidden apps
DIR_MAN="/usr/man" # directory for manual pages
DIR_SPOOL="/var/spool/hylafax" # directory for spooling area
DIR_SBIN="/usr/sbin" # directory for system apps
#DIR_LOCKS="/usr/spool/locks" # directory for UUCP lock files
#FONTMAP="/usr/share/ghostscript/3.33" # directorys containing Fontmap files
#PATH_AFM="/usr/lib/@LIBDIRSUFFIX@/DPS/AFM" # directorys for AFM files
#
# HTML-specific parameters; only used when the
# HTML package is configured for installation.
#
# Note that ``PATH''s are the virtual pathnames used
# in forming URLs; they are not directory pathnames
# in the filesystem.
#
#DIR_HTML="/var/httpd/htdocs/hylafax" # directory for HTML documentation
#DIR_CGI="/var/httpd/cgi-bin" # directory for CGI scripts
#HTMLPATH="/hylafax" # virtual path to HTML materials
#CGIPATH="/cgi-bin" # virtual path to CGI scripts
#
# Miscellaneous parameters.
#
#DEFVRES="196" # default vertical res for outbound fax
#FILLORDER="MS2LSB" # bit order of cpu (MSB2LSB/LSB2MSB)
FAXGID="uucp" # group ID for fax user
FAXUID="uucp" # user ID for fax user
PAGESIZE="North American Letter" # default page size
SYSGID="root" # group ID for system installs
SYSUID="root" # user ID for system installs
#LOCKS="ascii" # default UUCP lockfile scheme
#
#PATH_GETTY="/etc/getty" # pathname of suitable getty program
#PATH_VGETTY="/bin/vgetty" # pathname of voice getty program
#PATH_EGETTY="/bin/egetty" # pathname of external getty program
#PATH_SENDMAIL="/usr/lib/@LIBDIRSUFFIX@/sendmail" # pathname of suitable sendmail program
PATH_GSRIP="/usr/bin/gs" # pathname of Ghostscript-based RIP
#PATH_DPSRIP="/var/spool/hylafax/bin/ps2fax.exe" # pathname of DPS-based RIP
#PATH_IMPRIP="/usr/lib/@LIBDIRSUFFIX@/print/psrip" # pathname of Impressario 2.1 RIP
#MANSCHEME="sysv-source-cat-strip" # manual page installation scheme
SYSVINIT="auto" # install SysV-style init support (auto|yes|no)
DIR_SYSVINIT="/etc/rc.d" # location of SysV-style init script
DIR_SYSVINITSTART="/etc/rc.d" # location of SysV-style start script
DIR_SYSVINITSTOP="/etc/rc.d" # location of SysV-style stop script
NAME_SYSVINITSTART="rc.hylafax" # name of SysV-style start script
NAME_SYSVINITSTOP="rc.hylafax" # name of SysV-style stop script
FAXQ_SERVER=yes # init script starts faxq
HFAXD_SERVER=yes # init script starts hfaxd
HFAXD_SNPP_SERVER=no # don't start paging protocol
# SVR4 packaging stuff
#PKG_ARCH= # ARCH variable in pkginfo file
#PKG_EMAIL=someone@somehost.somedomain # EMAIL variable in pkginfo file
#PKG_VENDOR="Your Name Here" # VENDOR variable in pkginfo file
#
#
# Parameters used when building the software.
#
# Note that configure has several ENVOPTS built into it that are
# set according to the target. This is done to help naive folks.
#
# Beware of changing the INSTALL definition; you *must* have an
# install script that emulates the Silicon Graphics install program!
#
#AR="/bin/ar" # pathname of suitable ar program
#AROPTS="rc" # options to ar for creating archive
#CC="gcc" # name/pathname of C compiler
#CXX="gcc" # name/pathname of C++ compiler
#CXXFILE="-x c++" # options for proper C++ processing
#ENVOPTS="-Aa" # options for getting ANSI C
#GCOPTS="-g" # options to pass C compiler
#GCXXOPTS="-g" # options to pass C++ compiler
#GENDIST="/sbin/gendist" # pathname of SGI inst generator program
#INSTALL='${SHELL} ${PORT}/install.sh' # SGI install program/emulator
#LIBMALLOC="auto" # yes|no|auto configure -lmalloc use
#LIBPORT='${PORT}/libport.a' # library with emulation code
#LIBSUN="auto" # yes|no|auto configure -lsun use
#LLDOPTS="" # extra link line options
#MACHDEPLIBS="" # extra libraries for linking
#OPTIMIZER="-O" # optimizer flags
#PORTFUNCS="" # non-standard functions to emulate
#PROTOTYPES="-prototypes" # C compiler options for checking function prototypes
#RANLIB=":" # pathname of suitable ranlib program
#SHDLIBC="-lc_s" # shared C library, if not standard
#SIGHANDLERTYPES='(void(*)(int,...))' # types to check for signal handler
#STRIP="/bin/strip" # strip program used by install.sh
#
# The source for the TIFF library is not required
# to build this software, but the library is required
# to link against. If libtiff is installed in a
# non-standard location then setup LIBTIFF accordingly.
#
LIBTIFF="-L/usr/lib@LIBDIRSUFFIX@ -ltiff" # linkage convention for libtiff
TIFFINC="-I/usr/include" # place to find tiffio.h
TIFFBIN="/usr/bin" # where TIFF tools live
#
# The source for the ZLIB library is not required
# to build this software, but the library is required
# to link against. If ZLIB is installed in a
# non-standard location then setup LIBZ accordingly.
#
LIBZ="-L/usr/lib@LIBDIRSUFFIX@ -lz" # linkage convention for libz
ZLIBINC="-I/usr/include" # place to find zlib.h
#
# The source for the POSIX regular expression package
# is not required to build this software, but the package
# is required to link against. If the copy of the software
# that is included in this distribution is not to be used
# then set REGEX=no and supply the following definitions.
#
#LIBREGEX=" " # linkage convention for regex package
#REGEXINC="-I/usr/include" # place to find regex.h
#
# Parameters to control various workarounds for system bugs.
#
# These parameters are normally set in configure based on
# the target system. If they are set here, then they will
# override anything done by configure.
#
#CONFIG_OPENFIFO="O_RDONLY" # mode to open FIFOs in server proc's
#CONFIG_FIFOBUG="yes" # enable workaround for FIFO select bug
#CONFIG_TIOCMBISBYREF="yes" # pass arg by reference to ioctl
#CONFIG_WINSZHACK="no" # include extra files for TIOCWINSZ use
#CONFIG_ABORTBUG="no" # enable workaround for abort problems
#CONFIG_NOREOPEN="yes" # reopen tty device after toggling DTR
#CONFIG_NOSTDINDUP="yes" # do not redirect stdout to stdin in ondelay
#CONFIG_BADEXECVPROTO="no" # system has incorrect execv func decl
#CONFIG_BADEXECVEPROTO="no" # system has incorrect execve func decl
#CONFIG_BADGETOPTPROTO="no" # system has incorrect getopt func decl
#CONFIG_SOCKARGLENTYPE="unsigned long" # call-by-ref arg type for socket funcs
#CONFIG_BADSELECTPROTO="no" # system has way old select func decl
#CONFIG_MAXGID="5999" # maximum permissable GID
#CONFIG_OSFCNH="auto" # control inclusion of <osfcn.h>
#
# Dynamic Shared Object (DSO) support.
#
# Beware that adding new support for DSOs may require some
# modifications to the */Makefile.dso files.
#
#DSOSUF="so" # DSO filename suffix
#DSODELAY="-delay_load" # DSO option for delayed loading
#DSOOPTS="-shared -rdata_shared" # options for building DSOs
#
# Makefile construction parameters.
#
# These should not normally be set; configure will
# deduce the appropriate syntax to use for includes.
#
#MAKECXXOVERRIDE="=.C" # make override stuff for SunPRO C++
#MAKEDEPINCLUDE="include" # make include for dependency files
#MAKEDSOINCLUDE="#" # make include for DSO support
#MAKEINCLUDE=".include" # make include syntax
#MAKELQUOTE="<" # make include syntax
#MAKERQUOTE=">" # make include syntax
#SETMAKE='MAKE = ${MAKE}' # define if make does not setup $MAKE
#MKDEPCOPTS="" # C compiler opts to supply w/ -M
#MKDEPCXXOPTS="" # C++ compiler opts to supply w/ -M
#
# General system stuff used by the distribution.
#
# Beware of setting these as configure selects several programs
# based on whether or not they are capable of processing scripts
# included in the distribution (e.g AWK and SCRIPT_SH, SED).
#
#AWK="/bin/awk" # pathname of suitable awk program
#CAT="/bin/cat" # pathname of suitable cat program
#CHGRP="/etc/chgrp" # pathname of suitable chgrp program
#CHMOD="/etc/chmod" # pathname of suitable chmod program
#CHOWN="/etc/chown" # pathname of suitable chown program
#CMP="/bin/cmp" # pathname of suitable cmp program
#COL="/bin/col" # pathname of suitable col program
#CP="/bin/cp" # pathname of suitable cp program
#ECHO="/bin/echo" # pathname of suitable echo program
#GREP="/bin/grep" # pathname of suitable grep program
#LN="/bin/ln" # pathname of suitable ln program
#LN_S="-s" # option to ${LN} to create symlink
#MAN="/usr/bin/man" # pathname of suitable man program
MKDIR="/bin/mkdir -p" # pathname of suitable mkdir program
#MKFIFO="/bin/mkfifo" # pathname of suitable mkfifo program
#MV="/bin/mv" # pathname of suitable mv program
#MV_F="-f" # option to ${MV} to force operation
#RMCMD="/bin/rm" # pathname of suitable rm program
#SED="/bin/sed" # pathname of suitable sed program
#SCRIPT_SH="/bin/sh" # pathname of suitable shell
#SORT="/bin/sort" # pathname of suitable sort program

View File

@ -0,0 +1,44 @@
config() {
NEW="$1"
OLD="`dirname $NEW`/`basename $NEW .new`"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
preserve_perms() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
if [ -e $OLD ]; then
cp -a $OLD ${NEW}.incoming
cat $NEW > ${NEW}.incoming
mv ${NEW}.incoming $NEW
fi
config $NEW
}
preserve_perms etc/rc.d/rc.hylafax.new
config var/spool/hylafax/etc/dialrules.new
config var/spool/hylafax/etc/dialrules.europe.new
config var/spool/hylafax/etc/dialrules.sf-ba.new
config var/spool/hylafax/etc/dpsprinter.ps.new
config var/spool/hylafax/etc/hosts.hfaxd.new
config var/spool/hylafax/etc/cover.templ.new
config var/spool/hylafax/etc/dialrules-pabx.be.new
config var/spool/hylafax/etc/dialrules.ext.new
config var/spool/hylafax/etc/dialrules.uk.new
config var/spool/hylafax/etc/dialrules.world.new
# We warn about needed configuration to the /etc/inittab file.
printf "\nThe following line will need be added to your /etc/inittab:
please check if it is the correct tty device for the modem,
and if not, change it to the correct one.
m0:23:respawn:/usr/libexec/hylafax/faxgetty ttyS0\n\n"
# Hylafax faxgetty activation

View File

@ -0,0 +1,124 @@
#!/bin/sh
# Slackware build script for hylafax+
# Copyright 2013 Christopher Walker Copperas Cove, TX
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=hylafax+
SRCNAM=hylafax
VERSION=${VERSION:-5.5.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar -xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Copy our source for the correct configuration
sed "s|@LIBDIRSUFFIX@|${LIBDIRSUFFIX}|g" \
< $CWD/config.local.in \
> $TMP/$SRCNAM-$VERSION/config.local
CFLAGS="${SLKCFLAGS}" \
CXXFLAGS="${SLKCFLAGS}" \
./configure \
--target=$ARCH-slackware-linux \
--nointeractive \
--disable-pam \
--with-optmizer=${CFLAGS}
make
mkdir -p $PKG/etc/rc.d
make install INSTALLROOT=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mv $PKG/etc/rc.d/hylafax $PKG/etc/rc.d/rc.hylafax.new
cd $PKG/var/spool/hylafax/etc
mv cover.templ cover.templ.new
mv dialrules-pabx.be dialrules-pabx.be.new
mv dialrules.ext dialrules.ext.new
mv dialrules.uk dialrules.uk.new
mv dialrules.world dialrules.world.new
mv dialrules dialrules.new
mv dialrules.europe dialrules.europe.new
mv dialrules.sf-ba dialrules.sf-ba.new
mv dpsprinter.ps dpsprinter.ps.new
mv hosts.hfaxd hosts.hfaxd.new
cd -
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
CHANGES CONTRIBUTORS COPYRIGHT INSTALL TODO VERSION \
$PKG/usr/doc/$PRGNAM-$VERSION
sed "s%@VERSION@%$VERSION%g" $CWD/README.SLACKWARE > \
$PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chmod -R a-w $PKG/usr/doc/$PRGNAM-$VERSION/*
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="hylafax+"
VERSION="5.5.3"
HOMEPAGE="http://hylafax.sourceforge.net"
DOWNLOAD="http://prdownloads.sourceforge.net/hylafax/hylafax-5.5.3.tar.gz"
MD5SUM="5318b605f21843d418114ccac10ae7dd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Christopher Walker"
EMAIL="kris240376@gmail.com"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
hylafax+: hylafax+ (enterprise-class fax system)
hylafax+:
hylafax+: Making the Premier Open-Source Fax Management System Even Better.
hylafax+:
hylafax+: HylaFAX+ is an enterprise-class system for sending and receiving
hylafax+: facsimiles as well as for sending alpha-numeric pages.
hylafax+:
hylafax+: The "+" means that it is better than its originating project, HylaFAX.
hylafax+:
hylafax+: Homepage: http://hylafax.sourceforge.net/
hylafax+: