diff options
author | Satoshi Asami <asami@FreeBSD.org> | 1997-05-29 06:49:26 +0000 |
---|---|---|
committer | Satoshi Asami <asami@FreeBSD.org> | 1997-05-29 06:49:26 +0000 |
commit | 78c9b17c9cbf4e67438d366341368ca89b44f86e (patch) | |
tree | c6272729bffafa3bdae23a1a251c83cf0b5c7049 /comms | |
parent | 3373e4deb638f514252d0e3f920f080b3666f95d (diff) | |
download | ports-78c9b17c9cbf4e67438d366341368ca89b44f86e.tar.gz ports-78c9b17c9cbf4e67438d366341368ca89b44f86e.zip |
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')
-rw-r--r-- | comms/hylafax/Makefile | 155 | ||||
-rw-r--r-- | comms/hylafax/distinfo | 3 | ||||
-rw-r--r-- | comms/hylafax/files/README | 235 | ||||
-rw-r--r-- | comms/hylafax/files/hylafax.sh.sample | 9 | ||||
-rw-r--r-- | comms/hylafax/files/patch-ab | 59 | ||||
-rw-r--r-- | comms/hylafax/files/patch-ad | 172 | ||||
-rw-r--r-- | comms/hylafax/files/patch-ae | 144 | ||||
-rw-r--r-- | comms/hylafax/pkg-descr | 26 | ||||
-rw-r--r-- | comms/hylafax/pkg-message | 18 | ||||
-rw-r--r-- | comms/hylafax/pkg-plist | 230 |
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 |