From 5915f2992df180e4b3ee5f64e59c5bf1d8366f12 Mon Sep 17 00:00:00 2001 From: Julian Stacey Date: Sun, 21 May 1995 22:37:50 +0000 Subject: Reviewed by: Earlier draft reviewed by Satoshi (Thanks) A new import based on Sam Leffler's Hylafax V3.0pl0. Flexfax is now obsolete. Import includes & applies the base patch Sam posted on the flexfax mail list (mail list is still called flexfax, though the package is called Hylafax). Sam declared our ports/comms/flexfax to be obsolete (over a year old). Sometime after the CD release, I will post a proposal to remove ports/comms/flexfax. I will maintain ports/comms/hylafax as I need fax capability. Thanks to Asami Satoshi for suggested improvements, I leave him to `bless' this port by adding the final comms/Makefile: SUBDIR += hylafax Until he does that, any mistakes I may have made shouldnt break any makes :-) I've undoubtedly screwed something up, somewhere, its a big port (30M inc bins),please test, Oh... and "Share & Enjoy" :-) --- Julian Stacey Tel. +49 89 268616. Fax Modem: 2608126 http://www.regent.e-technik.tu-muenchen.de/people/jhs.html --- comms/hylafax/Makefile | 162 +++++++++++++++++++++++++++++++ comms/hylafax/distinfo | 1 + comms/hylafax/files/README | 225 +++++++++++++++++++++++++++++++++++++++++++ comms/hylafax/files/patch-ab | 32 ++++++ comms/hylafax/pkg-comment | 1 + comms/hylafax/pkg-descr | 14 +++ comms/hylafax/pkg-plist | 209 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 644 insertions(+) create mode 100644 comms/hylafax/Makefile create mode 100644 comms/hylafax/distinfo create mode 100644 comms/hylafax/files/README create mode 100644 comms/hylafax/files/patch-ab create mode 100644 comms/hylafax/pkg-comment create mode 100644 comms/hylafax/pkg-descr create mode 100644 comms/hylafax/pkg-plist diff --git a/comms/hylafax/Makefile b/comms/hylafax/Makefile new file mode 100644 index 000000000000..ee21b428e586 --- /dev/null +++ b/comms/hylafax/Makefile @@ -0,0 +1,162 @@ +# ports collection makefile for: hylafax +# Version required: v3.0pl0 +# Date created: 16 May 1995 +# Whom: Julian Stacey +# To Replace: flexfax v2.3beta038special +# Name changed from flexfax to hylafax by author of both: Sam Leffler. + +MAINTAINER= jhs@FreeBSD.org +DISTNAME= hylafax-v3.0pl0 +PKGNAME= hylafax-3.0.0 +MASTER_SITES= ftp://ftp.sgi.com:sgi/fax/source/ +CATEGORIES+= comms +KEYWORDS+= "fax modem" +KEYWORDS+= facsimile +KEYWORDS+= fax +KEYWORDS+= fax2ps +KEYWORDS+= faxalter +KEYWORDS+= faxcover +KEYWORDS+= faxd +KEYWORDS+= faxgetty +KEYWORDS+= faxmail +KEYWORDS+= faxrm +KEYWORDS+= faxstat +KEYWORDS+= sendfax +HAS_CONFIGURE= yes + +INSTALL= "sh port/install.sh" +# By default, FreeBSD make of ports sets INSTALL=install, +# says make wont allow variables to be unset. +# Hylafax ${WRKSRC}/configure needs a special (supplied) install +# (To quote ${WRKSRC}/config.site: +# Beware of changing the INSTALL definition; you *must* have an +# install script that emulates the Silicon Graphics install program! +# ) which it assumes you dont want if you set INSTALL. +# I would prefer to unset the INSTALL from the FreeBSD ports mechanism, +# but instead I reset it to what Hylafax wants. +# As this is still insufficient, See also patches/patch-ad. + +.if !exists(patches/patch-ab) +IS_INTERACTIVE= yes +# patches/patch-ab makes this BATCH compilable, +# ( If you need interactive config, mv patch-ab patch-ab.mv ) +.endif + +# EXEC_DEPENDS?= ghostview:${PORTSDIR}/print/ghostview +# For viewing faxes, not essential for compiling. + +EXEC_DEPENDS+= gs:${PORTSDIR}/print/ghostscript +# ghostscript is called by faxcover & sendfax. +# FreeBSD ports does not come with ghostscript-3 (the license is +# restrictive), FreeBSD ports comes with ghostscript-2.6.2, which +# is what I'm currently using. Sam Leffler wrote: +# Ghostscript versions since 3.12 have had a working tiffg32d +# driver, but beware of versions before 3.12 that have a +# tiffg32d driver; those drivers generate invalid 2D-encoded data. + +# 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. + +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. + +# ------------------------------------------------------------------------------ + +pre-fetch: + @# Ref. ${DISTNAME} ... + @echo "Warning - Original distribution is:" + @echo " ftp://ftp.sgi.com/sgi/fax/source/hylafax-v3.0pl0-tar.gz" + @echo "but /usr/share/mk/bsd.port*mk expects something.tar.gz, and " + @echo "will not allow something-tar.gz, " + @# Perhaps asami@freebsd.org can be persuaded to investigate ? + @echo -n "so until someone enhances" + @echo "FreeBSD make macros, do this:" + @echo -n " cd /usr/ports/distfiles ; " + @echo "ln -s hylafax-v3.0pl0-tar.gz hylafax-v3.0pl0.tar.gz" + +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, mv patch-ab patch-ab.mv +.endif + +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' + +post-clean: + rm -f \ + fax2ps/fax2ps \ + faxalter/faxalter \ + faxcover/faxcover \ + faxd/faxd \ + faxgetty/faxgetty \ + faxmail/faxmail \ + faxq/faxq \ + faxrm/faxrm \ + faxstat/faxstat \ + recvfax/recvfax \ + sendfax/sendfax \ + sendpage/sendpage \ + sgi2fax/sgi2fax + @# Sam Leffler (author of Hylafax) has a non standard view of + @# `make clean': he leaves binaries intact - deliberately ! + @# One cannot use /usr/share/mk/bsd.port.mk re-clean: to invoke + @# `make clobber' before `make clean' + @# as it results in `"rules", ... Could not find Makedepend' + +.include diff --git a/comms/hylafax/distinfo b/comms/hylafax/distinfo new file mode 100644 index 000000000000..303f30dc6454 --- /dev/null +++ b/comms/hylafax/distinfo @@ -0,0 +1 @@ +MD5 (hylafax-v3.0pl0.tar.gz) = ab3bdeee68a6cd64c270e09dffe928e7 diff --git a/comms/hylafax/files/README b/comms/hylafax/files/README new file mode 100644 index 000000000000..a979996b61d8 --- /dev/null +++ b/comms/hylafax/files/README @@ -0,0 +1,225 @@ + NOTES ON HYLAFAX IN FREEBSD (/usr/ports/comms/hylafax) + By Julian Stacey May 1995 + +This port replaces flexfax (which is over a year old). +Thanks to Sam Leffler of SGI for writing & releasing Hylafax :-) +I 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 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. +-------} diff --git a/comms/hylafax/files/patch-ab b/comms/hylafax/files/patch-ab new file mode 100644 index 000000000000..03446a5f38db --- /dev/null +++ b/comms/hylafax/files/patch-ab @@ -0,0 +1,32 @@ +This patch prepared by Julian Stacey diff --git a/comms/hylafax/pkg-plist b/comms/hylafax/pkg-plist new file mode 100644 index 000000000000..deaf21dc39b4 --- /dev/null +++ b/comms/hylafax/pkg-plist @@ -0,0 +1,209 @@ +@comment PLIST by Julian Stacey + +@name hylafax + +@pkgdep ghostscript +@comment Ghostscript versions since 3.12 have had a working tiffg32d + +@cwd /usr/local +@dirrm /var/spool/fax +@dirrm /usr/local/lib/fax + +@comment theres no example of good @mtree syntax in ports yet +@comment when such example appears, it will be worth converting this +@comment so that mtree can do the mkdir work: +@comment @cwd +@comment @owner bin +@comment @group bin +@comment @mode 755 +@comment /usr/local/bin +@comment /usr/local/lib/fax +@comment /usr/local/sbin +@comment @owner uucp +@comment @group dialer +@comment @mode 755 +@comment /var/spool/fax +@comment /var/spool/fax/bin +@comment /var/spool/fax/config +@comment /var/spool/fax/etc +@comment /var/spool/fax/recvq +@comment /var/spool/fax/info (No pkg file here, but need dir +@comment /var/spool/fax/log (No pkg file here, but need dir +@comment /var/spool/fax/status (No pkg file here, but need dir +@comment @owner uucp +@comment @group dialer +@comment @mode 700 +@comment /var/spool/fax/sendq +@comment /var/spool/fax/docq +@comment /var/spool/fax/tmp + +@cwd /var/spool/fax +@mode 600 +@comment fifo +FIFO +@mode 444 +COPYRIGHT + +@cwd /var/spool/fax/bin +notify +@mode 444 +ps2fax.gs +ps2fax.dps +ps2fax +notify.awk +@mode 555 +faxrcvd +pollrcvd +mkcover +transcript + +@cwd /var/spool/fax/config +@mode 444 +class1 +class2 +class2.0 +skel +att-dataport-2 +att-dataport-2.0 +att-dataport +cirrus +dsi-scout+ +e-tech +everex-2496d +exar +gvc-288 +gvc-288-2 +intel-400e +moto-288 +mt-1432 +nuvo-voyager +ppi-pm14400fxmt +ppi-pm14400fxsa +rc144ac +rc144ac-1 +rc288dpi +rc288dpi-1 +rc32acl +rc32acl-1 +telebit-t3000 +telebit-qblazer +telebit-wb +tricom2842 +uds-fastalk +usr-2.0 +usr-rts +usr-xon +zyxel-1496e +zyxel-1496e-1 +zyxel-1496e-2.0 + +@cwd /var/spool/fax/etc +@mode 444 +dpsprinter.ps +cover.templ +dialrules +dialrules.sf-ba +dialrules.europe +@mode 644 +lutRS18.pcf +hosts +xferlog + +@cwd /usr/local/bin +@mode 555 +sendpage +fax2ps +faxalter +faxcover + +@cwd /usr/local/sbin +@owner uucp +@group dialer +@mode 6555 +faxq +faxgetty +@owner uucp +@group dialer + +@mode 555 +textfmt +faxmsg +faxabort +faxanswer +faxquit +faxinfo +dialtest +typetest +xferstats +recvstats +faxcron +faxsend +pagesend +tsitest +tagtest +lockname +ondelay +faxaddmodem +probemodem + +@cwd /usr/local/lib/fax +@mode 444 +pagesizes +typerules +faxcover.ps + +@cwd /usr/local/man/man1 +@mode 444 +fax2ps.1 +faxalter.1 +faxcover.1 +faxmail.1 +faxrm.1 +faxstat.1 +hylafax.1 +sendfax.1 +sendpage.1 +sgi2fax.1 +textfmt.1 + +@cwd /usr/local/man/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 + +@cwd /usr/local/man/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 + +@comment end -- cgit v1.2.3