1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-31 21:57:12 +00:00
freebsd-ports/comms/hylafax/Makefile

142 lines
5.4 KiB
Makefile
Raw Normal View History

# ports collection makefile for: hylafax
# Version required: v3.0pl0
# 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.
DISTNAME= hylafax-v3.0pl0
PKGNAME= hylafax-3.0.0
CATEGORIES+= comms
KEYWORDS+= fax
MASTER_SITES= ftp://ftp.sgi.com/sgi/fax/source/
EXTRACT_SUFX= -tar.gz
HAS_CONFIGURE= yes
INSTALL= "sh port/install.sh"
# By default, FreeBSD make of ports sets INSTALL=install,
# <bsd.port.mk> 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.
MAINTAINER= jhs@FreeBSD.org
.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.
# ------------------------------------------------------------------------------
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 <bsd.port.mk>