summaryrefslogtreecommitdiff
path: root/comms/hylafax
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>1997-05-29 06:49:26 +0000
committerSatoshi Asami <asami@FreeBSD.org>1997-05-29 06:49:26 +0000
commit78c9b17c9cbf4e67438d366341368ca89b44f86e (patch)
treec6272729bffafa3bdae23a1a251c83cf0b5c7049 /comms/hylafax
parentCorrectly Enable/Disable PERL5 support according to value of USE_PERL5. (diff)
Upgrade to 4.01. This port requires tiff-3.4.
PR: 3518 Submitted by: itojun@itojun.org
Notes
Notes: svn path=/head/; revision=6618
Diffstat (limited to 'comms/hylafax')
-rw-r--r--comms/hylafax/Makefile155
-rw-r--r--comms/hylafax/distinfo3
-rw-r--r--comms/hylafax/files/README235
-rw-r--r--comms/hylafax/files/hylafax.sh.sample9
-rw-r--r--comms/hylafax/files/patch-ab59
-rw-r--r--comms/hylafax/files/patch-ad172
-rw-r--r--comms/hylafax/files/patch-ae144
-rw-r--r--comms/hylafax/pkg-descr26
-rw-r--r--comms/hylafax/pkg-message18
-rw-r--r--comms/hylafax/pkg-plist230
10 files changed, 463 insertions, 588 deletions
diff --git a/comms/hylafax/Makefile b/comms/hylafax/Makefile
index e1d78b2bc514..9aa572fb811c 100644
--- a/comms/hylafax/Makefile
+++ b/comms/hylafax/Makefile
@@ -1,119 +1,62 @@
# ports collection makefile for: hylafax
-# Version required: v3.0pl1
-# Date created: 16 May 1995
-# Whom: Julian Stacey <jhs@freebsd.org>
-# To Replace: flexfax v2.3beta038special
-# Name changed from flexfax to hylafax by author of both: Sam Leffler.
+# Version required: v4.0pl1
+# Date created: 19 Apr 1997
+# Whom: Jun-ichiro itojun Itoh <itojun@itojun.org>
+#
+# $Id: Makefile,v 1.8 1996/11/17 03:00:42 obrien Exp $
#
-# $Id: Makefile,v 1.7 1996/03/06 08:19:56 asami Exp $
-DISTNAME= hylafax-v3.0pl0
-PKGNAME= hylafax-3.0.1
+DISTNAME= hylafax-v4.0pl1
+PKGNAME= hylafax-4.0.1
CATEGORIES= comms
MASTER_SITES= ftp://ftp.sgi.com/sgi/fax/source/
EXTRACT_SUFX= -tar.gz
-PATCH_SITES= ftp://ftp.sgi.com/sgi/fax/source/
-PATCHFILES= hylafax-v3.0pl0-patch01.gz
-
-MAINTAINER= jhs@FreeBSD.org
-
-RUN_DEPENDS= bash:${PORTSDIR}/shells/bash gs:${PORTSDIR}/print/ghostscript
-BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
-
-# Someone with more time & less space than me can investigate merging these.
-# LIB_DEPENDS= something:${PORTSDIR}/graphics/tiff
-# ./libtiff has 2M, & may be duplicates of what is in ${PORTSDIR}/graphics/tiff
-# LIB_DEPENDS= something:${PORTSDIR}/print/afm
-# ./afm/ has 536K of fonts, that perhaps could be merged.
-
-.if !exists(patches/patch-ab)
-IS_INTERACTIVE= yes
-# patches/patch-ab makes this BATCH compilable,
-# ( If you need interactive config, rm patch-ab )
-.endif
-PATCH_DIST_STRIP=-p1
+MAINTAINER= itojun@itojun.org
+
+BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
+ ${PREFIX}/lib/afm/Courier:${PORTSDIR}/print/afm
+# no dependency on ghostscript because we don't know which
+# version the user prefers
+RUN_DEPENDS= bash:${PORTSDIR}/shells/bash
+LIB_DEPENDS= tiff34\\.1\\.:${PORTSDIR}/graphics/tiff34 \
+ jpeg\\.7\\.:${PORTSDIR}/graphics/jpeg
+
+USE_GMAKE= yes
+CONFIGURE_ARGS= --with-INSTALL="" \
+ --with-MAKE=gmake --with-CC=/usr/bin/cc \
+ --with-LIBTIFF="-L${PREFIX}/lib -ltiff34 -ljpeg" \
+ --with-TIFFINC="${WRKSRC}"
HAS_CONFIGURE= yes
-MAN1= fax2ps.1 faxalter.1 faxcover.1 faxmail.1 faxrm.1 faxstat.1 \
- hylafax.1 sendfax.1 sendpage.1 sgi2fax.1 textfmt.1
-MAN5= pagesizes.5f typerules.5f cid.5f config.5f destctrls.5f \
- dialrules.5f hosts.5f hylafax.5f info.5f log.5f recvq.5f \
- sendq.5f status.5f tsi.5f xferlog.5f
-MAN8= dialtest.8c faxabort.8c faxaddmodem.8c faxanswer.8c \
- faxcron.8c faxd.recv.8c faxgetty.8c faxq.8c faxquit.8c \
- faxrcvd.8c faxsend.8c mkcover.8c notify.8c pagesend.8c \
- pollrcvd.8c ps2fax.8c recvstats.8c tagtest.8c transcript.8c \
- tsitest.8c xferstats.8c
-
-FAXCOVER?= /etc/faxcover.ps
-# Default location to check for an optional over-riding host specific
-# customised faxcover that will be installed in these sources,
-# & end up where Hylafax installs all its stuff by default:
-# /var/spool/fax/etc/....
-# Note dont make FAXCOVER use a variable (such as ${PREFIX}),
-# as that wont work in `exists' below.
-
-# ------------------------------------------------------------------------------
-
-# We don't want INSTALL to be passed to configure
-do-configure:
- @(cd ${WRKSRC}; CC="${CC}" ac_cv_path_CC="${CC}" CFLAGS="${CFLAGS}" \
- ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
-
-post-configure:
-.if exists(${FAXCOVER})
- @echo I see you have ${FAXCOVER},
- @echo which I will use to install a system default from.
- @# When I suggested to Sam (in the flexfax mailing list) merging
- @# in the distribution util/cover.templ & faxcover/faxcover.ps
- @# ( as they are virtually identical) Sam said they're for
- @# different things, & wouldn't do it. I don't know what the
- @# different purposes are, & I Do succesfully use the same file.
- -cd ${WRKSRC} ; mv faxcover/faxcover.ps faxcover/faxcover.ps.mv
- -cd ${WRKSRC} ; mv util/cover.templ util/cover.templ.mv
- -cd ${WRKSRC} ; ln -s ../cover.ps faxcover/faxcover.ps
- -cd ${WRKSRC} ; ln -s ../cover.ps util/cover.templ
- -cd ${WRKSRC} ; ln -s ${FAXCOVER} cover.ps
-.endif
-.if exists(patches/patch-ab)
- @echo "patches/patch-ab has supressed interactive configuration."
- @# If you need interactive config, rm patch-ab
-.endif
+MAN1= hylafax.1 faxalter.1 faxcover.1 faxmail.1 faxrm.1 faxstat.1 sendfax.1 \
+ sendpage.1 sgi2fax.1 textfmt.1
+MAN5= pagesizes.5f typerules.5f \
+ hylafax.5f cid.5f config.5f destctrls.5f dialrules.5f hosts.5f \
+ info.5f log.5f pagermap.5f recvq.5f sendq.5f shutdown.5f status.5f \
+ tsi.5f xferlog.5f
+MAN8= cqtest.8c choptest.8c dialtest.8c faxabort.8c faxaddmodem.8c \
+ faxanswer.8c faxconfig.8c faxmodem.8c faxstate.8c faxcron.8c \
+ faxgetty.8c faxinfo.8c faxq.8c faxqclean.8c faxquit.8c faxrcvd.8c \
+ faxsend.8c faxsetup.8c faxwatch.8c hfaxd.8c mkcover.8c notify.8c \
+ pagesend.8c pollrcvd.8c ps2fax.8c recvstats.8c tagtest.8c tiff2fax.8c \
+ tiffcheck.8c tsitest.8c wedged.8c xferstats.8c
+
+SUID_EXES= ${PREFIX}/sbin/faxgetty ${PREFIX}/sbin/faxq \
+ ${PREFIX}/bin/faxrm ${PREFIX}/bin/faxalter
+
+# for tiff34
+pre-configure:
+ @${RM} -f ${WRKSRC}/tiff.h
+ @${RM} -f ${WRKSRC}/tiffio.h
+ @ln -s ${PREFIX}/include/tiff34.h ${WRKSRC}/tiff.h
+ @ln -s ${PREFIX}/include/tiffio34.h ${WRKSRC}/tiffio.h
post-install:
- cd ${PREFIX}/bin ; strip \
- fax2ps faxalter faxcover faxmail faxrm faxstat sendfax sendpage
- cd ${PREFIX}/sbin ; strip faxd.recv faxgetty faxq
- @echo "Hylafax by default only does this sete[gu]id 0 stuff:"
- @echo " -u uucp -m 4755 faxq faxgetty"
- @echo "If you, like I, think it needs more, run 'make suid'"
- @echo "Now consider running faxaddmodem"
-
-SUID_EXES= /usr/local/sbin/faxgetty
-SUID_EXES+= /usr/local/sbin/faxq
-SUID_EXES+= /usr/local/bin/faxrm
-SUID_EXES+= /usr/local/bin/faxalter
-suid:
- @# This does too much, & may perhaps cause security loopholes,
- @# but default Hylafax doesnt do enough, eg faxrm wont work,
- @# & even worse, I have received a faxes that then silent failed
- @# to write to recvq.
- @# Only fax modem users who test their hypotheses may change this !
- @# (Imagine losing an important incoming fax, if recvq is unwritable.)
chown uucp ${SUID_EXES}
- chgrp dialer ${SUID_EXES}
- chmod 6555 ${SUID_EXES}
- find /var/spool/fax -print | xargs chown uucp
- find /var/spool/fax -print | xargs chgrp dialer
- find /var/spool/fax -print | xargs chmod g+w
- find /var/spool/fax -print | xargs chmod g+r
- find /var/spool/fax -type d -print | xargs chmod g+x
- # now remove some x bits that get set by mistake.
- -cd /var/spool/fax ; chmod g-x FIFO* log/* status/* recvq/* sendq/*
- @echo "Now nonsider doing somethink like this:"
- @echo " sh"
- @echo " n=1"
- @echo ' all="ttyd$$n ttyid$$n ttyld$$n cua0$$n cuai0$$n cual0$$n"'
- @echo ' chown uucp $$all; chgrp dialer $$all; chmod 660 $$all'
+ chmod 4555 ${SUID_EXES}
+ @if [ ! -f ${PREFIX}/etc/rc.d/hylafax.sh.sample ]; then \
+ cp ${FILESDIR}/hylafax.sh.sample ${PREFIX}/etc/rc.d; \
+ fi
+ ${CAT} ${PKGDIR}/MESSAGE
.include <bsd.port.mk>
diff --git a/comms/hylafax/distinfo b/comms/hylafax/distinfo
index 2591dbd621a8..b191640c850a 100644
--- a/comms/hylafax/distinfo
+++ b/comms/hylafax/distinfo
@@ -1,2 +1 @@
-MD5 (hylafax-v3.0pl0-tar.gz) = 014ec8a64ea7493d26c50c61b5ef3111
-MD5 (hylafax-v3.0pl0-patch01.gz) = ed7b8aa6a6ae5d2843624f86478a0f8c
+MD5 (hylafax-v4.0pl1-tar.gz) = 47af6fb4b94985c8829c47003bc4e4ab
diff --git a/comms/hylafax/files/README b/comms/hylafax/files/README
index a979996b61d8..fa7926e3174d 100644
--- a/comms/hylafax/files/README
+++ b/comms/hylafax/files/README
@@ -1,225 +1,10 @@
- NOTES ON HYLAFAX IN FREEBSD (/usr/ports/comms/hylafax)
- By Julian Stacey <jhs@freebsd.org> May 1995
-
-This port replaces flexfax (which is over a year old).
-Thanks to Sam Leffler of SGI for writing & releasing Hylafax :-)
-I <jhs@freebsd.org> wrote the FreeBSD ports/comm/hylafax/* files,
-
-Copyright Julian Stacey 1995:
- Please preserve & comply with Sam Leffler's & SGI's legal stuff
- I hereby release my work in this area for public use, & disclaim
- all liability !
- Leave my name intact please, I'm a freelance, publicity can be useful.
-
-Documentation:
- - On Line Manuals: man hylafax.
- - World Wide Web site: (http://www.vix.com/flexfax/
- - Source tree: Local copies of web in html & html/FAQ etc.
-
-Mailing List for Support, Development etc:
- Don't mail me your fax or modem problems, nor post Hylafax
- software bugs & fax modem problems to a Freebsd mail list.
- The correct mail list: flexfax@sgi.com
-
-Patches:
- Bug reports, accompanied by diff -c patches, will be reviewed &
- commited to FreeBSD/ports).
-
-Examples:
- Syntax etc examples are in: config.jhs config.ttyd1.jhs etc.ttys.jhs
-
-My Test Environment:
- SupraFax V32bis + FreeBSD-2-current (May 1995)
-
-Outstanding:
- I'm not sure if the lock file scheme is OK
- (It may be, I just used the default).
- Some of the permissions are not right,
- (sometimes I get many email acknowledgements for each fax
- sent (but fax is only sent once, no horrendous phone bill
- ... yet ;-)
- My faxgetty will not answer as a normal modem (maybe its the modem,
- or maybe my config file is wrong).
-
----
-Julian Stacey <jhs@freebsd.org> Tel. +49 89 268616. Fax Modem: 2608126
- http://www.regent.e-technik.tu-muenchen.de/people/jhs.html
-Vector Systems Ltd: an Internet, Unix & C consultancy in Munich Germany
-
-Appended are some example Config files:
-
-etc.ttys
-{-------
-ttyd1 "/usr/local/sbin/faxgetty" vt100 on unsecure
--------}
-
-config
-{-------
-LogFacility: daemon
-CountryCode: 49
-AreaCode: 89
-LongDistancePrefix: 0
-InternationalPrefix: 00
-DialStringRules: etc/dialrules.europe
-ServerTracing: 1
-MaxSendPages: 20
--------}
-
-config.ttyd1
-{-------
-# /var/spool/fax/etc/config.ttyd1 by jhs@freebsd.org
-# from $Header: /usr/people/sam/fax/config/RCS/rockwell,v 1.25 1995/03/10 23:36:02 sam Exp $
-# this file documented in man config
-
-# Sam says:
-# {
-# If you stop faxq then faxd.recv will remove the job itself;
-# otherwise if it sees faxq is running it passes the remove request on and
-# assumes the task was completed (there is no acknowledgement).
-
-# ServerTracing so that tracing messages are not sent out (listed in the
-# TODO file, a fix is welcome). If you think this might be happening, try
-# echo "CServerTracing: 0x201">/var/spool/fax/FIFO
-# to force faxq to reset the current value for ServerTracing.
-# }
-
-# Configuration for a Rockwell-based Class 2 modem.
-# Boca M1440E firmware V1.270 or newer
-# Dallas Fax (throw it away!)
-# Hayes Optima 24+Fax96 firmware TR00-J260-001 XXX or newer
-# SupraFAX v.32bis firmware V1.200-C or newer
-# Twincom 144/DF firmware revision V1.200 or newer
-# Dynalink 1414VE
-# (and others)
-
-# This configuration file sets up the modem to run at 19.2 for
-# sending and for receiving. XON/XOFF flow control is used on
-# the tty port. RTS/CTS can be used by switching the flow control
-# setup, but beware of modems that do not support it during
-# facsimile operations. Also beware that the adaptive-answer
-# facility, when supported, is usually unreliable.
-
-# AdaptiveAnswer boolean No enable adaptive answer of inbound calls
-AdaptiveAnswer Yes
-# AnswerRotary string Any alternatives for answering calls
-# AnswerRotary "fax data"
-# DestControls jhs set later see man destctrls
-
-MaxDials 3 # max calls to transmit a job (presumably doing succesive pages)
-# Wrong numbers cost me 23pf per fail, & earache to whoever answers the phone !
-# MaxTries 3 # max attempts to transmit a job (3 default)
-NoCarrierRetrys 0 # default 1 # number of times to retry dialing on ``NO CARRIER''
-
-# JobReqBusy integer 300 requeue interval for BUSY dial result
-
-MaxSendPages 20 # max pages to permit in a send
-
-# jhs later QualifyTSI file of TSI patterns for qualifying senders
-CountryCode: 49
-AreaCode: 89
-FAXNumber: +49.89.2608126 # also used to name session log file
-LocalIdentifier: "+49 89 2608126"
-LongDistancePrefix: 0
-InternationalPrefix: 00
-DialStringRules: etc/dialrules.europe
-ServerTracing: 1
-SessionTracing: 11
-RecvFileMode: 0644 # if you have nosey users, consider 0600
-LogFileMode: 0644 # make it 0600 if calling card access codes are logged
-DeviceMode: 0600
-RingsBeforeAnswer: 2
-SpeakerVolume: medium
-
-# Any appearance of ``%l'' is replaced with the tty name and any
-# appearance of ``%s'' is replaced with the serial port speed (in decimal).
-GettyArgs: "std.%s -" # "std.%s ttyd1" # default is "-h %l dx_%s"
-# FreeBSD man getty says: getty [type [tty]]
-# FreeBSD man login says: -h specifies host from which the connection received.
-# kew@timesink.spk.wa.us (FreeBSD 2.1.0) uses "std.%s -".
-
-TagLineFont: etc/lutRS18.pcf
-# pre jhs default was TagLineFormat: "From %%l|%c|Page %%p of %%t"
-# %c gives American-only date format, which is confusing in Britain or Germany
-# so I use international accountancy date format: (19)95 08 01 (ie 1st Aug)
-# I use no words in my tag line, as fax may be in German or English.
-#---
-# allow at least 4 spaces before VSL as PCS fax chops left margin
-# dont actually use space char, as entabbing this file will lose it all
-# dont put too much in any one field or will overprint
-# %%l takes LocalIdentifier
-# %%n sender fax ie +49.89.2608126
-# %%d target fax ie +498968004525, from sendfax -d gary@68004.525
-# %%p page number inc. cover sheet
-# %%t total pages inc. cover sheet
-# jhs created `pages' symbol (\241 dec161 xa1) in lutRS18.pcf
-# jhs created `phone' symbol (\244 dec164 xa4) in lutRS18.pcf
-# `phone' & `pages' are inspired by symbols that pcs fax machine prints
-# PCS FAX is "Canon Fax 280" Model H11232, + H11 2325 + HA2 1324, REN=3
-TagLineFormat: "Fax %%n|Tel \244 +49 89 268616|\241 %%p/%%t %Y:%m:%d %H:%M"
-
-# MaxRecvPages: unlimited
-
-# Modem-related stuff: should reflect modem command interface
-# and hardware connection/cabling (e.g. flow control).
-
-ModemType: Class2 # use class 2 interface
-ModemRate: 19200 # fax send&recv is locked at 19.2
-ModemFlowControl: xonxoff # default
-
-ModemResetCmds: AT&F2 # what you want for a Supra # JJ I have not checked operation since enabling this
-ModemNoFlowCmd: AT&K # disable flow control cmd
-ModemHardFlowCmd: AT&K3 # hardware flow control cmd
-ModemSoftFlowCmd: AT&K4 # software flow control cmd
-ModemSetupDTRCmd: AT&D3 # DTR off causes modem to reset
-#ModemSetupDTRCmd: AT&D2S25=1S38=0 # Dynalink 1414VE needs this
-ModemSetupDCDCmd: AT&C1 # DCD follows carrier
-ModemSetupAACmd: AT+FAA=1+FCLASS=0 # enable in current class
-# FAQ says: AT+FAA=1 Auto answer as facsimile or data depending on call
-
-ModemSendFillOrder: LSB2MSB # as expected
-ModemRecvFillOrder: MSB2LSB # opposite of what makes sense
-
-ModemDialCmd: ATDT%s@ # T for tone dialing, @ for silence
-
-# Caller ID configuration setup for Supra.
-
-# QualifyCID: etc/cid (off by default) CID access control list file
-CIDNumber: "NMBR = " # pattern string for phone number info # JJ I have not checked operation since enabling this
-CIDName: "NAME = " # pattern string for identity info # JJ I have not checked operation since enabling this
-
-# DEFAULTS FOR REFERENCE
-# ModemAnswerFaxCmd string ATA command for answering fax call
-# ModemAnswerDataCmd string ATA command for answering data call
-
-# Class1RecvIdentTimer
-# The time, in milliseconds, to wait for an initial
-# DCS when receiving a facsimile. CCITT recommenda-
-# tion T.30 specifies this as the value of the T1
-# timer. However, adaptive answering schemes such as
-# that described above under the AdaptiveAnswer
-# parameter may require that this timer be shortened.
-# Class1RecvIdentTimer 35000 Class 1: max wait (ms) for initial ident frame
-Class1RecvIdentTimer 12000
-
-# Supra default wait for carrier is 50/10th sec, change with ats7=255
-# Datatronic default wait for carrier is 45/10th sec.
-# matthias says: config.ttyd1
-#
-# FaxT1Timer
-# should not be changed without full understanding of the ... server.
-# The value of the T1 timer in milliseconds. This
-# timer is used to time out the initial session con-
-# tact; i.e. receipt of DIS/DCS.
-# FaxT1Timer 35000 CCITT T.30 T1 timer (ms)
-#
-# AdaptiveAnswer:
-# Class1RecvIdentTimer should be set to a value that
-# is shorter than FaxT1Timer.
-# yet defaults for both are exactly the same: 35000 / 1000 sec.
-
-UUCPLockDir /var/spool/lock # jhs added this after seeing where kermit created a lock.
-UUCPLockType ascii # jhs added this after seeing what kermit created
-# Note kermit -l /dev/supra created /var/spool/lock/LCK..supra
-# (supra is a link to cua01, so the lock wont really work, as I'm running
-# gettyfax on ttyd1.
--------}
+The port is complete rewrite of hylafax-3.0p1 port by Julian Stacey
+<jhs@freebsd.org>, May 1995.
+original notice was as follows:
+
+ Copyright Julian Stacey 1995:
+ Please preserve & comply with Sam Leffler's & SGI's legal stuff
+ I hereby release my work in this area for public use,
+ & disclaim all liability !
+ Leave my name intact please, I'm a freelance, publicity can
+ be useful.
diff --git a/comms/hylafax/files/hylafax.sh.sample b/comms/hylafax/files/hylafax.sh.sample
new file mode 100644
index 000000000000..069ac04e1686
--- /dev/null
+++ b/comms/hylafax/files/hylafax.sh.sample
@@ -0,0 +1,9 @@
+#! /bin/sh
+# hylafax startup example.
+# be sure to initialize the followings:
+# server: /usr/local/sbin/faxsetup
+# modems: /usr/local/sbin/faxaddmodem
+# incoming calls: /etc/ttys
+if [ -x /usr/local/sbin/faxq ]; then
+ /usr/local/sbin/faxq && echo -n ' hylafax'
+fi
diff --git a/comms/hylafax/files/patch-ab b/comms/hylafax/files/patch-ab
index 03446a5f38db..cf63662b07a4 100644
--- a/comms/hylafax/files/patch-ab
+++ b/comms/hylafax/files/patch-ab
@@ -1,32 +1,27 @@
-This patch prepared by Julian Stacey <jhs@FreeBSD.Org
-
-Make this a BATCH compilable port, instead of IS_INTERACTIVE
-
-Warning before removing or renaming this patch,
-consult this code segment in ../Makefile:
- .if !exists(patches/patch-aa)
- IS_INTERACTIVE= yes
- .endif
-
-*** configure Sat May 20 16:30:29 1995
---- configure Sat May 20 16:58:58 1995
-***************
-*** 2889,2895 ****
- fi
- checkForExecutable $PATH_SENDMAIL
- checkForExecutable $PATH_GETTY
-! printConfig; prompt "Are these ok [yes]?"; read ok
- test -z "$ok" && ok=yes
- case "$ok" in
- [1-9]|1[0-7]) promptForParameter $ok;;
---- 2889,2898 ----
- fi
- checkForExecutable $PATH_SENDMAIL
- checkForExecutable $PATH_GETTY
-! printConfig
-! ok=yes
-! echo "If you do not like this config, uncomment next prompt line in configure."
-! # prompt "Are these ok [yes]?"; read ok
- test -z "$ok" && ok=yes
- case "$ok" in
- [1-9]|1[0-7]) promptForParameter $ok;;
+--- ./configure.org Tue Nov 26 15:20:17 1996
++++ ./configure Wed May 28 21:55:16 1997
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/local/bin/bash
+ # $Id: configure,v 1.401 1996/11/23 17:28:45 sam Rel $
+ #
+ # HylaFAX Facsimile Software
+@@ -239,7 +241,7 @@
+ test -d /usr/ucb && PATH=$PATH:/usr/ucb # Sun and others
+ test -d /usr/contrib/bin && PATH=$PATH:/usr/contrib/bin # BSDi
+ test -d /usr/5bin && PATH=/usr/5bin:$PATH:/usr/etc # Sun and others
+-test -d /usr/local/bin && PATH=/usr/local/bin:$PATH # for GNU stuff
++test -d /usr/local/bin && PATH=$PATH:/usr/local/bin # for GNU stuff
+ PATH=$PATH:$OPATH
+
+ POSIXLY_CORRECT=1; export POSIXLY_CORRECT # disable GNU extensions
+@@ -3928,7 +3930,8 @@
+ printConfig
+ checkForExecutable $PATH_SENDMAIL
+ checkForExecutable $PATH_GETTY
+- prompt "Are these ok [yes]?"; read ok
++# prompt "Are these ok [yes]?"; read ok
++ ok=yes
+ test -z "$ok" && ok=yes
+ case "$ok" in
+ [1-9]|1[0-9]) promptForParameter $ok;;
diff --git a/comms/hylafax/files/patch-ad b/comms/hylafax/files/patch-ad
index 1dc3eb71b51d..ee3f0c4529df 100644
--- a/comms/hylafax/files/patch-ad
+++ b/comms/hylafax/files/patch-ad
@@ -1,102 +1,78 @@
-*** 1.14 1995/04/08 21:29:53
---- faxd/ClassModem.c++ 1995/06/21 14:44:41
+To fit the FreeBSD tty device handling scheme.
+
+*** faxd/Getty.c++.orig Sun Apr 20 16:40:07 1997
+--- faxd/Getty.c++ Sun Apr 20 16:40:31 1997
***************
-*** 910,915 ****
---- 910,919 ----
- * the syntax specified in the "standard". Try looking
- * at some of the responses given by rev ~4.04 of the
- * ZyXEL firmware (for example)!
-+ *
-+ * NB: We accept alphanumeric items but don't return them
-+ * in the parsed range so that modems like the ZyXEL 2864
-+ * that indicate they support ``Class Z'' are handled.
- */
- fxBool
- ClassModem::vparseRange(const char* cp, int nargs ... )
+*** 218,224 ****
+ // NB: this is executed in the parent
+ fxStr device = fxStr::format("%s/" | line, _PATH_DEV);
+ Sys::chown(device, UUCPLock::getUUCPUid(), UUCPLock::getUUCPGid());
+! Sys::chmod(device, 0600); // reset protection
+ }
+
+ extern void vlogError(const char* fmt, va_list ap);
+--- 218,224 ----
+ // NB: this is executed in the parent
+ fxStr device = fxStr::format("%s/" | line, _PATH_DEV);
+ Sys::chown(device, UUCPLock::getUUCPUid(), UUCPLock::getUUCPGid());
+! Sys::chmod(device, 0660); // reset protection
+ }
+
+ extern void vlogError(const char* fmt, va_list ap);
+*** faxd/UUCPLock.c++.orig Wed Nov 27 08:21:38 1996
+--- faxd/UUCPLock.c++ Sun Apr 20 17:09:21 1997
***************
-*** 926,935 ****
- matchc = CPAREN;
- acceptList = TRUE;
- cp++;
-! } else if (isdigit(cp[0])) { // <item>
- matchc = COMMA;
- acceptList = (nargs == 0);
-! } else {
- b = FALSE;
- break;
- }
---- 930,939 ----
- matchc = CPAREN;
- acceptList = TRUE;
- cp++;
-! } else if (isalnum(cp[0])) { // <item>
- matchc = COMMA;
- acceptList = (nargs == 0);
-! } else { // skip to comma
- b = FALSE;
- break;
- }
+*** 37,42 ****
+--- 37,43 ----
+ }
+ #endif
+ #include <pwd.h>
++ #include <grp.h>
+
+ /*
+ * UUCP Device Locking Support.
***************
-*** 939,952 ****
- cp++;
- continue;
- }
-! if (!isdigit(cp[0])) {
- b = FALSE;
- goto done;
- }
-! int v = 0;
-! do {
-! v = v*10 + (cp[0] - '0');
-! } while (isdigit((++cp)[0]));
- int r = v;
- if (cp[0] == '-') { // <low>-<high>
- cp++;
---- 943,963 ----
- cp++;
- continue;
- }
-! if (!isalnum(cp[0])) {
- b = FALSE;
- goto done;
- }
-! int v;
-! if (isdigit(cp[0])) {
-! v = 0;
-! do {
-! v = v*10 + (cp[0] - '0');
-! } while (isdigit((++cp)[0]));
-! } else {
-! v = -1; // XXX skip item below
-! while (isalnum((++cp)[0]))
-! ;
-! }
- int r = v;
- if (cp[0] == '-') { // <low>-<high>
- cp++;
+*** 146,153 ****
+ if (!pwd)
+ faxApp::fatal("Can not deduce identity of UUCP");
+ UUCPuid = pwd->pw_uid;
+- UUCPgid = pwd->pw_gid;
+ endpwent(); // paranoia
+ }
+ }
+ uid_t UUCPLock::getUUCPUid() { setupIDs(); return UUCPuid; }
+--- 147,159 ----
+ if (!pwd)
+ faxApp::fatal("Can not deduce identity of UUCP");
+ UUCPuid = pwd->pw_uid;
+ endpwent(); // paranoia
++
++ const group *grp = getgrnam("dialer");
++ if (!grp)
++ faxApp::fatal("Can not deduce identity of DIALER");
++ UUCPgid = grp->gr_gid;
++ endgrent(); // paranoia
+ }
+ }
+ uid_t UUCPLock::getUUCPUid() { setupIDs(); return UUCPuid; }
+*** config/skel.orig Sun Apr 20 21:53:58 1997
+--- config/skel Sun Apr 20 21:54:30 1997
***************
-*** 964,972 ****
- cp++;
- v++, r++; // XXX 2.0 -> 3
- }
-! // expand range or list
-! for (; v <= r; v++)
-! mask |= 1<<v;
- if (acceptList && cp[0] == COMMA) // (<item>,<item>...)
- cp++;
- }
---- 975,984 ----
- cp++;
- v++, r++; // XXX 2.0 -> 3
- }
-! if (v != -1) { // expand range or list
-! for (; v <= r; v++)
-! mask |= 1<<v;
-! }
- if (acceptList && cp[0] == COMMA) // (<item>,<item>...)
- cp++;
- }
-
-
-
-
+*** 41,48 ****
+ SessionTracing: 11 # log server-related operations
+ RecvFileMode: 0600 # recvd facsimile are not public
+ LogFileMode: 0600 # private log files
+! DeviceMode: 0600 # device is accessible only to uucp/fax
+! GettyArgs: "-h %l dx_%s" # requires modem to auto-detect fax/data
+ QualifyTSI: "" # do not restrict inbound facsimile
+ SpeakerVolume: off # machine's are already too loud
+ RingsBeforeAnswer: 1 # answer on first ring
+--- 41,48 ----
+ SessionTracing: 11 # log server-related operations
+ RecvFileMode: 0600 # recvd facsimile are not public
+ LogFileMode: 0600 # private log files
+! DeviceMode: 0660 # device is accessible only to uucp/fax
+! GettyArgs: "std.%s" # requires modem to auto-detect fax/data
+ QualifyTSI: "" # do not restrict inbound facsimile
+ SpeakerVolume: off # machine's are already too loud
+ RingsBeforeAnswer: 1 # answer on first ring
diff --git a/comms/hylafax/files/patch-ae b/comms/hylafax/files/patch-ae
index 25d0feef09c2..9b5f246ea875 100644
--- a/comms/hylafax/files/patch-ae
+++ b/comms/hylafax/files/patch-ae
@@ -1,17 +1,129 @@
-Deal with cc -version reporting "2.7.2.1" or any other junk following the
-third number.
+For multilingualization (iso-2022 variant encodings).
+Some part of this is biased to Japanization, however, it should
+give some hints to asian people.
-Inspired by a larger patch from <jhs@freebsd.org> and apparently
-Andreas Klemm <andreas@klemm.gtn.com>
-
---- configure.dist Mon Oct 14 10:17:10 1996
-+++ configure Mon Oct 14 10:18:20 1996
-@@ -446,7 +446,7 @@
- {
- app=$1; shift
- eval `$app -v 2>&1 | \
-- sed -n -e '/version/s/.* \([0-9]*\)\.\([0-9]*\).\([0-9]*\)/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'`
-+ sed -n -e '/version/s/.* \([0-9]*\)\.\([0-9]*\).\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'`
- GCCversion="${GCCdist}.${GCCmajor}.${GCCminor}"; export GCCversion
- required="$1$2$3"
- actual="${GCCdist}${GCCmajor}${GCCminor}"
+*** util/TypeRules.c++.orig Wed Nov 27 08:20:45 1996
+--- util/TypeRules.c++ Sun Apr 20 23:43:42 1997
+***************
+*** 48,54 ****
+ }
+
+ static const char* typeNames[] =
+! { "ascii", "string", "address", "byte", "short", "long" };
+ static const char* opNames[] =
+ { "<any>", "=", "!=", "<", "<=", ">", ">=", "&", "^", "!" };
+ static const char* resultNames[] = { "tiff", "postscript", "error" };
+--- 48,54 ----
+ }
+
+ static const char* typeNames[] =
+! { "ascii", "asciiesc", "string", "address", "byte", "short", "long" };
+ static const char* opNames[] =
+ { "<any>", "=", "!=", "<", "<=", ">", ">=", "&", "^", "!" };
+ static const char* resultNames[] = { "tiff", "postscript", "error" };
+***************
+*** 65,71 ****
+ );
+ if (type == STRING)
+ printf(" \"%s\"", value.s);
+! else if (type != ASCII) {
+ if (op == ANY)
+ printf(" <any value>");
+ else
+--- 65,71 ----
+ );
+ if (type == STRING)
+ printf(" \"%s\"", value.s);
+! else if (type != ASCII && type != ASCIIESC) {
+ if (op == ANY)
+ printf(" <any value>");
+ else
+***************
+*** 83,88 ****
+--- 83,89 ----
+ const u_char* cp = (const u_char*) data;
+ switch (type) {
+ case ASCII:
++ {
+ u_int i;
+ for (i = 0; i < size; i++)
+ if (!isprint(cp[i]) && !isspace(cp[i])) {
+***************
+*** 92,97 ****
+--- 93,111 ----
+ }
+ ok = TRUE;
+ goto done;
++ }
++ case ASCIIESC:
++ {
++ u_int i;
++ for (i = 0; i < size; i++)
++ if (!isprint(cp[i]) && !isspace(cp[i]) && cp[i] != '\033') {
++ if (verbose)
++ printf("failed (unprintable char %#x)\n", cp[i]);
++ return (FALSE);
++ }
++ ok = TRUE;
++ goto done;
++ }
+ case STRING:
+ ok = (strncmp((const char*)(cp+off), value.s,
+ fxmin((u_int) strlen(value.s), (u_int)(size-off))) == 0);
+***************
+*** 307,312 ****
+--- 321,328 ----
+ rule.type = TypeRule::STRING;
+ else if (strncasecmp(tp, "ascii", cp-tp) == 0)
+ rule.type = TypeRule::ASCII;
++ else if (strncasecmp(tp, "asciiesc", cp-tp) == 0)
++ rule.type = TypeRule::ASCIIESC;
+ else if (strncasecmp(tp, "addr", cp-tp) == 0)
+ rule.type = TypeRule::ADDR;
+ else {
+***************
+*** 317,323 ****
+ cp++;
+ rule.op = TypeRule::EQ; // default is '='
+ const char* vp = cp;
+! if (rule.type != TypeRule::STRING && rule.type != TypeRule::ASCII) {
+ // numeric value
+ switch (*vp) {
+ case '=': rule.op = TypeRule::EQ; cp++; break;
+--- 333,340 ----
+ cp++;
+ rule.op = TypeRule::EQ; // default is '='
+ const char* vp = cp;
+! if (rule.type != TypeRule::STRING && rule.type != TypeRule::ASCII
+! && rule.type != TypeRule::ASCIIESC) {
+ // numeric value
+ switch (*vp) {
+ case '=': rule.op = TypeRule::EQ; cp++; break;
+*** util/TypeRules.h.orig Sun Apr 20 23:22:28 1997
+--- util/TypeRules.h Sun Apr 20 23:21:11 1997
+***************
+*** 130,135 ****
+--- 130,136 ----
+ fxBool cont; // continuation
+ enum {
+ ASCII, // ascii-only string
++ ASCIIESC, // ascii-only string + escape char (iso-2022 variants)
+ STRING, // byte string
+ ADDR, // address of match
+ BYTE, // 8 bits
+*** util/typerules.orig Sun Apr 20 23:22:49 1997
+--- util/typerules Sun Apr 20 23:24:45 1997
+***************
+*** 128,133 ****
+--- 128,138 ----
+ >15 string ascii ps %F/textfmt -B -f Courier-Bold\
+ -p 11 -s %s >%o <%i
+ #
++ # Japanization (should help other iso-2022 variants too)
++ #
++ #>15 string asciiesc ps a2ps-j -l '' -p -ns -nt <%i >%o
++ #0 asciiesc x ps a2ps-j -l '' -p -ns -nt <%i >%o
++ #
+ # This causes anything else with ascii-only data to be treated as text.
+ #
+ 0 ascii x ps %F/textfmt -B -f Courier-Bold\
diff --git a/comms/hylafax/pkg-descr b/comms/hylafax/pkg-descr
index 3ddc577a466a..eef0a1d5946e 100644
--- a/comms/hylafax/pkg-descr
+++ b/comms/hylafax/pkg-descr
@@ -1,14 +1,14 @@
-HylaFAX is a facsimile system for UNIXtm systems. Among
-the features of HylaFAX are:
-- HylaFAX runs as a network service; this means a fax
- modem may be effectively shared by a large number of users.
-- HylaFAX can be configured to work with a wide variety
- of fax modems on a wide variety of systems.
-- Access to the system can be restricted by the adminis-
- trator to selected hosts and/or users.
-- Transmission requests may be processed immediately (default) or queued
- for processing at a later time, in the manner of the at(1) command.
-- Remote facsimile machines may be polled to retrieve
- publicly available documents.
+(excerpt from HylaFAX FAQ, http://www.vix.com/hylafax/FAQ/Q1.html)
- Julian Stacey <jhs@freebsd.org>
+ HylaFAX is a facsimile system for UNIX systems. It supports:
+ o sending facsimile
+ o receiving facsimile
+ o polled retrieval of facsimile
+ o transparent shared data use of the modem
+ o sending messages to pagers
+ Facsimile can be any size (e.g. A4, B4), either 98 or 196 lpi, and
+ transmitted/received as either 1D-encoded or 2D-encoded facsimile data
+ (2D-encoded data is frequently more compact and hence takes a shorter
+ time to communicate). Any modem that supports one of the standard
+ interfaces for facsimile operation can be used; i.e. any Class 1, Class
+ 2, or Class 2.0 modem.
diff --git a/comms/hylafax/pkg-message b/comms/hylafax/pkg-message
new file mode 100644
index 000000000000..f24970a8ada2
--- /dev/null
+++ b/comms/hylafax/pkg-message
@@ -0,0 +1,18 @@
+Hylafax was installed. You'll need manual configurations to actually
+activate it.
+
+Setting up: (for impatients)
+ Invoke /usr/local/sbin/faxsetup, and answer what she asks.
+ When you are asked to specify the name of tty device, use "cuaa1"
+ instead of "ttyd1". Otherwise it does not work well.
+
+ Consult /usr/local/etc/rc.d/hylafax.sh.sample for startups.
+
+ For accepting incoming FAX/data calls, modify /etc/ttys as below
+ and send SIGHUP to init process:
+
+>cuaa1 "/usr/local/sbin/faxgetty" dialup on secure
+
+Documentation:
+ On Line Manuals: man hylafax.
+ World Wide Web site: http://www.vix.com/flexfax/
diff --git a/comms/hylafax/pkg-plist b/comms/hylafax/pkg-plist
index 02b7df107264..90d4b3c3b7ef 100644
--- a/comms/hylafax/pkg-plist
+++ b/comms/hylafax/pkg-plist
@@ -1,30 +1,63 @@
-@cd /usr/local
-sbin/textfmt
-sbin/faxmsg
-sbin/faxabort
-sbin/faxanswer
-sbin/faxquit
-sbin/faxinfo
-sbin/dialtest
-sbin/typetest
-sbin/xferstats
-sbin/recvstats
-sbin/faxcron
-sbin/faxq
-sbin/faxgetty
-sbin/faxsend
-sbin/pagesend
-sbin/tsitest
-sbin/tagtest
-sbin/faxd.recv
-sbin/faxaddmodem
-sbin/probemodem
-sbin/lockname
-sbin/ondelay
-lib/fax/pagesizes
-lib/fax/typerules
-lib/fax/faxcover.ps
-bin/fax2ps
+/var/spool/fax/COPYRIGHT
+/var/spool/fax/FIFO
+/var/spool/fax/bin/faxrcvd
+/var/spool/fax/bin/mkcover
+/var/spool/fax/bin/notify
+/var/spool/fax/bin/notify.awk
+/var/spool/fax/bin/pcl2fax
+/var/spool/fax/bin/pollrcvd
+/var/spool/fax/bin/ps2fax.dps
+/var/spool/fax/bin/ps2fax.gs
+/var/spool/fax/bin/ps2fax.imp
+/var/spool/fax/bin/tiff2fax
+/var/spool/fax/bin/wedged
+/var/spool/fax/config/att-dataport
+/var/spool/fax/config/att-dataport-2
+/var/spool/fax/config/att-dataport-2.0
+/var/spool/fax/config/cirrus
+/var/spool/fax/config/class1
+/var/spool/fax/config/class2
+/var/spool/fax/config/class2.0
+/var/spool/fax/config/dsi-scout+
+/var/spool/fax/config/e-tech
+/var/spool/fax/config/everex-2496d
+/var/spool/fax/config/exar
+/var/spool/fax/config/gvc-288
+/var/spool/fax/config/gvc-288-2
+/var/spool/fax/config/intel-400e
+/var/spool/fax/config/moto-288
+/var/spool/fax/config/mt-1432
+/var/spool/fax/config/nuvo-voyager
+/var/spool/fax/config/ppi-pm14400fxmt
+/var/spool/fax/config/ppi-pm14400fxsa
+/var/spool/fax/config/rc144ac
+/var/spool/fax/config/rc144ac-1
+/var/spool/fax/config/rc288dpi
+/var/spool/fax/config/rc288dpi-1
+/var/spool/fax/config/rc32acl
+/var/spool/fax/config/rc32acl-1
+/var/spool/fax/config/rockwell
+/var/spool/fax/config/skel
+/var/spool/fax/config/telebit-qblazer
+/var/spool/fax/config/telebit-t3000
+/var/spool/fax/config/telebit-wb
+/var/spool/fax/config/tricom2842
+/var/spool/fax/config/uds-fastalk
+/var/spool/fax/config/usr-2.0
+/var/spool/fax/config/usr-rts
+/var/spool/fax/config/usr-xon
+/var/spool/fax/config/zyxel-1496e
+/var/spool/fax/config/zyxel-1496e-1
+/var/spool/fax/config/zyxel-1496e-2.0
+/var/spool/fax/config/zyxel-2864
+/var/spool/fax/etc/cover.templ
+/var/spool/fax/etc/dialrules
+/var/spool/fax/etc/dialrules.europe
+/var/spool/fax/etc/dialrules.sf-ba
+/var/spool/fax/etc/dpsprinter.ps
+/var/spool/fax/etc/hosts
+/var/spool/fax/etc/lutRS18.pcf
+/var/spool/fax/etc/xferlog
bin/faxalter
bin/faxcover
bin/faxmail
@@ -32,7 +65,12 @@ bin/faxrm
bin/faxstat
bin/sendfax
bin/sendpage
-man/man1/fax2ps.1.gz
+etc/rc.d/hylafax.sh.sample
+lib/fax/faxcover.ps
+lib/fax/faxmail.ps
+lib/fax/hfaxd.conf
+lib/fax/pagesizes
+lib/fax/typerules
man/man1/faxalter.1.gz
man/man1/faxcover.1.gz
man/man1/faxmail.1.gz
@@ -43,8 +81,6 @@ man/man1/sendfax.1.gz
man/man1/sendpage.1.gz
man/man1/sgi2fax.1.gz
man/man1/textfmt.1.gz
-man/man5/pagesizes.5f.gz
-man/man5/typerules.5f.gz
man/man5/cid.5f.gz
man/man5/config.5f.gz
man/man5/destctrls.5f.gz
@@ -53,22 +89,35 @@ man/man5/hosts.5f.gz
man/man5/hylafax.5f.gz
man/man5/info.5f.gz
man/man5/log.5f.gz
+man/man5/pagermap.5f.gz
+man/man5/pagesizes.5f.gz
man/man5/recvq.5f.gz
man/man5/sendq.5f.gz
+man/man5/shutdown.5f.gz
man/man5/status.5f.gz
man/man5/tsi.5f.gz
+man/man5/typerules.5f.gz
man/man5/xferlog.5f.gz
+man/man8/choptest.8c.gz
+man/man8/cqtest.8c.gz
man/man8/dialtest.8c.gz
man/man8/faxabort.8c.gz
man/man8/faxaddmodem.8c.gz
man/man8/faxanswer.8c.gz
+man/man8/faxconfig.8c.gz
man/man8/faxcron.8c.gz
-man/man8/faxd.recv.8c.gz
man/man8/faxgetty.8c.gz
+man/man8/faxinfo.8c.gz
+man/man8/faxmodem.8c.gz
man/man8/faxq.8c.gz
+man/man8/faxqclean.8c.gz
man/man8/faxquit.8c.gz
man/man8/faxrcvd.8c.gz
man/man8/faxsend.8c.gz
+man/man8/faxsetup.8c.gz
+man/man8/faxstate.8c.gz
+man/man8/faxwatch.8c.gz
+man/man8/hfaxd.8c.gz
man/man8/mkcover.8c.gz
man/man8/notify.8c.gz
man/man8/pagesend.8c.gz
@@ -76,70 +125,59 @@ man/man8/pollrcvd.8c.gz
man/man8/ps2fax.8c.gz
man/man8/recvstats.8c.gz
man/man8/tagtest.8c.gz
-man/man8/transcript.8c.gz
+man/man8/tiff2fax.8c.gz
+man/man8/tiffcheck.8c.gz
man/man8/tsitest.8c.gz
+man/man8/wedged.8c.gz
man/man8/xferstats.8c.gz
-@cd /var/spool/fax
-bin/ps2fax.gs
-bin/ps2fax.dps
-bin/notify
-bin/notify.awk
-bin/faxrcvd
-bin/pollrcvd
-bin/mkcover
-bin/transcript
-bin/ps2fax
-etc/dpsprinter.ps
-etc/cover.templ
-etc/hosts
-etc/xferlog
-etc/dialrules
-etc/dialrules.sf-ba
-etc/dialrules.europe
-etc/lutRS18.pcf
-config/class1
-config/class2
-config/class2.0
-config/skel
-config/att-dataport-2
-config/att-dataport-2.0
-config/att-dataport
-config/cirrus
-config/dsi-scout+
-config/e-tech
-config/everex-2496d
-config/exar
-config/gvc-288
-config/gvc-288-2
-config/intel-400e
-config/moto-288
-config/mt-1432
-config/nuvo-voyager
-config/ppi-pm14400fxmt
-config/ppi-pm14400fxsa
-config/rc144ac
-config/rc144ac-1
-config/rc288dpi
-config/rc288dpi-1
-config/rc32acl
-config/rc32acl-1
-config/telebit-t3000
-config/telebit-qblazer
-config/telebit-wb
-config/tricom2842
-config/uds-fastalk
-config/usr-2.0
-config/usr-rts
-config/usr-xon
-config/zyxel-1496e
-config/zyxel-1496e-1
-config/zyxel-1496e-2.0
-recvq
-info
-log
-status
-sendq
-docq
-tmp
-FIFO
-COPYRIGHT
+sbin/choptest
+sbin/cqtest
+sbin/dialtest
+sbin/faxabort
+sbin/faxaddmodem
+sbin/faxanswer
+sbin/faxconfig
+sbin/faxcron
+sbin/faxgetty
+sbin/faxinfo
+sbin/faxmodem
+sbin/faxmsg
+sbin/faxq
+sbin/faxqclean
+sbin/faxquit
+sbin/faxsend
+sbin/faxsetup
+sbin/faxsetup.bsdi
+sbin/faxsetup.irix
+sbin/faxsetup.linux
+sbin/faxstate
+sbin/faxwatch
+sbin/hfaxd
+sbin/lockname
+sbin/ondelay
+sbin/pagesend
+sbin/probemodem
+sbin/recvstats
+sbin/tagtest
+sbin/textfmt
+sbin/tiffcheck
+sbin/tsitest
+sbin/typetest
+sbin/xferstats
+@dirrm /var/spool/fax
+@dirrm /var/spool/fax/archive
+@dirrm /var/spool/fax/bin
+@dirrm /var/spool/fax/client
+@dirrm /var/spool/fax/config
+@dirrm /var/spool/fax/dev
+@dirrm /var/spool/fax/docq
+@dirrm /var/spool/fax/doneq
+@dirrm /var/spool/fax/etc
+@dirrm /var/spool/fax/info
+@dirrm /var/spool/fax/log
+@dirrm /var/spool/fax/pollq
+@dirrm /var/spool/fax/recvq
+@dirrm /var/spool/fax/sendq
+@dirrm /var/spool/fax/status
+@dirrm /var/spool/fax/tmp
+@dirrm lib/fax