Index | Thread | Search

From:
Larry Moore <lmoore@starwon.com.au>
Subject:
Re: [PATCH] comms/hylafax
To:
OpenBSD Ports <ports@openbsd.org>, Antoine Jacoutot <ajacoutot@bsdfrog.org>
Date:
Mon, 21 Sep 2026 10:28:08 +0800

Download raw body.

Thread
Hi Stuart,

On 18/09/2026 9:18 pm, Stuart Henderson wrote:
>> +++ ./pkg/hylafax.rc	Sun Jul  5 19:01:32 2026
>> @@ -0,0 +1,21 @@
>> +#!/bin/ksh
>> +
>> +# "meta" script running the following rc.d(8) scripts with the given argument;
>> +# note that "daemon_*" variables are not passed to the child scripts.
>> +_pkg_scripts="faxq hfaxd"
> 
> I _think_ we wanted to avoid these meta scripts; Antoine, do I remember
> correctly?
> 
> 
>> +@mode 555
>>   libdata/hylafax/etc/faxmail/application/binary
>>   libdata/hylafax/etc/faxmail/application/octet-stream
>>   libdata/hylafax/etc/faxmail/application/pdf
>> +@mode
> 
> I have a better fix for this in patch-port_install_sh_in.
> 

Thanks, I've gone to town with this. Found that directory permissions 
and some files are ignored when the package is created - have included 
@mode for the files - was experimenting with directories.


> Also the old PLIST was always running "ln -sf %D/libdata/hylafax
> /var/spool/hylafax", resulting in an extraneous link from
> /var/spool/hylafax/hylafax -> /usr/local/libdata/hylafax, I've fixed
> that by only running ln if /var/spool/hylafax doesn't exist.
> 

I've updated the PLIST file with your suggested @exec line. thanks.

> Updated diff below with the above and a few other small tweaks,
> but we may want to remove hylafax.rc on top.
> 

I've also removed hylafax.rc and corrected a misspelling in the README.

Attached is the diff file with the changes, one created using -N and the 
other using -P, if it helps.

I believe I've addressed what's in your diff.

Cheers,

Larry.

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/comms/hylafax/Makefile,v
> diff -u -p -r1.93 Makefile
> --- Makefile	26 Mar 2026 09:12:23 -0000	1.93
> +++ Makefile	18 Sep 2026 13:13:59 -0000
> @@ -1,14 +1,14 @@
>   COMMENT=		send/receive faxes and share modems
>   
>   DISTNAME=		hylafax-7.0.11
> -REVISION=		0
> +REVISION=		1
>   CATEGORIES=		comms
>   
>   HOMEPAGE=		https://hylafax.sourceforge.io/
>   SITES=			${SITE_SOURCEFORGE:=hylafax/}
>   
>   # License: BSD
> -# http://www.hylafax.org/HylaFAQ/copyright.html
> +# https://sourceforge.net/p/hylafax/HylaFAX+/HEAD/tree/trunk/COPYRIGHT
>   PERMIT_PACKAGE=		Yes
>   
>   FLAVORS=		a4
> @@ -47,7 +47,8 @@ CONFIGURE_ARGS=		--nointeractive \
>   			--with-SCRIPT_SH="/bin/ksh" \
>   			--with-INSTALLROOT="${DESTDIR}" \
>   			--with-DIR_MAN="${TRUEPREFIX}/man" \
> -			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc"
> +			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc" \
> +			--with-PATH_AFM="${TRUEPREFIX}/share/fonts/ghostscript"
>   
>   CONFIGURE_ENV+=		DISABLE_PODOFO=yes
>   
> Index: patches/patch-etc_faxsetup_sh_in
> ===================================================================
> RCS file: /cvs/ports/comms/hylafax/patches/patch-etc_faxsetup_sh_in,v
> diff -u -p -r1.5 patch-etc_faxsetup_sh_in
> --- patches/patch-etc_faxsetup_sh_in	25 Mar 2026 15:47:01 -0000	1.5
> +++ patches/patch-etc_faxsetup_sh_in	18 Sep 2026 13:13:59 -0000
> @@ -21,18 +21,68 @@ Index: etc/faxsetup.sh.in
>    PASSWD=/etc/passwd		# where to go for password entries
>    PROTOUID=@FAXUID@		# user who's uid we use for FAX user
>    defPROTOUID=3			# use this uid if PROTOUID doesn't exist
> -@@ -1265,7 +1265,7 @@ if onClient; then
> +@@ -1259,34 +1259,67 @@ if onClient; then
> + 			}	
> + 		'
> + 	}
> ++	genFontmap()
> ++	{
> ++	    FONTMAP_FILE=$1
> ++	    Note ""
> ++	    Note "Generating Fontmap $FONTMAP_FILE."
> ++	    Note ""
> ++
> ++	    $ECHO "% HylaFAX FontMap file generated by faxsetup on `date 2>/dev/null`" > $FONTMAP_FILE
> ++	    for d in `$ECHO $2 | $SED 's/:/ /g'`; do
> ++		if [ -d "$d" ]; then
> ++		    cd $d
> ++		    for f in `ls | grep '\.afm'`; do
> ++			$AWK -F '[ ]' '/FontName/ {print "/"$2"\t("FILENAME")\t;"; exit}; // {}' $f >> $FONTMAP_FILE
> ++		    done
> ++		fi
> ++	    done
> ++	    if [ -z "`$GREP Courier $FONTMAP_FILE`" ]; then
> ++	    Note ""
> ++	    Note "Adding aliases to Fontmap $FONTMAP_FILE."
> ++	    Note ""
> ++		$ECHO "" >> $FONTMAP_FILE
> ++		$ECHO "% Aliases" >> $FONTMAP_FILE
> ++		$ECHO "" >> $FONTMAP_FILE
> ++		$ECHO "/Courier		/NimbusMonL-Regu ;" >> $FONTMAP_FILE
> ++		$ECHO "/Courier-Bold		/NimbusMonL-Bold ;" >> $FONTMAP_FILE
> ++		$ECHO "/Helvetica		/NimbusSanL-Regu ;" >> $FONTMAP_FILE
> ++		$ECHO "/Helvetica-Oblique	/NimbusSanL-ReguItal ;" >> $FONTMAP_FILE
> ++		$ECHO "/Helvetica-Bold		/NimbusSanL-Bold ;" >> $FONTMAP_FILE
> ++		$ECHO "/Times-Bold		/NimbusRomNo9L-Medi ;" >> $FONTMAP_FILE
> ++	    fi
> ++	}
> + 	# If configure --with-PATH_AFM=<path> was used then we need to include it first.
> + 	RUNTIME_PATH_AFM=$PATH_AFM:`getGSFonts`
> + 	if [ -n "$RUNTIME_PATH_AFM" \
>    				-a "$RUNTIME_PATH_AFM" != "$PATH_AFM" ]; then
>    	    Note ""
> ++	    #
> ++	    # When ghostscript is built with COMPILE_INITS=1, the fonts are compiled in to the ghostscript executable.
> ++	    # The textfmt(1) program in HylaFAX uses fonts in afm font files.
> ++	    # The Fontmap.HylaFAX file is created from afm font files found in the paths listed in RUNTIME_PATH_AFM.
> ++	    #
> ++	    genFontmap $DIR_SPOOL/etc/Fontmap.HylaFAX $RUNTIME_PATH_AFM
>    	    FONTPATHS=`echo $RUNTIME_PATH_AFM | sed 's/:/ /g'`
>   -	    $PATH_GSRIP -q -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
> -+	    $PATH_GSRIP -q -dNOSAFER -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
> - 	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
> +-	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
>    	    {
>    		#
> -@@ -1280,8 +1280,8 @@ if onClient; then
> +-		# genfontmap.ps really just gives us a copy of Fontmap.GS, and in later Ghostscript versions there
> +-		# are many Fontmap.GS references that are left undefined.  This may work for Ghostscript, but
> +-		# it does not work for us.  So, we need to do what we can to define them.
> +-		#
> + 		fontmap=$DIR_SPOOL/etc/Fontmap.HylaFAX
> + 		newfontmap=$TMPDIR/Fontmap.HylaFAX.new.$$
> + 		tmpfile=$TMPDIR/fontmap-fixup.$$
> + 		$CP $fontmap $newfontmap
>    		for fontname in `$CAT $fontmap | $GREP "	/" | $SED -e 's/^[^\/]*\///g' -e 's/ .*//g'`; do
> - 		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
> +-		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
> ++		    if [ -z "`$GREP "^/$fontname" $fontmap`" ]; then
>    			# There is a blind reference to this font.  Fix that.
>   -			for fontpath in `$PATH_GSRIP -h | $GREP -A 100 "Search path:" | $GREP " :" | $SED 's/://g'`; do
>   -			    $GREP -l -d recurse -a "FontDirectory/$fontname known" $fontpath 2>/dev/null;
> @@ -41,7 +91,16 @@ Index: etc/faxsetup.sh.in
>    			done | $SED q > $tmpfile
>    			fontfile=`$CAT $tmpfile`
>    			if [ -n "$fontfile" ]; then
> -@@ -2425,12 +2425,7 @@ if onServer; then
> +-			    echo "($fontname)	($fontfile) ;" >> $newfontmap
> +-		        else
> ++			    $ECHO "/$fontname	($fontfile) ;" >> $newfontmap
> ++		        fi
> ++		        fontalias=`$ECHO $fontname | $SED -e 's/^\/*\///g'`
> ++		        if [ -z "`$GREP "^/$fontalias" $fontmap`" ]; then
> + 			    echo "Warning: No font file found for \"$fontname\" but the font map includes it."
> + 			fi
> + 		    fi
> +@@ -2425,12 +2458,7 @@ if onServer; then
>    
>        findproc()
>        {
> @@ -55,3 +114,54 @@ Index: etc/faxsetup.sh.in
>    	echo "$pid"
>        }
>    
> +@@ -2446,9 +2474,9 @@ if onServer; then
> + 	    echo
> + 	fi
> + 	if isOK "$x"; then
> +-	    if [ -x /bin/systemctl ]; then
> +-		echo "Executing '/bin/systemctl stop hylafax-hfaxd'..."
> +-		/bin/systemctl stop hylafax-hfaxd
> ++	    if [ -x /usr/sbin/rcctl ]; then
> ++		echo "Executing '/usr/sbin/rcctl stop hfaxd'..."
> ++		/usr/sbin/rcctl stop hfaxd
> + 	    elif kill $HFAXD; then
> + 		echo "Sent a SIGTERM to processes $HFAXD."
> + 	    else
> +@@ -2497,9 +2525,9 @@ EOF
> + 	    echo
> + 	fi
> + 	if isOK "$x"; then
> +-	    if [ -x /bin/systemctl ]; then
> +-		echo "Executing '/bin/systemctl stop hylafax-faxq'..."
> +-		/bin/systemctl stop hylafax-faxq
> ++	    if [ -x /usr/sbin/rcctl ]; then
> ++		echo "Executing '/usr/sbin/rcctl stop faxq'..."
> ++		/usr/sbin/rcctl stop faxq
> + 	    else
> + 		$DIR_SBIN/faxquit >/dev/null 2>&1
> + 	    fi
> +@@ -2589,18 +2617,18 @@ EOF
> +     fi
> +     if isOK "$x"; then
> + 	echo ""
> +-	if [ -x /bin/systemctl ]; then
> +-	    echo "Executing '/bin/systemctl start hylafax-faxq'..."
> +-	    /bin/systemctl start hylafax-faxq
> +-	    echo "Executing '/bin/systemctl start hylafax-hfaxd'..."
> +-	    /bin/systemctl start hylafax-hfaxd
> ++	if [ -x /usr/sbin/rcctl ]; then
> ++	    echo "Executing '/usr/sbin/rcctl start faxq'..."
> ++	    /usr/sbin/rcctl start faxq
> ++	    echo "Executing '/usr/sbin/rcctl start hfaxd'..."
> ++	    /usr/sbin/rcctl start hfaxd
> + 	elif [ -x ${DIR_SYSVINIT}/hylafax ]; then
> + 	    echo ${DIR_SYSVINIT}/hylafax start
> + 	    ${DIR_SYSVINIT}/hylafax start
> + 	else
> + 	    echo $DIR_SBIN/faxq; $DIR_SBIN/faxq
> + 	    hfaxdopts=
> +-	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-i hylafax "; fi
> ++	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-f all -l 0.0.0.0 -i hylafax -l ::0 -i hylafax "; fi
> + 	    if isOK "$HFAXD_SNPP_SERVER"; then hfaxdopts="$hfaxdopts\-s snpp"; fi
> + 	    echo "$DIR_SBIN/hfaxd $hfaxdopts"; eval "$DIR_SBIN/hfaxd $hfaxdopts"
> + 	fi
> Index: patches/patch-etc_hylafax_in
> ===================================================================
> RCS file: patches/patch-etc_hylafax_in
> diff -N patches/patch-etc_hylafax_in
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-etc_hylafax_in	18 Sep 2026 13:13:59 -0000
> @@ -0,0 +1,38 @@
> +--- etc/hylafax.in.orig	Wed Oct 13 03:42:48 2021
> ++++ etc/hylafax.in	Sat Jul 11 07:20:51 2026
> +@@ -90,9 +90,6 @@ fi
> + if [ -z "$HFAXD_SNPP_SERVER" ]; then
> +     HFAXD_SNPP_SERVER=@HFAXD_SNPP_SERVER@
> + fi
> +-if [ -z "$HFAXD_ARGS" ]; then
> +-    HFAXD_ARGS=
> +-fi
> +
> + IS_ON=/etc/chkconfig		# NB: chkconfig is IRIX- and Linux-specific
> + FAXQ=$SBIN/faxq
> +@@ -101,6 +98,10 @@ FAXQUIT=$SBIN/faxquit
> + FAXPORT=hylafax			# designated port for new protocol
> + SNPPPORT=444			# official port for SNPP
> +
> ++if [ -z "$HFAXD_ARGS" ]; then
> ++    HFAXD_ARGS="-f all -l 0.0.0.0 -i $FAXPORT -l ::0 "
> ++fi
> ++
> + if test ! -x $IS_ON ; then
> +     IS_ON=true
> + fi
> +@@ -150,13 +151,7 @@ fi
> + #
> + killall()
> + {
> +-	# NB: ps ax should give an error on System V, so we try it first!
> +-	pid="`ps ax 2>/dev/null | $AWK \"\
> +-		/[\/ (]$2[ )]/	{print \\$1;}
> +-		/[\/ ]$2\$/	{print \\$1;}\"`"
> +-	test "$pid" ||
> +-	    pid="`ps -e 2>/dev/null | $AWK \"/ $2[ ]*\$/ {print \\$1;}\"`"
> +-	test "$pid" && kill $1 $pid; return
> ++	/usr/bin/pkill $1 $2
> + }
> +
> + do_start()
> Index: patches/patch-faxd_FaxMachineLog_c++
> ===================================================================
> RCS file: patches/patch-faxd_FaxMachineLog_c++
> diff -N patches/patch-faxd_FaxMachineLog_c++
> --- patches/patch-faxd_FaxMachineLog_c++	25 Mar 2026 15:47:01 -0000	1.1
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,15 +0,0 @@
> -Index: faxd/FaxMachineLog.c++
> ---- faxd/FaxMachineLog.c++.orig
> -+++ faxd/FaxMachineLog.c++
> -@@ -70,7 +70,11 @@ FaxMachineLog::FaxMachineLog(int f, const fxStr& numbe
> - 	struct loggingThreadData *r = (struct loggingThreadData *) malloc(sizeof(struct loggingThreadData));
> - 	r->pfd = lpfd[0];
> - 	r->wfd = fd;
> -+#if defined(__OpenBSD__)
> -+	if (1) {	// loggingThread has SIGABRTs in OpenBSD
> -+#else
> - 	if (pthread_create(&lt, NULL, &loggingThread, (void *) r) != 0) {
> -+#endif
> - 	    if (lpfd[0] > 0) Sys::close(lpfd[0]);
> - 	    if (lpfd[1] > 0) Sys::close(lpfd[1]);
> - 	    lpfd[0] = -1;
> Index: patches/patch-faxd_sslfaxproxy_c++
> ===================================================================
> RCS file: /cvs/ports/comms/hylafax/patches/patch-faxd_sslfaxproxy_c++,v
> diff -u -p -r1.1 patch-faxd_sslfaxproxy_c++
> --- patches/patch-faxd_sslfaxproxy_c++	25 Mar 2026 15:47:01 -0000	1.1
> +++ patches/patch-faxd_sslfaxproxy_c++	18 Sep 2026 13:13:59 -0000
> @@ -10,3 +10,11 @@ Index: faxd/sslfaxproxy.c++
>        timeval curTime;
>        gettimeofday(&curTime, 0);
>        return curTime;
> +@@ -94,6 +94,7 @@ sslFaxThread(void* sd)
> + done:
> +     Sys::close(s->wfd);
> +     Sys::close(s->rfd);
> ++    free(sd);
> +     return (NULL);
> + }
> +
> Index: patches/patch-port_install_sh_in
> ===================================================================
> RCS file: patches/patch-port_install_sh_in
> diff -N patches/patch-port_install_sh_in
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-port_install_sh_in	18 Sep 2026 13:13:59 -0000
> @@ -0,0 +1,12 @@
> +Index: port/install.sh.in
> +--- port/install.sh.in.orig
> ++++ port/install.sh.in
> +@@ -213,7 +213,7 @@ install()
> + 	    do_chXXX $CHGRP $target
> + 	fi
> + 	$VERBOSE "$CHMOD $target"
> +-	do_chXXX $CHMOD $target
> ++	$CHMOD $target
> + 	if [ $STRIP != ":" ] && [ -x $ROOT$DESTDIR$f ]; then
> + 	    $STRIP $target >/dev/null 2>&1 || true
> + 	    $VERBOSE "$STRIP $target"
> Index: pkg/MESSAGE
> ===================================================================
> RCS file: pkg/MESSAGE
> diff -N pkg/MESSAGE
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ pkg/MESSAGE	18 Sep 2026 13:13:59 -0000
> @@ -0,0 +1,4 @@
> +If you've updated your installation from an earlier version of HylaFAX 7.0.11,
> +update your Fontmap.HylaFAX file by running:
> +
> +	# ${PREFIX}/sbin/faxsetup -client
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/comms/hylafax/pkg/PLIST,v
> diff -u -p -r1.25 PLIST
> --- pkg/PLIST	25 Mar 2026 15:47:01 -0000	1.25
> +++ pkg/PLIST	18 Sep 2026 13:13:59 -0000
> @@ -3,7 +3,7 @@
>   @newuser _hylafax:902:_hylafax::HylaFAX Server:/var/spool/hylafax:/sbin/nologin
>   @rcscript ${RCDIR}/faxq
>   @rcscript ${RCDIR}/hfaxd
> -@mode 555
> +@rcscript ${RCDIR}/hylafax
>   @bin bin/faxalter
>   @bin bin/faxcover
>   @bin bin/faxmail
> @@ -11,20 +11,15 @@
>   @bin bin/faxstat
>   @bin bin/sendfax
>   @bin bin/sendpage
> -@mode
>   @owner _hylafax
>   @group dialer
>   libdata/hylafax/
>   libdata/hylafax/COPYRIGHT
>   libdata/hylafax/archive/
>   libdata/hylafax/bin/
> -@mode 555
>   libdata/hylafax/bin/archive
> -@mode
>   libdata/hylafax/bin/auto-rotate.ps
> -@mode 555
>   libdata/hylafax/bin/common-functions
> -@mode
>   libdata/hylafax/bin/dict/
>   libdata/hylafax/bin/dict/de
>   libdata/hylafax/bin/dict/en
> @@ -42,12 +37,9 @@ libdata/hylafax/bin/dict/sr
>   libdata/hylafax/bin/dict/tr
>   libdata/hylafax/bin/dict/uk
>   libdata/hylafax/bin/dict/zh
> -@mode 555
>   libdata/hylafax/bin/dictionary
>   libdata/hylafax/bin/faxrcvd
> -@mode
>   libdata/hylafax/bin/genfontmap.ps
> -@mode 555
>   libdata/hylafax/bin/mkcover
>   libdata/hylafax/bin/notify
>   libdata/hylafax/bin/pcl2fax
> @@ -56,14 +48,11 @@ libdata/hylafax/bin/pollrcvd
>   libdata/hylafax/bin/ps2fax.dps
>   libdata/hylafax/bin/ps2fax.gs
>   libdata/hylafax/bin/ps2fax.imp
> -@mode
>   libdata/hylafax/bin/qp-encode.awk
>   libdata/hylafax/bin/rfc2047-encode.awk
> -@mode 555
>   libdata/hylafax/bin/tiff2fax
>   libdata/hylafax/bin/tiff2pdf
>   libdata/hylafax/bin/wedged
> -@mode
>   libdata/hylafax/client/
>   libdata/hylafax/config/
>   libdata/hylafax/config/att-dataport
> @@ -164,7 +153,6 @@ libdata/hylafax/etc/faxmail/application/
>   libdata/hylafax/etc/faxmail/application/pdf
>   libdata/hylafax/etc/faxmail/image/
>   libdata/hylafax/etc/faxmail/image/tiff
> -@mode 644
>   libdata/hylafax/etc/hfaxd.conf
>   @mode 600
>   libdata/hylafax/etc/hosts.hfaxd
> @@ -254,7 +242,6 @@ libdata/hylafax/tmp/
>   @man man/man8/typetest.8c
>   @man man/man8/wedged.8c
>   @man man/man8/xferfaxstats.8c
> -@mode 555
>   @bin sbin/choptest
>   @bin sbin/cqtest
>   @bin sbin/dialtest
> @@ -295,9 +282,8 @@ sbin/recvstats
>   @bin sbin/tsitest
>   @bin sbin/typetest
>   sbin/xferfaxstats
> -@mode
>   share/doc/pkg-readmes/${PKGSTEM}
> -@exec ln -sf %D/libdata/hylafax /var/spool/hylafax
> +@exec [ -e /var/spool/hylafax ] || ln -sf %D/libdata/hylafax /var/spool/hylafax
>   @exec mkfifo %D/libdata/hylafax/FIFO; chown _hylafax:dialer %D/libdata/hylafax/FIFO; chmod 600 %D/libdata/hylafax/FIFO
>   @unexec rm %D/libdata/hylafax/FIFO
>   @extraunexec rm -f /var/spool/hylafax
> Index: pkg/README
> ===================================================================
> RCS file: /cvs/ports/comms/hylafax/pkg/README,v
> diff -u -p -r1.10 README
> --- pkg/README	25 Mar 2026 15:47:01 -0000	1.10
> +++ pkg/README	18 Sep 2026 13:13:59 -0000
> @@ -25,10 +25,18 @@ something like this:
>   and send a SIGHUP to init(8).
>   
>   
> +Updating HylaFAX+ fontmap file
> +==============================
> +To refresh or create a missing HylaFAX fontmap file after an update simply run;
> +
> +    # ${TRUEPREFIX}/sbin/faxsetup -client
> +
> +
>   Updating file ownership to use the new _hylafax account
>   =======================================================
> -To update the ownership of directories and files in the HylaFAX spool directory,
> -perform one of the following.
> +Old versions (6.x) of this package used the legacy UUCP account. This was
> +changed to _hylafax when moving to 7.x. If your HylaFAX spool directory
> +still contains files owned by _uucp / uid 66, update the ownership as follows.
>   
>   If the legacy UUCP account is still registerd;
>   
> Index: pkg/hylafax.rc
> ===================================================================
> RCS file: pkg/hylafax.rc
> diff -N pkg/hylafax.rc
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ pkg/hylafax.rc	18 Sep 2026 13:13:59 -0000
> @@ -0,0 +1,21 @@
> +#!/bin/ksh
> +
> +# "meta" script running the following rc.d(8) scripts with the given argument;
> +# note that "daemon_*" variables are not passed to the child scripts.
> +_pkg_scripts="faxq hfaxd"
> +
> +if [[ $1 == restart ]]; then
> +	$0 stop && $0 start
> +	exit
> +fi
> +
> +if [[ $1 == stop ]]; then
> +	for _i in ${_pkg_scripts}; do _l="${_i} ${_l}"; done
> +	_pkg_scripts=${_l% }
> +fi
> +
> +for _i in ${_pkg_scripts}; do
> +	if [[ -x /etc/rc.d/${_i} ]]; then
> +		/etc/rc.d/${_i} $@ || exit $?
> +	fi
> +done
diff -Nupr /usr/ports/comms/hylafax/Makefile ./Makefile
--- /usr/ports/comms/hylafax/Makefile	Fri Jun 26 17:06:58 2026
+++ ./Makefile	Sun Jul 19 12:32:51 2026
@@ -1,14 +1,14 @@
 COMMENT=		send/receive faxes and share modems
 
 DISTNAME=		hylafax-7.0.11
-REVISION=		0
+REVISION=		1
 CATEGORIES=		comms
 
 HOMEPAGE=		https://hylafax.sourceforge.io/
 SITES=			${SITE_SOURCEFORGE:=hylafax/}
 
 # License: BSD
-# http://www.hylafax.org/HylaFAQ/copyright.html
+# https://sourceforge.net/p/hylafax/HylaFAX+/HEAD/tree/trunk/COPYRIGHT
 PERMIT_PACKAGE=		Yes
 
 FLAVORS=		a4
@@ -47,7 +47,8 @@ CONFIGURE_ARGS=		--nointeractive \
 			--with-SCRIPT_SH="/bin/ksh" \
 			--with-INSTALLROOT="${DESTDIR}" \
 			--with-DIR_MAN="${TRUEPREFIX}/man" \
-			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc"
+			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc" \
+			--with-PATH_AFM="${TRUEPREFIX}/share/fonts/ghostscript"
 
 CONFIGURE_ENV+=		DISABLE_PODOFO=yes
 
diff -Nupr /usr/ports/comms/hylafax/patches/patch-Makefile_in ./patches/patch-Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-Makefile_in	Fri Jun 26 17:06:58 2026
+++ ./patches/patch-Makefile_in	Sun Sep 20 15:21:56 2026
@@ -6,7 +6,7 @@ Index: Makefile.in
  	    -idb hylafax.sw.server -dir \
  	    -root ${INSTALLROOT} -F ${SPOOL} bin client config dev etc info log recvq status
 -	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m 700 \
-+	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m 755 \
++	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m ${DIRMODE} \
  	    -idb hylafax.sw.server -dir \
  	    -root ${INSTALLROOT} -F ${SPOOL} sendq doneq docq tmp pollq archive
  makeDirs: makeClientDirs makeServerDirs
diff -Nupr /usr/ports/comms/hylafax/patches/patch-defs_in ./patches/patch-defs_in
--- /usr/ports/comms/hylafax/patches/patch-defs_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-defs_in	Sun Sep 20 15:37:28 2026
@@ -0,0 +1,17 @@
+Index: defs.in
+--- defs.in.orig
++++ defs.in
+@@ -108,6 +108,13 @@ SYSUSER		= @SYSUID@
+ SYSGROUP	= @SYSGID@
+ DIRMODE		= 755
+ #
++# Permissions for system executables that might be created at install time
++#
++BINMODE		= 0555
++SBINMODE	= 0555
++LIBDATAMODE	= 0555
++LIBEXECMODE	= 0555
++#
+ # Enable Dynamic Shared Object (DSO) support if appropriate.
+ #
+ # DSO is the suffix for a DSO file (e.g. ".so").  If DSO's are
diff -Nupr /usr/ports/comms/hylafax/patches/patch-etc_Makefile_in ./patches/patch-etc_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-etc_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-etc_Makefile_in	Sun Sep 20 10:07:56 2026
@@ -0,0 +1,54 @@
+--- etc/Makefile.in.orig
++++ etc/Makefile.in
+@@ -82,23 +82,23 @@ PUTSAMPLE	= ${PUTSERVER} -u ${FAXUSER} -g ${FAXGROUP} 
+ 		  -idb "config(noupdate)"
+ 
+ install: default
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxaddmodem.sh -O faxaddmodem
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxsetup.sh -O faxsetup
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxaddmodem.sh -O faxaddmodem
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxsetup.sh -O faxsetup
+ 	for i in bsdi irix linux; do \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} \
+ 		-src ${SRCDIR}/faxsetup.$$i -O faxsetup.$$i; \
+ 	done
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src probemodem.sh -O probemodem
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src probemodem.sh -O probemodem
+ 	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -o xferfaxlog
+ 	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 600 -o hosts.hfaxd
+ 	for i in ${DIALRULES}; do \
+ 	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -src ${SRCDIR}/$$i \
+ 		-idb "config(update)" -O $$i; \
+ 	done
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O lockname ondelay
+-	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -idb nostrip \
++	${PUTSERVER} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O lockname ondelay
++	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb nostrip \
+ 	    -src ${SRCDIR}/lutRS18.pcf -O lutRS18.pcf
+-	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -idb nostrip \
++	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb nostrip \
+ 	    -src ${SRCDIR}/LiberationSans-25.pcf -O LiberationSans-25.pcf
+ 
+ uninstall::
+@@ -136,7 +136,7 @@ installSysVInit: hylafax
+ 		fi; \
+ 	    done; \
+ 	else \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 hylafax; \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} hylafax; \
+ 	fi
+ 	if test -d /etc/config; then \
+ 	    ${PUTSERVER} -root ${INSTALLROOT} -F /etc/config -m 644 -src config.fax -O fax; \
+@@ -165,9 +165,9 @@ uninstallSysVInit::
+ 	fi
+ 
+ installClient: default
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxsetup.sh -O faxsetup
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxsetup.sh -O faxsetup
+ 	for i in bsdi irix linux; do \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} \
+ 		-src ${SRCDIR}/faxsetup.$$i -O faxsetup.$$i; \
+ 	done
+ 
diff -Nupr /usr/ports/comms/hylafax/patches/patch-etc_faxsetup_sh_in ./patches/patch-etc_faxsetup_sh_in
--- /usr/ports/comms/hylafax/patches/patch-etc_faxsetup_sh_in	Fri Jun 26 17:06:58 2026
+++ ./patches/patch-etc_faxsetup_sh_in	Tue Aug 25 11:44:13 2026
@@ -21,18 +21,68 @@ Index: etc/faxsetup.sh.in
  PASSWD=/etc/passwd		# where to go for password entries
  PROTOUID=@FAXUID@		# user who's uid we use for FAX user
  defPROTOUID=3			# use this uid if PROTOUID doesn't exist
-@@ -1265,7 +1265,7 @@ if onClient; then
+@@ -1259,34 +1259,67 @@ if onClient; then
+ 			}	
+ 		'
+ 	}
++	genFontmap()
++	{
++	    FONTMAP_FILE=$1
++	    Note ""
++	    Note "Generating Fontmap $FONTMAP_FILE."
++	    Note ""
++
++	    $ECHO "% HylaFAX FontMap file generated by faxsetup on `date 2>/dev/null`" > $FONTMAP_FILE
++	    for d in `$ECHO $2 | $SED 's/:/ /g'`; do
++		if [ -d "$d" ]; then
++		    cd $d
++		    for f in `ls | grep '\.afm'`; do
++			$AWK -F '[ ]' '/FontName/ {print "/"$2"\t("FILENAME")\t;"; exit}; // {}' $f >> $FONTMAP_FILE
++		    done
++		fi
++	    done
++	    if [ -z "`$GREP Courier $FONTMAP_FILE`" ]; then
++	    Note ""
++	    Note "Adding aliases to Fontmap $FONTMAP_FILE."
++	    Note ""
++		$ECHO "" >> $FONTMAP_FILE
++		$ECHO "% Aliases" >> $FONTMAP_FILE
++		$ECHO "" >> $FONTMAP_FILE
++		$ECHO "/Courier		/NimbusMonL-Regu ;" >> $FONTMAP_FILE
++		$ECHO "/Courier-Bold		/NimbusMonL-Bold ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica		/NimbusSanL-Regu ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica-Oblique	/NimbusSanL-ReguItal ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica-Bold		/NimbusSanL-Bold ;" >> $FONTMAP_FILE
++		$ECHO "/Times-Bold		/NimbusRomNo9L-Medi ;" >> $FONTMAP_FILE
++	    fi
++	}
+ 	# If configure --with-PATH_AFM=<path> was used then we need to include it first.
+ 	RUNTIME_PATH_AFM=$PATH_AFM:`getGSFonts`
+ 	if [ -n "$RUNTIME_PATH_AFM" \
  				-a "$RUNTIME_PATH_AFM" != "$PATH_AFM" ]; then 
  	    Note ""
++	    #
++	    # When ghostscript is built with COMPILE_INITS=1, the fonts are compiled in to the ghostscript executable.
++	    # The textfmt(1) program in HylaFAX uses fonts in afm font files.
++	    # The Fontmap.HylaFAX file is created from afm font files found in the paths listed in RUNTIME_PATH_AFM.
++	    #
++	    genFontmap $DIR_SPOOL/etc/Fontmap.HylaFAX $RUNTIME_PATH_AFM
  	    FONTPATHS=`echo $RUNTIME_PATH_AFM | sed 's/:/ /g'`
 -	    $PATH_GSRIP -q -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
-+	    $PATH_GSRIP -q -dNOSAFER -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
- 	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
+-	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
  	    {
  		#
-@@ -1280,8 +1280,8 @@ if onClient; then
+-		# genfontmap.ps really just gives us a copy of Fontmap.GS, and in later Ghostscript versions there
+-		# are many Fontmap.GS references that are left undefined.  This may work for Ghostscript, but 
+-		# it does not work for us.  So, we need to do what we can to define them.
+-		#
+ 		fontmap=$DIR_SPOOL/etc/Fontmap.HylaFAX
+ 		newfontmap=$TMPDIR/Fontmap.HylaFAX.new.$$
+ 		tmpfile=$TMPDIR/fontmap-fixup.$$
+ 		$CP $fontmap $newfontmap
  		for fontname in `$CAT $fontmap | $GREP "	/" | $SED -e 's/^[^\/]*\///g' -e 's/ .*//g'`; do 
- 		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
+-		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
++		    if [ -z "`$GREP "^/$fontname" $fontmap`" ]; then
  			# There is a blind reference to this font.  Fix that.
 -			for fontpath in `$PATH_GSRIP -h | $GREP -A 100 "Search path:" | $GREP " :" | $SED 's/://g'`; do 
 -			    $GREP -l -d recurse -a "FontDirectory/$fontname known" $fontpath 2>/dev/null; 
@@ -41,7 +91,16 @@ Index: etc/faxsetup.sh.in
  			done | $SED q > $tmpfile
  			fontfile=`$CAT $tmpfile`
  			if [ -n "$fontfile" ]; then
-@@ -2425,12 +2425,7 @@ if onServer; then
+-			    echo "($fontname)	($fontfile) ;" >> $newfontmap
+-		        else
++			    $ECHO "/$fontname	($fontfile) ;" >> $newfontmap
++		        fi
++		        fontalias=`$ECHO $fontname | $SED -e 's/^\/*\///g'`
++		        if [ -z "`$GREP "^/$fontalias" $fontmap`" ]; then
+ 			    echo "Warning: No font file found for \"$fontname\" but the font map includes it."
+ 			fi
+ 		    fi
+@@ -2425,12 +2458,7 @@ if onServer; then
  
      findproc()
      {
@@ -55,3 +114,54 @@ Index: etc/faxsetup.sh.in
  	echo "$pid"
      }
  
+@@ -2446,9 +2474,9 @@ if onServer; then
+ 	    echo
+ 	fi
+ 	if isOK "$x"; then
+-	    if [ -x /bin/systemctl ]; then
+-		echo "Executing '/bin/systemctl stop hylafax-hfaxd'..."
+-		/bin/systemctl stop hylafax-hfaxd
++	    if [ -x /usr/sbin/rcctl ]; then
++		echo "Executing '/usr/sbin/rcctl stop hfaxd'..."
++		/usr/sbin/rcctl stop hfaxd
+ 	    elif kill $HFAXD; then
+ 		echo "Sent a SIGTERM to processes $HFAXD."
+ 	    else
+@@ -2497,9 +2525,9 @@ EOF
+ 	    echo
+ 	fi
+ 	if isOK "$x"; then
+-	    if [ -x /bin/systemctl ]; then
+-		echo "Executing '/bin/systemctl stop hylafax-faxq'..."
+-		/bin/systemctl stop hylafax-faxq
++	    if [ -x /usr/sbin/rcctl ]; then
++		echo "Executing '/usr/sbin/rcctl stop faxq'..."
++		/usr/sbin/rcctl stop faxq
+ 	    else
+ 		$DIR_SBIN/faxquit >/dev/null 2>&1
+ 	    fi
+@@ -2589,18 +2617,18 @@ EOF
+     fi
+     if isOK "$x"; then
+ 	echo ""
+-	if [ -x /bin/systemctl ]; then
+-	    echo "Executing '/bin/systemctl start hylafax-faxq'..."
+-	    /bin/systemctl start hylafax-faxq
+-	    echo "Executing '/bin/systemctl start hylafax-hfaxd'..."
+-	    /bin/systemctl start hylafax-hfaxd
++	if [ -x /usr/sbin/rcctl ]; then
++	    echo "Executing '/usr/sbin/rcctl start faxq'..."
++	    /usr/sbin/rcctl start faxq
++	    echo "Executing '/usr/sbin/rcctl start hfaxd'..."
++	    /usr/sbin/rcctl start hfaxd
+ 	elif [ -x ${DIR_SYSVINIT}/hylafax ]; then
+ 	    echo ${DIR_SYSVINIT}/hylafax start
+ 	    ${DIR_SYSVINIT}/hylafax start
+ 	else
+ 	    echo $DIR_SBIN/faxq; $DIR_SBIN/faxq
+ 	    hfaxdopts=
+-	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-i hylafax "; fi
++	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-f all -l 0.0.0.0 -i hylafax -l ::0 -i hylafax "; fi
+ 	    if isOK "$HFAXD_SNPP_SERVER"; then hfaxdopts="$hfaxdopts\-s snpp"; fi
+ 	    echo "$DIR_SBIN/hfaxd $hfaxdopts"; eval "$DIR_SBIN/hfaxd $hfaxdopts"
+ 	fi
diff -Nupr /usr/ports/comms/hylafax/patches/patch-etc_hylafax_in ./patches/patch-etc_hylafax_in
--- /usr/ports/comms/hylafax/patches/patch-etc_hylafax_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-etc_hylafax_in	Sat Jul 11 07:23:59 2026
@@ -0,0 +1,38 @@
+--- etc/hylafax.in.orig	Wed Oct 13 03:42:48 2021
++++ etc/hylafax.in	Sat Jul 11 07:20:51 2026
+@@ -90,9 +90,6 @@ fi
+ if [ -z "$HFAXD_SNPP_SERVER" ]; then
+     HFAXD_SNPP_SERVER=@HFAXD_SNPP_SERVER@
+ fi
+-if [ -z "$HFAXD_ARGS" ]; then
+-    HFAXD_ARGS=
+-fi
+ 
+ IS_ON=/etc/chkconfig		# NB: chkconfig is IRIX- and Linux-specific
+ FAXQ=$SBIN/faxq
+@@ -101,6 +98,10 @@ FAXQUIT=$SBIN/faxquit
+ FAXPORT=hylafax			# designated port for new protocol
+ SNPPPORT=444			# official port for SNPP
+ 
++if [ -z "$HFAXD_ARGS" ]; then
++    HFAXD_ARGS="-f all -l 0.0.0.0 -i $FAXPORT -l ::0 "
++fi
++
+ if test ! -x $IS_ON ; then
+     IS_ON=true
+ fi
+@@ -150,13 +151,7 @@ fi
+ #
+ killall()
+ {
+-	# NB: ps ax should give an error on System V, so we try it first!
+-	pid="`ps ax 2>/dev/null | $AWK \"\
+-		/[\/ (]$2[ )]/	{print \\$1;}
+-		/[\/ ]$2\$/	{print \\$1;}\"`"
+-	test "$pid" ||
+-	    pid="`ps -e 2>/dev/null | $AWK \"/ $2[ ]*\$/ {print \\$1;}\"`"
+-	test "$pid" && kill $1 $pid; return
++	/usr/bin/pkill $1 $2
+ }
+ 
+ do_start()
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxalter_Makefile_in ./patches/patch-faxalter_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxalter_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxalter_Makefile_in	Sun Sep 20 10:08:01 2026
@@ -0,0 +1,11 @@
+--- faxalter/Makefile.in.orig
++++ faxalter/Makefile.in
+@@ -57,7 +57,7 @@ faxalter: faxalter.o ${LIBS}
+ 	${C++F} -o $@ faxalter.o ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxalter
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxalter
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxalter
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxcover_Makefile_in ./patches/patch-faxcover_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxcover_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxcover_Makefile_in	Sun Sep 20 10:08:05 2026
@@ -0,0 +1,16 @@
+--- faxcover/Makefile.in.orig
++++ faxcover/Makefile.in
+@@ -60,11 +60,11 @@ faxcover: faxcover.o ${LIBS}
+ 	${C++F} -o $@ faxcover.o ${LDFLAGS}
+ 
+ install: default ${SRCDIR}/faxcover.ps
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxcover
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxcover
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 644 \
+ 	    -idb "${PRODUCT}.sw.client config(suggest)" \
+ 	    -src ${SRCDIR}/faxcover.ps -O faxcover.ps
+-	${INSTALL} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src edit-faxcover.sh -O edit-faxcover
++	${INSTALL} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src edit-faxcover.sh -O edit-faxcover
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxcover
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxd_FaxMachineLog_c++ ./patches/patch-faxd_FaxMachineLog_c++
--- /usr/ports/comms/hylafax/patches/patch-faxd_FaxMachineLog_c++	Wed Mar 25 23:47:01 2026
+++ ./patches/patch-faxd_FaxMachineLog_c++	Thu Jan  1 08:00:00 1970
@@ -1,15 +0,0 @@
-Index: faxd/FaxMachineLog.c++
---- faxd/FaxMachineLog.c++.orig
-+++ faxd/FaxMachineLog.c++
-@@ -70,7 +70,11 @@ FaxMachineLog::FaxMachineLog(int f, const fxStr& numbe
- 	struct loggingThreadData *r = (struct loggingThreadData *) malloc(sizeof(struct loggingThreadData));
- 	r->pfd = lpfd[0];
- 	r->wfd = fd;
-+#if defined(__OpenBSD__)
-+	if (1) {	// loggingThread has SIGABRTs in OpenBSD
-+#else
- 	if (pthread_create(&lt, NULL, &loggingThread, (void *) r) != 0) {
-+#endif
- 	    if (lpfd[0] > 0) Sys::close(lpfd[0]);
- 	    if (lpfd[1] > 0) Sys::close(lpfd[1]);
- 	    lpfd[0] = -1;
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxd_Makefile_in ./patches/patch-faxd_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxd_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxd_Makefile_in	Sun Sep 20 10:08:11 2026
@@ -0,0 +1,15 @@
+--- faxd/Makefile.in.orig
++++ faxd/Makefile.in
+@@ -219,9 +219,9 @@ trigtest: trigtest.o libfaxserver.${DSO} ${LIBS}
+ PUTSERV=${INSTALL} -idb ${PRODUCT}.sw.server
+ 
+ install: default
+-	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m 755 -O faxq faxqclean
+-	${PUTSERV} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O faxgetty faxsend pagesend
+-	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m 755 -O tsitest tagtest cqtest choptest
++	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -O faxq faxqclean
++	${PUTSERV} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O faxgetty faxsend pagesend
++	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -O tsitest tagtest cqtest choptest
+ 
+ uninstall::
+ 	${RM} -f ${SBIN}/faxq ${SBIN}/faxqclean
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxd_sslfaxproxy_c++ ./patches/patch-faxd_sslfaxproxy_c++
--- /usr/ports/comms/hylafax/patches/patch-faxd_sslfaxproxy_c++	Wed Mar 25 23:47:01 2026
+++ ./patches/patch-faxd_sslfaxproxy_c++	Tue Aug 25 12:05:11 2026
@@ -10,3 +10,11 @@ Index: faxd/sslfaxproxy.c++
      timeval curTime;
      gettimeofday(&curTime, 0);
      return curTime;
+@@ -94,6 +94,7 @@ sslFaxThread(void* sd)
+ done:
+     Sys::close(s->wfd);
+     Sys::close(s->rfd);
++    free(sd);
+     return (NULL);
+ }
+ 
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxmail_Makefile_in ./patches/patch-faxmail_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxmail_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxmail_Makefile_in	Sun Sep 20 10:08:16 2026
@@ -0,0 +1,26 @@
+--- faxmail/Makefile.in.orig
++++ faxmail/Makefile.in
+@@ -57,18 +57,18 @@ faxmail: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxmail
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxmail
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/faxmail.ps -O faxmail.ps
+ 	-${INSTALL} -u ${SYSUSER} -g ${SYSGROUP} -m ${DIRMODE} \
+ 	    -idb hylafax.sw.client -root ${INSTALLROOT} -dir ${LIBDATA}/faxmail ${LIBDATA}/faxmail/application ${LIBDATA}/faxmail/image
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-pdf.sh -O pdf
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-octet-stream.sh -O octet-stream
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-binary.sh -O binary
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/image -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/image -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/image-tiff.sh -O tiff
+ 
+ uninstall::
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxrm_Makefile_in ./patches/patch-faxrm_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxrm_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxrm_Makefile_in	Sun Sep 20 10:08:21 2026
@@ -0,0 +1,11 @@
+--- faxrm/Makefile.in.orig
++++ faxrm/Makefile.in
+@@ -57,7 +57,7 @@ faxrm: faxrm.o ${LIBS}
+ 	${C++F} -o $@ faxrm.o ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxrm
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxrm
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxrm
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxstat_Makefile_in ./patches/patch-faxstat_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxstat_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxstat_Makefile_in	Sun Sep 20 10:08:27 2026
@@ -0,0 +1,11 @@
+--- faxstat/Makefile.in.orig
++++ faxstat/Makefile.in
+@@ -57,7 +57,7 @@ faxstat: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxstat
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxstat
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxstat
diff -Nupr /usr/ports/comms/hylafax/patches/patch-hfaxd_Makefile_in ./patches/patch-hfaxd_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-hfaxd_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-hfaxd_Makefile_in	Sun Sep 20 10:08:38 2026
@@ -0,0 +1,11 @@
+--- hfaxd/Makefile.in.orig
++++ hfaxd/Makefile.in
+@@ -95,7 +95,7 @@ HylaFAXServer.o: 
+ incdepend:
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBEXEC} -u root -m 755 \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBEXEC} -u root -m ${LIBEXECMODE} \
+ 	    -idb ${PRODUCT}.sw.server -O hfaxd
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 644 -idb ${PRODUCT}.sw.server \
+ 	    -idb "config(noupdate)" -src ${SRCDIR}/hfaxd.conf -O hfaxd.conf
diff -Nupr /usr/ports/comms/hylafax/patches/patch-port_install_sh_in ./patches/patch-port_install_sh_in
--- /usr/ports/comms/hylafax/patches/patch-port_install_sh_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-port_install_sh_in	Sun Sep 20 13:08:03 2026
@@ -0,0 +1,11 @@
+--- port/install.sh.in.orig
++++ port/install.sh.in
+@@ -213,7 +213,7 @@ install()
+ 	    do_chXXX $CHGRP $target
+ 	fi
+ 	$VERBOSE "$CHMOD $target"
+-	do_chXXX $CHMOD $target
++	$CHMOD $target
+ 	if [ $STRIP != ":" ] && [ -x $ROOT$DESTDIR$f ]; then
+ 	    $STRIP $target >/dev/null 2>&1 || true
+ 	    $VERBOSE "$STRIP $target"
diff -Nupr /usr/ports/comms/hylafax/patches/patch-sendfax_Makefile_in ./patches/patch-sendfax_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-sendfax_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-sendfax_Makefile_in	Sun Sep 20 10:08:52 2026
@@ -0,0 +1,11 @@
+--- sendfax/Makefile.in.orig
++++ sendfax/Makefile.in
+@@ -57,7 +57,7 @@ sendfax: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O sendfax
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O sendfax
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/sendfax
diff -Nupr /usr/ports/comms/hylafax/patches/patch-sendpage_Makefile_in ./patches/patch-sendpage_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-sendpage_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-sendpage_Makefile_in	Sun Sep 20 10:08:56 2026
@@ -0,0 +1,11 @@
+--- sendpage/Makefile.in.orig
++++ sendpage/Makefile.in
+@@ -57,7 +57,7 @@ sendpage: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O sendpage
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O sendpage
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/sendpage
diff -Nupr /usr/ports/comms/hylafax/patches/patch-util_Makefile_in ./patches/patch-util_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-util_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-util_Makefile_in	Sun Sep 20 10:09:01 2026
@@ -0,0 +1,105 @@
+--- util/Makefile.in.orig
++++ util/Makefile.in
+@@ -160,60 +160,60 @@ checkat: checkat.o ${LIBS}
+ 
+ PUTCLIENT	= ${INSTALL} -idb ${PRODUCT}.sw.client
+ PUTSERVER	= ${INSTALL} -idb ${PRODUCT}.sw.server
+-PUTSERV		= ${PUTSERVER} -m 755
++PUTSERV		= ${PUTSERVER} -m 555
+ PUTSUPD		= ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/bin -idb "config(update)"
+ PUTSUPDDICT	= ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/bin/dict -idb "config(update)"
+ PUTSBIN		= ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN}
+ 
+ installClient: default
+-	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O textfmt
++	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O textfmt
+ 	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -O pagesizes
+ 	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -src ${SRCDIR}/typerules -O typerules
+ 
+ install: installClient
+-	${PUTSBIN} -m 755 -O faxmsg faxadduser faxconfig faxdeluser faxmodem \
++	${PUTSBIN} -m ${SBINMODE} -O faxmsg faxadduser faxconfig faxdeluser faxmodem \
+ 	    faxstate faxfetch faxwatch faxinfo tiffcheck
+ 	${PUTSBIN} -idb ${PRODUCT}.sw.server \
+ 	    -ln ${SBIN}/faxmsg -O faxabort faxanswer faxquit faxlock
+-	${PUTSBIN} -m 755 -O dialtest typetest
+-	${PUTSBIN} -m 755 -src xferfaxstats.sh -O xferfaxstats
+-	${PUTSBIN} -m 755 -src recvstats.sh -O recvstats
+-	${PUTSBIN} -m 755 -idb "config(update)" -src faxcron.sh -O faxcron
+-	${PUTSUPD} -m 755 -src ps2fax.gs.sh -O ps2fax.gs
+-	${PUTSUPD} -m 755 -src ps2fax.dps.sh -O ps2fax.dps
+-	${PUTSUPD} -m 755 -src ps2fax.imp.sh -O ps2fax.imp
+-	${PUTSUPD} -m 755 -src pdf2fax.gs.sh -O pdf2fax.gs
+-	${PUTSUPD} -m 755 -src pcl2fax.sh -O pcl2fax
+-	${PUTSUPD} -m 755 -src tiff2fax.sh -O tiff2fax
+-	${PUTSUPD} -m 755 -src tiff2pdf.sh -O tiff2pdf
+-	${PUTSUPD} -m 755 -src notify.sh -O notify
+-	${PUTSUPD} -m 755 -src archive.sh -O archive
+-	${PUTSUPD} -m 755 -src common-functions.sh -O common-functions
+-	${PUTSUPD} -m 755 -src faxrcvd.sh -O faxrcvd
+-	${PUTSUPD} -m 755 -src genfontmap.ps -O genfontmap.ps
+-	${PUTSUPD} -m 755 -src pollrcvd.sh -O pollrcvd
+-	${PUTSUPD} -m 755 -src mkcover.sh -O mkcover
+-	${PUTSUPD} -m 755 -src wedged.sh -O wedged
+-	${PUTSUPD} -m 755 -src qp-encode.awk -O qp-encode.awk
+-	${PUTSUPD} -m 755 -src rfc2047-encode.awk -O rfc2047-encode.awk
+-	${PUTSUPD} -m 755 -src auto-rotate.ps -O auto-rotate.ps
+-	${PUTSUPD} -m 755 -src dictionary.sh -O dictionary
+-	${PUTSUPDDICT} -m 644 -src dict-de -O de
+-	${PUTSUPDDICT} -m 644 -src dict-en -O en
+-	${PUTSUPDDICT} -m 644 -src dict-es -O es
+-	${PUTSUPDDICT} -m 644 -src dict-fr -O fr
+-	${PUTSUPDDICT} -m 644 -src dict-he -O he
+-	${PUTSUPDDICT} -m 644 -src dict-it -O it
+-	${PUTSUPDDICT} -m 644 -src dict-nl_BE -O nl_BE
+-	${PUTSUPDDICT} -m 644 -src dict-pl -O pl
+-	${PUTSUPDDICT} -m 644 -src dict-pt -O pt
+-	${PUTSUPDDICT} -m 644 -src dict-pt_BR -O pt_BR
+-	${PUTSUPDDICT} -m 644 -src dict-ro -O ro
+-	${PUTSUPDDICT} -m 644 -src dict-ru -O ru
+-	${PUTSUPDDICT} -m 644 -src dict-sr -O sr
+-	${PUTSUPDDICT} -m 644 -src dict-tr -O tr
+-	${PUTSUPDDICT} -m 644 -src dict-uk -O uk
+-	${PUTSUPDDICT} -m 644 -src dict-zh -O zh
++	${PUTSBIN} -m ${SBINMODE} -O dialtest typetest
++	${PUTSBIN} -m ${SBINMODE} -src xferfaxstats.sh -O xferfaxstats
++	${PUTSBIN} -m ${SBINMODE} -src recvstats.sh -O recvstats
++	${PUTSBIN} -m ${SBINMODE} -idb "config(update)" -src faxcron.sh -O faxcron
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.gs.sh -O ps2fax.gs
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.dps.sh -O ps2fax.dps
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.imp.sh -O ps2fax.imp
++	${PUTSUPD} -m ${BINMODE} -src pdf2fax.gs.sh -O pdf2fax.gs
++	${PUTSUPD} -m ${BINMODE} -src pcl2fax.sh -O pcl2fax
++	${PUTSUPD} -m ${BINMODE} -src tiff2fax.sh -O tiff2fax
++	${PUTSUPD} -m ${BINMODE} -src tiff2pdf.sh -O tiff2pdf
++	${PUTSUPD} -m ${BINMODE} -src notify.sh -O notify
++	${PUTSUPD} -m ${BINMODE} -src archive.sh -O archive
++	${PUTSUPD} -m ${BINMODE} -src common-functions.sh -O common-functions
++	${PUTSUPD} -m ${BINMODE} -src faxrcvd.sh -O faxrcvd
++	${PUTSUPD} -m ${BINMODE} -src genfontmap.ps -O genfontmap.ps
++	${PUTSUPD} -m ${BINMODE} -src pollrcvd.sh -O pollrcvd
++	${PUTSUPD} -m ${BINMODE} -src mkcover.sh -O mkcover
++	${PUTSUPD} -m ${BINMODE} -src wedged.sh -O wedged
++	${PUTSUPD} -m ${BINMODE} -src qp-encode.awk -O qp-encode.awk
++	${PUTSUPD} -m ${BINMODE} -src rfc2047-encode.awk -O rfc2047-encode.awk
++	${PUTSUPD} -m ${BINMODE} -src auto-rotate.ps -O auto-rotate.ps
++	${PUTSUPD} -m ${BINMODE} -src dictionary.sh -O dictionary
++	${PUTSUPDDICT} -m 444 -src dict-de -O de
++	${PUTSUPDDICT} -m 444 -src dict-en -O en
++	${PUTSUPDDICT} -m 444 -src dict-es -O es
++	${PUTSUPDDICT} -m 444 -src dict-fr -O fr
++	${PUTSUPDDICT} -m 444 -src dict-he -O he
++	${PUTSUPDDICT} -m 444 -src dict-it -O it
++	${PUTSUPDDICT} -m 444 -src dict-nl_BE -O nl_BE
++	${PUTSUPDDICT} -m 444 -src dict-pl -O pl
++	${PUTSUPDDICT} -m 444 -src dict-pt -O pt
++	${PUTSUPDDICT} -m 444 -src dict-pt_BR -O pt_BR
++	${PUTSUPDDICT} -m 444 -src dict-ro -O ro
++	${PUTSUPDDICT} -m 444 -src dict-ru -O ru
++	${PUTSUPDDICT} -m 444 -src dict-sr -O sr
++	${PUTSUPDDICT} -m 444 -src dict-tr -O tr
++	${PUTSUPDDICT} -m 444 -src dict-uk -O uk
++	${PUTSUPDDICT} -m 444 -src dict-zh -O zh
+ 	${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb "config(update)" \
+ 	    -src ${SRCDIR}/dpsprinter.ps -O dpsprinter.ps
+ 	${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -idb "config(suggest)" \
diff -Nupr /usr/ports/comms/hylafax/pkg/MESSAGE ./pkg/MESSAGE
--- /usr/ports/comms/hylafax/pkg/MESSAGE	Thu Jan  1 08:00:00 1970
+++ ./pkg/MESSAGE	Sun Sep 20 14:14:59 2026
@@ -0,0 +1,5 @@
+If you've updated your installation from an earlier version of HylaFAX 7.0.11,
+update your Fontmap.HylaFAX file by running;
+
+    # ${PREFIX}/sbin/faxsetup -client
+
diff -Nupr /usr/ports/comms/hylafax/pkg/PLIST ./pkg/PLIST
--- /usr/ports/comms/hylafax/pkg/PLIST	Fri Jun 26 17:06:58 2026
+++ ./pkg/PLIST	Mon Sep 21 07:55:05 2026
@@ -3,7 +3,6 @@
 @newuser _hylafax:902:_hylafax::HylaFAX Server:/var/spool/hylafax:/sbin/nologin
 @rcscript ${RCDIR}/faxq
 @rcscript ${RCDIR}/hfaxd
-@mode 555
 @bin bin/faxalter
 @bin bin/faxcover
 @bin bin/faxmail
@@ -11,20 +10,15 @@
 @bin bin/faxstat
 @bin bin/sendfax
 @bin bin/sendpage
-@mode
 @owner _hylafax
 @group dialer
 libdata/hylafax/
 libdata/hylafax/COPYRIGHT
 libdata/hylafax/archive/
 libdata/hylafax/bin/
-@mode 555
 libdata/hylafax/bin/archive
-@mode
 libdata/hylafax/bin/auto-rotate.ps
-@mode 555
 libdata/hylafax/bin/common-functions
-@mode
 libdata/hylafax/bin/dict/
 libdata/hylafax/bin/dict/de
 libdata/hylafax/bin/dict/en
@@ -42,12 +36,9 @@ libdata/hylafax/bin/dict/sr
 libdata/hylafax/bin/dict/tr
 libdata/hylafax/bin/dict/uk
 libdata/hylafax/bin/dict/zh
-@mode 555
 libdata/hylafax/bin/dictionary
 libdata/hylafax/bin/faxrcvd
-@mode
 libdata/hylafax/bin/genfontmap.ps
-@mode 555
 libdata/hylafax/bin/mkcover
 libdata/hylafax/bin/notify
 libdata/hylafax/bin/pcl2fax
@@ -56,14 +47,11 @@ libdata/hylafax/bin/pollrcvd
 libdata/hylafax/bin/ps2fax.dps
 libdata/hylafax/bin/ps2fax.gs
 libdata/hylafax/bin/ps2fax.imp
-@mode
 libdata/hylafax/bin/qp-encode.awk
 libdata/hylafax/bin/rfc2047-encode.awk
-@mode 555
 libdata/hylafax/bin/tiff2fax
 libdata/hylafax/bin/tiff2pdf
 libdata/hylafax/bin/wedged
-@mode
 libdata/hylafax/client/
 libdata/hylafax/config/
 libdata/hylafax/config/att-dataport
@@ -155,7 +143,9 @@ libdata/hylafax/etc/dialrules.sf-ba
 libdata/hylafax/etc/dialrules.uk
 libdata/hylafax/etc/dialrules.world
 libdata/hylafax/etc/dpsprinter.ps
+@mode 644
 libdata/hylafax/etc/faxcover.ps
+@mode
 libdata/hylafax/etc/faxmail/
 libdata/hylafax/etc/faxmail.ps
 libdata/hylafax/etc/faxmail/application/
@@ -254,7 +244,6 @@ libdata/hylafax/tmp/
 @man man/man8/typetest.8c
 @man man/man8/wedged.8c
 @man man/man8/xferfaxstats.8c
-@mode 555
 @bin sbin/choptest
 @bin sbin/cqtest
 @bin sbin/dialtest
@@ -295,9 +284,8 @@ sbin/recvstats
 @bin sbin/tsitest
 @bin sbin/typetest
 sbin/xferfaxstats
-@mode
 share/doc/pkg-readmes/${PKGSTEM}
-@exec ln -sf %D/libdata/hylafax /var/spool/hylafax
+@exec [ -e /var/spool/hylafax ] || ln -sf %D/libdata/hylafax /var/spool/hylafax
 @exec mkfifo %D/libdata/hylafax/FIFO; chown _hylafax:dialer %D/libdata/hylafax/FIFO; chmod 600 %D/libdata/hylafax/FIFO
 @unexec rm %D/libdata/hylafax/FIFO
 @extraunexec rm -f /var/spool/hylafax
diff -Nupr /usr/ports/comms/hylafax/pkg/README ./pkg/README
--- /usr/ports/comms/hylafax/pkg/README	Fri Jun 26 17:06:58 2026
+++ ./pkg/README	Sun Sep 20 13:07:08 2026
@@ -25,12 +25,20 @@ something like this:
 and send a SIGHUP to init(8).
 
 
+Updating HylaFAX+ fontmap file
+=======================================================
+To refresh or create a missing HylaFAX fontmap file after an update simply run;
+
+    # ${TRUEPREFIX}/sbin/faxsetup -client
+
+
 Updating file ownership to use the new _hylafax account
 =======================================================
-To update the ownership of directories and files in the HylaFAX spool directory,
-perform one of the following.
+Old versions (6.x) of this package used the legacy UUCP account. This was
+changed to _hylafax when moving to 7.x. If your HylaFAX spool directory
+still contains files owned by _uucp / uid 66, update the ownership as follows.
 
-If the legacy UUCP account is still registerd;
+If the legacy UUCP account is still registered;
 
     find ${TRUEPREFIX}/libdata/hylafax -user uucp -exec /sbin/chown 902 {} \;
 or
diff -Pupr /usr/ports/comms/hylafax/Makefile ./Makefile
--- /usr/ports/comms/hylafax/Makefile	Fri Jun 26 17:06:58 2026
+++ ./Makefile	Sun Jul 19 12:32:51 2026
@@ -1,14 +1,14 @@
 COMMENT=		send/receive faxes and share modems
 
 DISTNAME=		hylafax-7.0.11
-REVISION=		0
+REVISION=		1
 CATEGORIES=		comms
 
 HOMEPAGE=		https://hylafax.sourceforge.io/
 SITES=			${SITE_SOURCEFORGE:=hylafax/}
 
 # License: BSD
-# http://www.hylafax.org/HylaFAQ/copyright.html
+# https://sourceforge.net/p/hylafax/HylaFAX+/HEAD/tree/trunk/COPYRIGHT
 PERMIT_PACKAGE=		Yes
 
 FLAVORS=		a4
@@ -47,7 +47,8 @@ CONFIGURE_ARGS=		--nointeractive \
 			--with-SCRIPT_SH="/bin/ksh" \
 			--with-INSTALLROOT="${DESTDIR}" \
 			--with-DIR_MAN="${TRUEPREFIX}/man" \
-			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc"
+			--with-DIR_LIBDATA="${TRUEPREFIX}/libdata/hylafax/etc" \
+			--with-PATH_AFM="${TRUEPREFIX}/share/fonts/ghostscript"
 
 CONFIGURE_ENV+=		DISABLE_PODOFO=yes
 
diff -Pupr /usr/ports/comms/hylafax/patches/patch-Makefile_in ./patches/patch-Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-Makefile_in	Fri Jun 26 17:06:58 2026
+++ ./patches/patch-Makefile_in	Sun Sep 20 15:21:56 2026
@@ -6,7 +6,7 @@ Index: Makefile.in
  	    -idb hylafax.sw.server -dir \
  	    -root ${INSTALLROOT} -F ${SPOOL} bin client config dev etc info log recvq status
 -	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m 700 \
-+	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m 755 \
++	-${INSTALL} -u ${FAXUSER} -g ${FAXGROUP} -m ${DIRMODE} \
  	    -idb hylafax.sw.server -dir \
  	    -root ${INSTALLROOT} -F ${SPOOL} sendq doneq docq tmp pollq archive
  makeDirs: makeClientDirs makeServerDirs
diff -Pupr /usr/ports/comms/hylafax/patches/patch-defs_in ./patches/patch-defs_in
--- /usr/ports/comms/hylafax/patches/patch-defs_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-defs_in	Sun Sep 20 15:37:28 2026
@@ -0,0 +1,17 @@
+Index: defs.in
+--- defs.in.orig
++++ defs.in
+@@ -108,6 +108,13 @@ SYSUSER		= @SYSUID@
+ SYSGROUP	= @SYSGID@
+ DIRMODE		= 755
+ #
++# Permissions for system executables that might be created at install time
++#
++BINMODE		= 0555
++SBINMODE	= 0555
++LIBDATAMODE	= 0555
++LIBEXECMODE	= 0555
++#
+ # Enable Dynamic Shared Object (DSO) support if appropriate.
+ #
+ # DSO is the suffix for a DSO file (e.g. ".so").  If DSO's are
diff -Pupr /usr/ports/comms/hylafax/patches/patch-etc_Makefile_in ./patches/patch-etc_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-etc_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-etc_Makefile_in	Sun Sep 20 10:07:56 2026
@@ -0,0 +1,54 @@
+--- etc/Makefile.in.orig
++++ etc/Makefile.in
+@@ -82,23 +82,23 @@ PUTSAMPLE	= ${PUTSERVER} -u ${FAXUSER} -g ${FAXGROUP} 
+ 		  -idb "config(noupdate)"
+ 
+ install: default
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxaddmodem.sh -O faxaddmodem
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxsetup.sh -O faxsetup
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxaddmodem.sh -O faxaddmodem
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxsetup.sh -O faxsetup
+ 	for i in bsdi irix linux; do \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} \
+ 		-src ${SRCDIR}/faxsetup.$$i -O faxsetup.$$i; \
+ 	done
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src probemodem.sh -O probemodem
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src probemodem.sh -O probemodem
+ 	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -o xferfaxlog
+ 	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 600 -o hosts.hfaxd
+ 	for i in ${DIALRULES}; do \
+ 	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -src ${SRCDIR}/$$i \
+ 		-idb "config(update)" -O $$i; \
+ 	done
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O lockname ondelay
+-	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -idb nostrip \
++	${PUTSERVER} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O lockname ondelay
++	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb nostrip \
+ 	    -src ${SRCDIR}/lutRS18.pcf -O lutRS18.pcf
+-	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 644 -idb nostrip \
++	${PUTSAMPLE} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb nostrip \
+ 	    -src ${SRCDIR}/LiberationSans-25.pcf -O LiberationSans-25.pcf
+ 
+ uninstall::
+@@ -136,7 +136,7 @@ installSysVInit: hylafax
+ 		fi; \
+ 	    done; \
+ 	else \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 hylafax; \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} hylafax; \
+ 	fi
+ 	if test -d /etc/config; then \
+ 	    ${PUTSERVER} -root ${INSTALLROOT} -F /etc/config -m 644 -src config.fax -O fax; \
+@@ -165,9 +165,9 @@ uninstallSysVInit::
+ 	fi
+ 
+ installClient: default
+-	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src faxsetup.sh -O faxsetup
++	${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src faxsetup.sh -O faxsetup
+ 	for i in bsdi irix linux; do \
+-	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m 755 \
++	    ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} \
+ 		-src ${SRCDIR}/faxsetup.$$i -O faxsetup.$$i; \
+ 	done
+ 
diff -Pupr /usr/ports/comms/hylafax/patches/patch-etc_faxsetup_sh_in ./patches/patch-etc_faxsetup_sh_in
--- /usr/ports/comms/hylafax/patches/patch-etc_faxsetup_sh_in	Fri Jun 26 17:06:58 2026
+++ ./patches/patch-etc_faxsetup_sh_in	Tue Aug 25 11:44:13 2026
@@ -21,18 +21,68 @@ Index: etc/faxsetup.sh.in
  PASSWD=/etc/passwd		# where to go for password entries
  PROTOUID=@FAXUID@		# user who's uid we use for FAX user
  defPROTOUID=3			# use this uid if PROTOUID doesn't exist
-@@ -1265,7 +1265,7 @@ if onClient; then
+@@ -1259,34 +1259,67 @@ if onClient; then
+ 			}	
+ 		'
+ 	}
++	genFontmap()
++	{
++	    FONTMAP_FILE=$1
++	    Note ""
++	    Note "Generating Fontmap $FONTMAP_FILE."
++	    Note ""
++
++	    $ECHO "% HylaFAX FontMap file generated by faxsetup on `date 2>/dev/null`" > $FONTMAP_FILE
++	    for d in `$ECHO $2 | $SED 's/:/ /g'`; do
++		if [ -d "$d" ]; then
++		    cd $d
++		    for f in `ls | grep '\.afm'`; do
++			$AWK -F '[ ]' '/FontName/ {print "/"$2"\t("FILENAME")\t;"; exit}; // {}' $f >> $FONTMAP_FILE
++		    done
++		fi
++	    done
++	    if [ -z "`$GREP Courier $FONTMAP_FILE`" ]; then
++	    Note ""
++	    Note "Adding aliases to Fontmap $FONTMAP_FILE."
++	    Note ""
++		$ECHO "" >> $FONTMAP_FILE
++		$ECHO "% Aliases" >> $FONTMAP_FILE
++		$ECHO "" >> $FONTMAP_FILE
++		$ECHO "/Courier		/NimbusMonL-Regu ;" >> $FONTMAP_FILE
++		$ECHO "/Courier-Bold		/NimbusMonL-Bold ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica		/NimbusSanL-Regu ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica-Oblique	/NimbusSanL-ReguItal ;" >> $FONTMAP_FILE
++		$ECHO "/Helvetica-Bold		/NimbusSanL-Bold ;" >> $FONTMAP_FILE
++		$ECHO "/Times-Bold		/NimbusRomNo9L-Medi ;" >> $FONTMAP_FILE
++	    fi
++	}
+ 	# If configure --with-PATH_AFM=<path> was used then we need to include it first.
+ 	RUNTIME_PATH_AFM=$PATH_AFM:`getGSFonts`
+ 	if [ -n "$RUNTIME_PATH_AFM" \
  				-a "$RUNTIME_PATH_AFM" != "$PATH_AFM" ]; then 
  	    Note ""
++	    #
++	    # When ghostscript is built with COMPILE_INITS=1, the fonts are compiled in to the ghostscript executable.
++	    # The textfmt(1) program in HylaFAX uses fonts in afm font files.
++	    # The Fontmap.HylaFAX file is created from afm font files found in the paths listed in RUNTIME_PATH_AFM.
++	    #
++	    genFontmap $DIR_SPOOL/etc/Fontmap.HylaFAX $RUNTIME_PATH_AFM
  	    FONTPATHS=`echo $RUNTIME_PATH_AFM | sed 's/:/ /g'`
 -	    $PATH_GSRIP -q -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
-+	    $PATH_GSRIP -q -dNOSAFER -sDEVICE=tiffg3 -sFONTPATH="$FONTPATHS" $DIR_SPOOL/bin/genfontmap.ps > $DIR_SPOOL/etc/Fontmap.HylaFAX 2>/dev/null
- 	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
+-	    # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead.
  	    {
  		#
-@@ -1280,8 +1280,8 @@ if onClient; then
+-		# genfontmap.ps really just gives us a copy of Fontmap.GS, and in later Ghostscript versions there
+-		# are many Fontmap.GS references that are left undefined.  This may work for Ghostscript, but 
+-		# it does not work for us.  So, we need to do what we can to define them.
+-		#
+ 		fontmap=$DIR_SPOOL/etc/Fontmap.HylaFAX
+ 		newfontmap=$TMPDIR/Fontmap.HylaFAX.new.$$
+ 		tmpfile=$TMPDIR/fontmap-fixup.$$
+ 		$CP $fontmap $newfontmap
  		for fontname in `$CAT $fontmap | $GREP "	/" | $SED -e 's/^[^\/]*\///g' -e 's/ .*//g'`; do 
- 		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
+-		    if [ -z "`$GREP "^($fontname)" $fontmap`" ]; then
++		    if [ -z "`$GREP "^/$fontname" $fontmap`" ]; then
  			# There is a blind reference to this font.  Fix that.
 -			for fontpath in `$PATH_GSRIP -h | $GREP -A 100 "Search path:" | $GREP " :" | $SED 's/://g'`; do 
 -			    $GREP -l -d recurse -a "FontDirectory/$fontname known" $fontpath 2>/dev/null; 
@@ -41,7 +91,16 @@ Index: etc/faxsetup.sh.in
  			done | $SED q > $tmpfile
  			fontfile=`$CAT $tmpfile`
  			if [ -n "$fontfile" ]; then
-@@ -2425,12 +2425,7 @@ if onServer; then
+-			    echo "($fontname)	($fontfile) ;" >> $newfontmap
+-		        else
++			    $ECHO "/$fontname	($fontfile) ;" >> $newfontmap
++		        fi
++		        fontalias=`$ECHO $fontname | $SED -e 's/^\/*\///g'`
++		        if [ -z "`$GREP "^/$fontalias" $fontmap`" ]; then
+ 			    echo "Warning: No font file found for \"$fontname\" but the font map includes it."
+ 			fi
+ 		    fi
+@@ -2425,12 +2458,7 @@ if onServer; then
  
      findproc()
      {
@@ -55,3 +114,54 @@ Index: etc/faxsetup.sh.in
  	echo "$pid"
      }
  
+@@ -2446,9 +2474,9 @@ if onServer; then
+ 	    echo
+ 	fi
+ 	if isOK "$x"; then
+-	    if [ -x /bin/systemctl ]; then
+-		echo "Executing '/bin/systemctl stop hylafax-hfaxd'..."
+-		/bin/systemctl stop hylafax-hfaxd
++	    if [ -x /usr/sbin/rcctl ]; then
++		echo "Executing '/usr/sbin/rcctl stop hfaxd'..."
++		/usr/sbin/rcctl stop hfaxd
+ 	    elif kill $HFAXD; then
+ 		echo "Sent a SIGTERM to processes $HFAXD."
+ 	    else
+@@ -2497,9 +2525,9 @@ EOF
+ 	    echo
+ 	fi
+ 	if isOK "$x"; then
+-	    if [ -x /bin/systemctl ]; then
+-		echo "Executing '/bin/systemctl stop hylafax-faxq'..."
+-		/bin/systemctl stop hylafax-faxq
++	    if [ -x /usr/sbin/rcctl ]; then
++		echo "Executing '/usr/sbin/rcctl stop faxq'..."
++		/usr/sbin/rcctl stop faxq
+ 	    else
+ 		$DIR_SBIN/faxquit >/dev/null 2>&1
+ 	    fi
+@@ -2589,18 +2617,18 @@ EOF
+     fi
+     if isOK "$x"; then
+ 	echo ""
+-	if [ -x /bin/systemctl ]; then
+-	    echo "Executing '/bin/systemctl start hylafax-faxq'..."
+-	    /bin/systemctl start hylafax-faxq
+-	    echo "Executing '/bin/systemctl start hylafax-hfaxd'..."
+-	    /bin/systemctl start hylafax-hfaxd
++	if [ -x /usr/sbin/rcctl ]; then
++	    echo "Executing '/usr/sbin/rcctl start faxq'..."
++	    /usr/sbin/rcctl start faxq
++	    echo "Executing '/usr/sbin/rcctl start hfaxd'..."
++	    /usr/sbin/rcctl start hfaxd
+ 	elif [ -x ${DIR_SYSVINIT}/hylafax ]; then
+ 	    echo ${DIR_SYSVINIT}/hylafax start
+ 	    ${DIR_SYSVINIT}/hylafax start
+ 	else
+ 	    echo $DIR_SBIN/faxq; $DIR_SBIN/faxq
+ 	    hfaxdopts=
+-	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-i hylafax "; fi
++	    if isOK "$HFAXD_SERVER"; then hfaxdopts="-f all -l 0.0.0.0 -i hylafax -l ::0 -i hylafax "; fi
+ 	    if isOK "$HFAXD_SNPP_SERVER"; then hfaxdopts="$hfaxdopts\-s snpp"; fi
+ 	    echo "$DIR_SBIN/hfaxd $hfaxdopts"; eval "$DIR_SBIN/hfaxd $hfaxdopts"
+ 	fi
diff -Pupr /usr/ports/comms/hylafax/patches/patch-etc_hylafax_in ./patches/patch-etc_hylafax_in
--- /usr/ports/comms/hylafax/patches/patch-etc_hylafax_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-etc_hylafax_in	Sat Jul 11 07:23:59 2026
@@ -0,0 +1,38 @@
+--- etc/hylafax.in.orig	Wed Oct 13 03:42:48 2021
++++ etc/hylafax.in	Sat Jul 11 07:20:51 2026
+@@ -90,9 +90,6 @@ fi
+ if [ -z "$HFAXD_SNPP_SERVER" ]; then
+     HFAXD_SNPP_SERVER=@HFAXD_SNPP_SERVER@
+ fi
+-if [ -z "$HFAXD_ARGS" ]; then
+-    HFAXD_ARGS=
+-fi
+ 
+ IS_ON=/etc/chkconfig		# NB: chkconfig is IRIX- and Linux-specific
+ FAXQ=$SBIN/faxq
+@@ -101,6 +98,10 @@ FAXQUIT=$SBIN/faxquit
+ FAXPORT=hylafax			# designated port for new protocol
+ SNPPPORT=444			# official port for SNPP
+ 
++if [ -z "$HFAXD_ARGS" ]; then
++    HFAXD_ARGS="-f all -l 0.0.0.0 -i $FAXPORT -l ::0 "
++fi
++
+ if test ! -x $IS_ON ; then
+     IS_ON=true
+ fi
+@@ -150,13 +151,7 @@ fi
+ #
+ killall()
+ {
+-	# NB: ps ax should give an error on System V, so we try it first!
+-	pid="`ps ax 2>/dev/null | $AWK \"\
+-		/[\/ (]$2[ )]/	{print \\$1;}
+-		/[\/ ]$2\$/	{print \\$1;}\"`"
+-	test "$pid" ||
+-	    pid="`ps -e 2>/dev/null | $AWK \"/ $2[ ]*\$/ {print \\$1;}\"`"
+-	test "$pid" && kill $1 $pid; return
++	/usr/bin/pkill $1 $2
+ }
+ 
+ do_start()
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxalter_Makefile_in ./patches/patch-faxalter_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxalter_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxalter_Makefile_in	Sun Sep 20 10:08:01 2026
@@ -0,0 +1,11 @@
+--- faxalter/Makefile.in.orig
++++ faxalter/Makefile.in
+@@ -57,7 +57,7 @@ faxalter: faxalter.o ${LIBS}
+ 	${C++F} -o $@ faxalter.o ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxalter
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxalter
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxalter
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxcover_Makefile_in ./patches/patch-faxcover_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxcover_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxcover_Makefile_in	Sun Sep 20 10:08:05 2026
@@ -0,0 +1,16 @@
+--- faxcover/Makefile.in.orig
++++ faxcover/Makefile.in
+@@ -60,11 +60,11 @@ faxcover: faxcover.o ${LIBS}
+ 	${C++F} -o $@ faxcover.o ${LDFLAGS}
+ 
+ install: default ${SRCDIR}/faxcover.ps
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxcover
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxcover
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 644 \
+ 	    -idb "${PRODUCT}.sw.client config(suggest)" \
+ 	    -src ${SRCDIR}/faxcover.ps -O faxcover.ps
+-	${INSTALL} -root ${INSTALLROOT} -F ${SBIN} -m 755 -src edit-faxcover.sh -O edit-faxcover
++	${INSTALL} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -src edit-faxcover.sh -O edit-faxcover
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxcover
Only in /usr/ports/comms/hylafax/patches: patch-faxd_FaxMachineLog_c++
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxd_Makefile_in ./patches/patch-faxd_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxd_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxd_Makefile_in	Sun Sep 20 10:08:11 2026
@@ -0,0 +1,15 @@
+--- faxd/Makefile.in.orig
++++ faxd/Makefile.in
+@@ -219,9 +219,9 @@ trigtest: trigtest.o libfaxserver.${DSO} ${LIBS}
+ PUTSERV=${INSTALL} -idb ${PRODUCT}.sw.server
+ 
+ install: default
+-	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m 755 -O faxq faxqclean
+-	${PUTSERV} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O faxgetty faxsend pagesend
+-	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m 755 -O tsitest tagtest cqtest choptest
++	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -O faxq faxqclean
++	${PUTSERV} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O faxgetty faxsend pagesend
++	${PUTSERV} -root ${INSTALLROOT} -F ${SBIN} -m ${SBINMODE} -O tsitest tagtest cqtest choptest
+ 
+ uninstall::
+ 	${RM} -f ${SBIN}/faxq ${SBIN}/faxqclean
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxd_sslfaxproxy_c++ ./patches/patch-faxd_sslfaxproxy_c++
--- /usr/ports/comms/hylafax/patches/patch-faxd_sslfaxproxy_c++	Wed Mar 25 23:47:01 2026
+++ ./patches/patch-faxd_sslfaxproxy_c++	Tue Aug 25 12:05:11 2026
@@ -10,3 +10,11 @@ Index: faxd/sslfaxproxy.c++
      timeval curTime;
      gettimeofday(&curTime, 0);
      return curTime;
+@@ -94,6 +94,7 @@ sslFaxThread(void* sd)
+ done:
+     Sys::close(s->wfd);
+     Sys::close(s->rfd);
++    free(sd);
+     return (NULL);
+ }
+ 
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxmail_Makefile_in ./patches/patch-faxmail_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxmail_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxmail_Makefile_in	Sun Sep 20 10:08:16 2026
@@ -0,0 +1,26 @@
+--- faxmail/Makefile.in.orig
++++ faxmail/Makefile.in
+@@ -57,18 +57,18 @@ faxmail: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxmail
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxmail
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/faxmail.ps -O faxmail.ps
+ 	-${INSTALL} -u ${SYSUSER} -g ${SYSGROUP} -m ${DIRMODE} \
+ 	    -idb hylafax.sw.client -root ${INSTALLROOT} -dir ${LIBDATA}/faxmail ${LIBDATA}/faxmail/application ${LIBDATA}/faxmail/image
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-pdf.sh -O pdf
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-octet-stream.sh -O octet-stream
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/application -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/application-binary.sh -O binary
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/image -m 755 -idb ${PRODUCT}.sw.client \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA}/faxmail/image -m ${LIBDATAMODE} -idb ${PRODUCT}.sw.client \
+ 	    -src ${SRCDIR}/image-tiff.sh -O tiff
+ 
+ uninstall::
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxrm_Makefile_in ./patches/patch-faxrm_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxrm_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxrm_Makefile_in	Sun Sep 20 10:08:21 2026
@@ -0,0 +1,11 @@
+--- faxrm/Makefile.in.orig
++++ faxrm/Makefile.in
+@@ -57,7 +57,7 @@ faxrm: faxrm.o ${LIBS}
+ 	${C++F} -o $@ faxrm.o ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxrm
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxrm
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxrm
diff -Pupr /usr/ports/comms/hylafax/patches/patch-faxstat_Makefile_in ./patches/patch-faxstat_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-faxstat_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-faxstat_Makefile_in	Sun Sep 20 10:08:27 2026
@@ -0,0 +1,11 @@
+--- faxstat/Makefile.in.orig
++++ faxstat/Makefile.in
+@@ -57,7 +57,7 @@ faxstat: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O faxstat
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O faxstat
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/faxstat
diff -Pupr /usr/ports/comms/hylafax/patches/patch-hfaxd_Makefile_in ./patches/patch-hfaxd_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-hfaxd_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-hfaxd_Makefile_in	Sun Sep 20 10:08:38 2026
@@ -0,0 +1,11 @@
+--- hfaxd/Makefile.in.orig
++++ hfaxd/Makefile.in
+@@ -95,7 +95,7 @@ HylaFAXServer.o: 
+ incdepend:
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${LIBEXEC} -u root -m 755 \
++	${INSTALL} -root ${INSTALLROOT} -F ${LIBEXEC} -u root -m ${LIBEXECMODE} \
+ 	    -idb ${PRODUCT}.sw.server -O hfaxd
+ 	${INSTALL} -root ${INSTALLROOT} -F ${LIBDATA} -m 644 -idb ${PRODUCT}.sw.server \
+ 	    -idb "config(noupdate)" -src ${SRCDIR}/hfaxd.conf -O hfaxd.conf
diff -Pupr /usr/ports/comms/hylafax/patches/patch-port_install_sh_in ./patches/patch-port_install_sh_in
--- /usr/ports/comms/hylafax/patches/patch-port_install_sh_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-port_install_sh_in	Sun Sep 20 13:08:03 2026
@@ -0,0 +1,11 @@
+--- port/install.sh.in.orig
++++ port/install.sh.in
+@@ -213,7 +213,7 @@ install()
+ 	    do_chXXX $CHGRP $target
+ 	fi
+ 	$VERBOSE "$CHMOD $target"
+-	do_chXXX $CHMOD $target
++	$CHMOD $target
+ 	if [ $STRIP != ":" ] && [ -x $ROOT$DESTDIR$f ]; then
+ 	    $STRIP $target >/dev/null 2>&1 || true
+ 	    $VERBOSE "$STRIP $target"
diff -Pupr /usr/ports/comms/hylafax/patches/patch-sendfax_Makefile_in ./patches/patch-sendfax_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-sendfax_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-sendfax_Makefile_in	Sun Sep 20 10:08:52 2026
@@ -0,0 +1,11 @@
+--- sendfax/Makefile.in.orig
++++ sendfax/Makefile.in
+@@ -57,7 +57,7 @@ sendfax: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O sendfax
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O sendfax
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/sendfax
diff -Pupr /usr/ports/comms/hylafax/patches/patch-sendpage_Makefile_in ./patches/patch-sendpage_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-sendpage_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-sendpage_Makefile_in	Sun Sep 20 10:08:56 2026
@@ -0,0 +1,11 @@
+--- sendpage/Makefile.in.orig
++++ sendpage/Makefile.in
+@@ -57,7 +57,7 @@ sendpage: ${OBJECTS} ${LIBS}
+ 	${C++F} -o $@ ${OBJECTS} ${LDFLAGS}
+ 
+ install: default
+-	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m 755 -idb ${PRODUCT}.sw.client -O sendpage
++	${INSTALL} -root ${INSTALLROOT} -F ${BIN} -m ${BINMODE} -idb ${PRODUCT}.sw.client -O sendpage
+ 
+ uninstall::
+ 	${RM} -f ${BIN}/sendpage
diff -Pupr /usr/ports/comms/hylafax/patches/patch-util_Makefile_in ./patches/patch-util_Makefile_in
--- /usr/ports/comms/hylafax/patches/patch-util_Makefile_in	Thu Jan  1 08:00:00 1970
+++ ./patches/patch-util_Makefile_in	Sun Sep 20 10:09:01 2026
@@ -0,0 +1,105 @@
+--- util/Makefile.in.orig
++++ util/Makefile.in
+@@ -160,60 +160,60 @@ checkat: checkat.o ${LIBS}
+ 
+ PUTCLIENT	= ${INSTALL} -idb ${PRODUCT}.sw.client
+ PUTSERVER	= ${INSTALL} -idb ${PRODUCT}.sw.server
+-PUTSERV		= ${PUTSERVER} -m 755
++PUTSERV		= ${PUTSERVER} -m 555
+ PUTSUPD		= ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/bin -idb "config(update)"
+ PUTSUPDDICT	= ${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/bin/dict -idb "config(update)"
+ PUTSBIN		= ${PUTSERVER} -root ${INSTALLROOT} -F ${SBIN}
+ 
+ installClient: default
+-	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBEXEC} -m 755 -O textfmt
++	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBEXEC} -m ${LIBEXECMODE} -O textfmt
+ 	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -O pagesizes
+ 	${PUTCLIENT} -root ${INSTALLROOT} -F ${LIBDATA} -m 444 -src ${SRCDIR}/typerules -O typerules
+ 
+ install: installClient
+-	${PUTSBIN} -m 755 -O faxmsg faxadduser faxconfig faxdeluser faxmodem \
++	${PUTSBIN} -m ${SBINMODE} -O faxmsg faxadduser faxconfig faxdeluser faxmodem \
+ 	    faxstate faxfetch faxwatch faxinfo tiffcheck
+ 	${PUTSBIN} -idb ${PRODUCT}.sw.server \
+ 	    -ln ${SBIN}/faxmsg -O faxabort faxanswer faxquit faxlock
+-	${PUTSBIN} -m 755 -O dialtest typetest
+-	${PUTSBIN} -m 755 -src xferfaxstats.sh -O xferfaxstats
+-	${PUTSBIN} -m 755 -src recvstats.sh -O recvstats
+-	${PUTSBIN} -m 755 -idb "config(update)" -src faxcron.sh -O faxcron
+-	${PUTSUPD} -m 755 -src ps2fax.gs.sh -O ps2fax.gs
+-	${PUTSUPD} -m 755 -src ps2fax.dps.sh -O ps2fax.dps
+-	${PUTSUPD} -m 755 -src ps2fax.imp.sh -O ps2fax.imp
+-	${PUTSUPD} -m 755 -src pdf2fax.gs.sh -O pdf2fax.gs
+-	${PUTSUPD} -m 755 -src pcl2fax.sh -O pcl2fax
+-	${PUTSUPD} -m 755 -src tiff2fax.sh -O tiff2fax
+-	${PUTSUPD} -m 755 -src tiff2pdf.sh -O tiff2pdf
+-	${PUTSUPD} -m 755 -src notify.sh -O notify
+-	${PUTSUPD} -m 755 -src archive.sh -O archive
+-	${PUTSUPD} -m 755 -src common-functions.sh -O common-functions
+-	${PUTSUPD} -m 755 -src faxrcvd.sh -O faxrcvd
+-	${PUTSUPD} -m 755 -src genfontmap.ps -O genfontmap.ps
+-	${PUTSUPD} -m 755 -src pollrcvd.sh -O pollrcvd
+-	${PUTSUPD} -m 755 -src mkcover.sh -O mkcover
+-	${PUTSUPD} -m 755 -src wedged.sh -O wedged
+-	${PUTSUPD} -m 755 -src qp-encode.awk -O qp-encode.awk
+-	${PUTSUPD} -m 755 -src rfc2047-encode.awk -O rfc2047-encode.awk
+-	${PUTSUPD} -m 755 -src auto-rotate.ps -O auto-rotate.ps
+-	${PUTSUPD} -m 755 -src dictionary.sh -O dictionary
+-	${PUTSUPDDICT} -m 644 -src dict-de -O de
+-	${PUTSUPDDICT} -m 644 -src dict-en -O en
+-	${PUTSUPDDICT} -m 644 -src dict-es -O es
+-	${PUTSUPDDICT} -m 644 -src dict-fr -O fr
+-	${PUTSUPDDICT} -m 644 -src dict-he -O he
+-	${PUTSUPDDICT} -m 644 -src dict-it -O it
+-	${PUTSUPDDICT} -m 644 -src dict-nl_BE -O nl_BE
+-	${PUTSUPDDICT} -m 644 -src dict-pl -O pl
+-	${PUTSUPDDICT} -m 644 -src dict-pt -O pt
+-	${PUTSUPDDICT} -m 644 -src dict-pt_BR -O pt_BR
+-	${PUTSUPDDICT} -m 644 -src dict-ro -O ro
+-	${PUTSUPDDICT} -m 644 -src dict-ru -O ru
+-	${PUTSUPDDICT} -m 644 -src dict-sr -O sr
+-	${PUTSUPDDICT} -m 644 -src dict-tr -O tr
+-	${PUTSUPDDICT} -m 644 -src dict-uk -O uk
+-	${PUTSUPDDICT} -m 644 -src dict-zh -O zh
++	${PUTSBIN} -m ${SBINMODE} -O dialtest typetest
++	${PUTSBIN} -m ${SBINMODE} -src xferfaxstats.sh -O xferfaxstats
++	${PUTSBIN} -m ${SBINMODE} -src recvstats.sh -O recvstats
++	${PUTSBIN} -m ${SBINMODE} -idb "config(update)" -src faxcron.sh -O faxcron
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.gs.sh -O ps2fax.gs
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.dps.sh -O ps2fax.dps
++	${PUTSUPD} -m ${BINMODE} -src ps2fax.imp.sh -O ps2fax.imp
++	${PUTSUPD} -m ${BINMODE} -src pdf2fax.gs.sh -O pdf2fax.gs
++	${PUTSUPD} -m ${BINMODE} -src pcl2fax.sh -O pcl2fax
++	${PUTSUPD} -m ${BINMODE} -src tiff2fax.sh -O tiff2fax
++	${PUTSUPD} -m ${BINMODE} -src tiff2pdf.sh -O tiff2pdf
++	${PUTSUPD} -m ${BINMODE} -src notify.sh -O notify
++	${PUTSUPD} -m ${BINMODE} -src archive.sh -O archive
++	${PUTSUPD} -m ${BINMODE} -src common-functions.sh -O common-functions
++	${PUTSUPD} -m ${BINMODE} -src faxrcvd.sh -O faxrcvd
++	${PUTSUPD} -m ${BINMODE} -src genfontmap.ps -O genfontmap.ps
++	${PUTSUPD} -m ${BINMODE} -src pollrcvd.sh -O pollrcvd
++	${PUTSUPD} -m ${BINMODE} -src mkcover.sh -O mkcover
++	${PUTSUPD} -m ${BINMODE} -src wedged.sh -O wedged
++	${PUTSUPD} -m ${BINMODE} -src qp-encode.awk -O qp-encode.awk
++	${PUTSUPD} -m ${BINMODE} -src rfc2047-encode.awk -O rfc2047-encode.awk
++	${PUTSUPD} -m ${BINMODE} -src auto-rotate.ps -O auto-rotate.ps
++	${PUTSUPD} -m ${BINMODE} -src dictionary.sh -O dictionary
++	${PUTSUPDDICT} -m 444 -src dict-de -O de
++	${PUTSUPDDICT} -m 444 -src dict-en -O en
++	${PUTSUPDDICT} -m 444 -src dict-es -O es
++	${PUTSUPDDICT} -m 444 -src dict-fr -O fr
++	${PUTSUPDDICT} -m 444 -src dict-he -O he
++	${PUTSUPDDICT} -m 444 -src dict-it -O it
++	${PUTSUPDDICT} -m 444 -src dict-nl_BE -O nl_BE
++	${PUTSUPDDICT} -m 444 -src dict-pl -O pl
++	${PUTSUPDDICT} -m 444 -src dict-pt -O pt
++	${PUTSUPDDICT} -m 444 -src dict-pt_BR -O pt_BR
++	${PUTSUPDDICT} -m 444 -src dict-ro -O ro
++	${PUTSUPDDICT} -m 444 -src dict-ru -O ru
++	${PUTSUPDDICT} -m 444 -src dict-sr -O sr
++	${PUTSUPDDICT} -m 444 -src dict-tr -O tr
++	${PUTSUPDDICT} -m 444 -src dict-uk -O uk
++	${PUTSUPDDICT} -m 444 -src dict-zh -O zh
+ 	${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -m 444 -idb "config(update)" \
+ 	    -src ${SRCDIR}/dpsprinter.ps -O dpsprinter.ps
+ 	${PUTSERVER} -root ${INSTALLROOT} -F ${SPOOL}/etc -idb "config(suggest)" \
diff -Pupr /usr/ports/comms/hylafax/pkg/MESSAGE ./pkg/MESSAGE
--- /usr/ports/comms/hylafax/pkg/MESSAGE	Thu Jan  1 08:00:00 1970
+++ ./pkg/MESSAGE	Sun Sep 20 14:14:59 2026
@@ -0,0 +1,5 @@
+If you've updated your installation from an earlier version of HylaFAX 7.0.11,
+update your Fontmap.HylaFAX file by running;
+
+    # ${PREFIX}/sbin/faxsetup -client
+
diff -Pupr /usr/ports/comms/hylafax/pkg/PLIST ./pkg/PLIST
--- /usr/ports/comms/hylafax/pkg/PLIST	Fri Jun 26 17:06:58 2026
+++ ./pkg/PLIST	Mon Sep 21 07:55:05 2026
@@ -3,7 +3,6 @@
 @newuser _hylafax:902:_hylafax::HylaFAX Server:/var/spool/hylafax:/sbin/nologin
 @rcscript ${RCDIR}/faxq
 @rcscript ${RCDIR}/hfaxd
-@mode 555
 @bin bin/faxalter
 @bin bin/faxcover
 @bin bin/faxmail
@@ -11,20 +10,15 @@
 @bin bin/faxstat
 @bin bin/sendfax
 @bin bin/sendpage
-@mode
 @owner _hylafax
 @group dialer
 libdata/hylafax/
 libdata/hylafax/COPYRIGHT
 libdata/hylafax/archive/
 libdata/hylafax/bin/
-@mode 555
 libdata/hylafax/bin/archive
-@mode
 libdata/hylafax/bin/auto-rotate.ps
-@mode 555
 libdata/hylafax/bin/common-functions
-@mode
 libdata/hylafax/bin/dict/
 libdata/hylafax/bin/dict/de
 libdata/hylafax/bin/dict/en
@@ -42,12 +36,9 @@ libdata/hylafax/bin/dict/sr
 libdata/hylafax/bin/dict/tr
 libdata/hylafax/bin/dict/uk
 libdata/hylafax/bin/dict/zh
-@mode 555
 libdata/hylafax/bin/dictionary
 libdata/hylafax/bin/faxrcvd
-@mode
 libdata/hylafax/bin/genfontmap.ps
-@mode 555
 libdata/hylafax/bin/mkcover
 libdata/hylafax/bin/notify
 libdata/hylafax/bin/pcl2fax
@@ -56,14 +47,11 @@ libdata/hylafax/bin/pollrcvd
 libdata/hylafax/bin/ps2fax.dps
 libdata/hylafax/bin/ps2fax.gs
 libdata/hylafax/bin/ps2fax.imp
-@mode
 libdata/hylafax/bin/qp-encode.awk
 libdata/hylafax/bin/rfc2047-encode.awk
-@mode 555
 libdata/hylafax/bin/tiff2fax
 libdata/hylafax/bin/tiff2pdf
 libdata/hylafax/bin/wedged
-@mode
 libdata/hylafax/client/
 libdata/hylafax/config/
 libdata/hylafax/config/att-dataport
@@ -155,7 +143,9 @@ libdata/hylafax/etc/dialrules.sf-ba
 libdata/hylafax/etc/dialrules.uk
 libdata/hylafax/etc/dialrules.world
 libdata/hylafax/etc/dpsprinter.ps
+@mode 644
 libdata/hylafax/etc/faxcover.ps
+@mode
 libdata/hylafax/etc/faxmail/
 libdata/hylafax/etc/faxmail.ps
 libdata/hylafax/etc/faxmail/application/
@@ -254,7 +244,6 @@ libdata/hylafax/tmp/
 @man man/man8/typetest.8c
 @man man/man8/wedged.8c
 @man man/man8/xferfaxstats.8c
-@mode 555
 @bin sbin/choptest
 @bin sbin/cqtest
 @bin sbin/dialtest
@@ -295,9 +284,8 @@ sbin/recvstats
 @bin sbin/tsitest
 @bin sbin/typetest
 sbin/xferfaxstats
-@mode
 share/doc/pkg-readmes/${PKGSTEM}
-@exec ln -sf %D/libdata/hylafax /var/spool/hylafax
+@exec [ -e /var/spool/hylafax ] || ln -sf %D/libdata/hylafax /var/spool/hylafax
 @exec mkfifo %D/libdata/hylafax/FIFO; chown _hylafax:dialer %D/libdata/hylafax/FIFO; chmod 600 %D/libdata/hylafax/FIFO
 @unexec rm %D/libdata/hylafax/FIFO
 @extraunexec rm -f /var/spool/hylafax
diff -Pupr /usr/ports/comms/hylafax/pkg/README ./pkg/README
--- /usr/ports/comms/hylafax/pkg/README	Fri Jun 26 17:06:58 2026
+++ ./pkg/README	Sun Sep 20 13:07:08 2026
@@ -25,12 +25,20 @@ something like this:
 and send a SIGHUP to init(8).
 
 
+Updating HylaFAX+ fontmap file
+=======================================================
+To refresh or create a missing HylaFAX fontmap file after an update simply run;
+
+    # ${TRUEPREFIX}/sbin/faxsetup -client
+
+
 Updating file ownership to use the new _hylafax account
 =======================================================
-To update the ownership of directories and files in the HylaFAX spool directory,
-perform one of the following.
+Old versions (6.x) of this package used the legacy UUCP account. This was
+changed to _hylafax when moving to 7.x. If your HylaFAX spool directory
+still contains files owned by _uucp / uid 66, update the ownership as follows.
 
-If the legacy UUCP account is still registerd;
+If the legacy UUCP account is still registered;
 
     find ${TRUEPREFIX}/libdata/hylafax -user uucp -exec /sbin/chown 902 {} \;
 or