File hylafax-4.4.4.dif of Package hylafax

Index: hylafax-4.4.4/Makefile.Linux
===================================================================
--- /dev/null
+++ hylafax-4.4.4/Makefile.Linux
@@ -0,0 +1,3 @@
+extract:
+	tar xIfp ../hylafax-SuSE.tar.bz2
+
Index: hylafax-4.4.4/config.site
===================================================================
--- hylafax-4.4.4.orig/config.site
+++ hylafax-4.4.4/config.site
@@ -55,16 +55,16 @@
 #
 # Directory parameters.
 #
-#DIR_BIN="/usr/local/bin"		# directory for client apps
-#DIR_LIB="/usr/local/lib"		# directory for libfaxserver, libfaxutil
-#DIR_LIBDATA="/usr/lib/fax"		# directory for client data
-#DIR_LIBEXEC="/usr/lib/fax"		# directory for libraries&hidden apps
-#DIR_MAN="/usr/local/man"		# directory for manual pages
-#DIR_SPOOL="/var/spool/hylafax"		# directory for spooling area
-#DIR_SBIN="/var/spool/hylafax/bin"		# directory for system apps
-#DIR_LOCKS="/usr/spool/locks"		# directory for UUCP lock files
+DIR_BIN="/usr/bin"			# directory for client apps
+DIR_LIB="/usr/lib"			# directory for libfaxserver, libfaxutil
+DIR_LIBDATA="/usr/lib/fax"		# directory for client data
+DIR_LIBEXEC="/usr/lib/fax"		# directory for libraries&hidden apps
+DIR_MAN="/usr/share/man"		# directory for manual pages
+DIR_SPOOL="/var/spool/fax"		# directory for spooling area
+DIR_SBIN="/usr/sbin"			# directory for system apps
+DIR_LOCKS="/var/spool/locks"		# directory for UUCP lock files
 #FONTMAP="/usr/share/ghostscript/3.33"	# directorys containing Fontmap files
-#PATH_AFM="/usr/lib/DPS/AFM"		# directorys for AFM files
+#PATH_AFM="/usr/share/ghostscript/fonts"	# directorys for AFM files
 
 #
 # Miscellaneous parameters.
@@ -73,16 +73,16 @@
 #FILLORDER="MS2LSB"			# bit order of cpu (MSB2LSB/LSB2MSB)
 #FAXGID="uucp"				# group ID for fax user
 #FAXUID="uucp"				# user ID for fax user
-#PAGESIZE="North American Letter"	# default page size
+PAGESIZE="ISO A4"			# default page size
 #SYSGID="sys"				# group ID for system installs
 #SYSUID="bin"				# user ID for system installs
 #LOCKS="ascii"				# default UUCP lockfile scheme
 #
-#PATH_GETTY="/etc/getty"		# pathname of suitable getty program
-#PATH_VGETTY="/bin/vgetty"		# pathname of voice getty program
-#PATH_EGETTY="/bin/egetty"		# pathname of external getty program
-#PATH_SENDMAIL="/usr/lib/sendmail"	# pathname of suitable sendmail program
-#PATH_GSRIP="/usr/local/bin/gs"		# pathname of Ghostscript-based RIP
+PATH_GETTY="/usr/sbin/mgetty"		# pathname of suitable getty program
+PATH_VGETTY="/usr/sbin/vgetty"		# pathname of voice getty program
+PATH_EGETTY="/usr/sbin/egetty"		# pathname of external getty program
+PATH_SENDMAIL="/usr/sbin/sendmail"	# pathname of suitable sendmail program
+PATH_GSRIP="/usr/bin/gs"		# pathname of Ghostscript-based RIP
 #PATH_DPSRIP="/var/spool/hylafax/bin/ps2fax.exe" # pathname of DPS-based RIP
 #PATH_IMPRIP="/usr/lib/print/psrip"	# pathname of Impressario 2.1 RIP
 #MANSCHEME="sysv-source-cat-strip"	# manual page installation scheme
@@ -118,8 +118,8 @@
 #CXX="gcc"				# name/pathname of C++ compiler
 #CXXFILE="-x c++"			# options for proper C++ processing
 #ENVOPTS="-Aa"				# options for getting ANSI C
-#GCOPTS="-g"				# options to pass C compiler
-#GCXXOPTS="-g"				# options to pass C++ compiler
+GCOPTS="-O2"				# options to pass C compiler
+GCXXOPTS="-O2"				# options to pass C++ compiler
 #GENDIST="/sbin/gendist"		# pathname of SGI inst generator program
 #INSTALL='${SHELL} ${PORT}/install.sh'	# SGI install program/emulator
 #LIBMALLOC="auto"			# yes|no|auto configure -lmalloc use
@@ -141,9 +141,9 @@
 # to link against.  If libtiff is installed in a
 # non-standard location then setup LIBTIFF accordingly.
 #
-#LIBTIFF="-L/usr/local/lib -ltiff"	# linkage convention for libtiff
-#TIFFINC="/usr/local/include"		# place to find tiffio.h
-#TIFFBIN="/usr/local/bin"		# where TIFF tools live
+LIBTIFF="-ltiff -ljpeg"			# linkage convention for libtiff
+TIFFINC="/usr/include"  		# place to find tiffio.h
+TIFFBIN="/usr/bin"      		# where TIFF tools live
 
 #
 # The source for the ZLIB library is not required
@@ -151,8 +151,9 @@
 # to link against.  If ZLIB is installed in a 
 # non-standard location then setup LIBZ accordingly.
 #
-#LIBZ="-L/usr/local/lib -lz"		# linkage convention for libz
+LIBZ="-lz"                   		# linkage convention for libz
 #ZLIBINC="-I/usr/local/include"		# place to find zlib.h
+ZLIBINC="../regex"			# to find distributed regex.h
 
 #
 # The source for the POSIX regular expression package
@@ -255,5 +256,5 @@
 #MV_F="-f"				# option to ${MV} to force operation
 #RMCMD="/bin/rm"			# pathname of suitable rm program
 #SED="/bin/sed"				# pathname of suitable sed program
-#SCRIPT_SH="/bin/sh"			# pathname of suitable shell
+SCRIPT_SH="/bin/sh"			# pathname of suitable shell
 #SORT="/bin/sort"			# pathname of suitable sort program
Index: hylafax-4.4.4/configure
===================================================================
--- hylafax-4.4.4.orig/configure
+++ hylafax-4.4.4/configure
@@ -263,7 +263,7 @@ ZLIBINC"
 dumpvars()
 {
     (for i do echo "$i"; done) |
-	while read a b; do eval c=\$${b:-$a}; echo "/@$a@/s;;$c;g"; done
+	while read a b; do eval c=\$${b:-$a}; echo "s;@$a@;$c;g"; done
 }
 dumpvals()
 {
@@ -789,6 +789,7 @@ checkGCCVersion()
     app=$1; shift
     eval `$app -v 2>&1 | \
 	sed -n -e '/[Vv]ersion/s/[^(]* [a-z\-]*\([0-9]*\)\.\([0-9]*\).\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'`
+    test -z "$GCCminor" && GCCminor=0
     GCCversion="${GCCdist}.${GCCmajor}.${GCCminor}"; export GCCversion
     if [ ${GCCdist} -gt $1 ]; then
         return 0
@@ -914,7 +915,7 @@ if [ -z "$GCOPTS" ]; then
 	Note "Looks like $CCOMPILER supports the -g option."
 	# NB: cannot use captureX here 'cuz we lose stderr
 	if $CCOMPILER $ENVOPTS $GCOPTS -c -g -O dummy.c >t 2>&1 && CheckForGandO t; then
-	    GCOPTS="$GCOPTS -g"
+	    GCOPTS="$GCOPTS"
 	else
 	    Note "... but not together with the -O option, not using it."
 	fi
@@ -1075,7 +1076,7 @@ if [ -z "$GCXXOPTS" ]; then
 	Note "Looks like $CXXCOMPILER supports the -g option."
 	# NB: cannot use captureX here 'cuz we lose stderr
 	if $CXXCOMPILER $ENVOPTS -c -g -O dummy.C >t 2>&1 && CheckForGandO t; then
-	    GCXXOPTS="$GCXXOPTS -g"
+	    GCXXOPTS="$GCXXOPTS"
 	else
 	    Note "... but not together with the -O option, not using it."
 	fi
@@ -1306,7 +1307,7 @@ if [ -z "$RANLIB" ]; then
 fi
 
 cat>dummy.C<<EOF
-#include "new.h"
+#include <new>
 struct foo {
     int x;
     foo();
@@ -1418,7 +1419,8 @@ runMake()
 CheckForCXXRuntime()
 {
 cat>t.c++<<EOF
-#include "iostream.h"
+#include <iostream>
+using namespace std;
 int main(){ cout << "Hello World!" << endl; return 0;}
 EOF
     runMake t "t:; \${C++F} \${C++FILE} t.c++${MAKECXXOVERRIDE}"
@@ -2923,7 +2925,7 @@ BuildPortDotH()
 	Note "... configure use of logwtmp (BSD-style wtmp logging)"
 	CheckForFuncDecl logwtmp utmp.h || {
 	    AddFuncDecl logwtmp \
-		'int logwtmp(const char*, const char*, const char*);'
+		'void logwtmp(const char*, const char*, const char*);'
 	}
 	CheckForLibrary logout -lutil && {
 	    echo '#define HAS_LOGOUT 1'
@@ -3381,7 +3383,7 @@ if [ "$DSO" = auto ]; then
 		echo 'int f() { return 0; }'>t.c
 		capture cat t.c
 		runMake t \
-		    't.o:; ${CCF} -c t.c' \
+	    't.o:; ${CCF} -fpic -c t.c' \
 		    "t: t.o; \${CCF} ${DSOOPTS} -o t.${DSOSUF} t.o"
 	    }
 	    CheckCXXDSO()
@@ -3428,7 +3430,7 @@ if [ "$DSO" = auto ]; then
 	echo 'int f() { return 0; }'>t.c++
 	capture cat t.c++
 	runMake t \
-	    "t.o:; \${C++F} -c \${C++FILE} t.c++${MAKECXXOVERRIDE}" \
+	    "t.o:; \${C++F} -fpic -c \${C++FILE} t.c++${MAKECXXOVERRIDE}" \
 	    "t:t.o; \${C++F} ${DSOOPTS} -o t.${DSOSUF} t.o"
 	}
 	;;
Index: hylafax-4.4.4/defs.in
===================================================================
--- hylafax-4.4.4.orig/defs.in
+++ hylafax-4.4.4/defs.in
@@ -154,7 +154,7 @@ MACHDEPLIBS	= @MACHDEPLIBS@
 # insufficient to locate the library you can setup a config.local
 # file that defines LIBTIFF and/or TIFFINC (used to find tiffio.h)
 #
-TIFFINC		= @TIFFINC@
+#TIFFINC		= @TIFFINC@
 LIBTIFF		= @LIBTIFF@
 TIFFBIN		= @TIFFBIN@
 #
@@ -165,7 +165,7 @@ TIFFBIN		= @TIFFBIN@
 # insufficient to locate the library you can setup a config.local
 # file that defines LIBZ and/or ZINC (used to find zlib.h)
 #
-ZLIBINC		= @ZLIBINC@
+#ZLIBINC		= @ZLIBINC@
 LIBZ		= @LIBZ@
 #
 # libdb-related definitions.  The source for the libdb library
@@ -225,7 +225,7 @@ GCINCS		= -I. -I${DEPTH} -I${REGEXINC} -
 #
 # C++ flags are decomposed using the same hierarchy as C flags.
 #
-C++FLAGS	= ${CVERSION} ${VC++FLAGS} ${LC++FLAGS} ${GC++FLAGS}
+C++FLAGS	= ${CVERSION} ${VC++FLAGS} ${LC++FLAGS} ${GC++FLAGS} -D_GNU_SOURCE
 
 VC++FLAGS	= ${VC++DEFS} ${VC++INCS} ${VC++OPTS}
 LC++FLAGS	= ${LC++DEFS} ${LC++INCS} ${LC++OPTS}
Index: hylafax-4.4.4/etc/Makefile.in
===================================================================
--- hylafax-4.4.4.orig/etc/Makefile.in
+++ hylafax-4.4.4/etc/Makefile.in
@@ -41,6 +41,7 @@ DEPTH=..
 
 SRCDIR	= ${DEPTH}/${TOPSRCDIR}/etc
 VPATH	= ../@SRCDIR@/etc
+DESTDIR = /
 DIR_SYSVINIT	= @SYSVINITDIR@
 DIR_SYSVINITSTART	= @SYSVINITSTARTDIR@
 DIR_SYSVINITSTOP	= @SYSVINITSTOPDIR@
Index: hylafax-4.4.4/etc/faxaddmodem.sh.in
===================================================================
--- hylafax-4.4.4.orig/etc/faxaddmodem.sh.in
+++ hylafax-4.4.4/etc/faxaddmodem.sh.in
@@ -255,6 +255,14 @@ EOF
 faxGID=`$GREP "^$PROTOGID:" $GROUP | cut -d: -f3`
 if [ -z "$faxGID" ]; then faxGID=$defPROTOGID; fi
 
+if [ -x /usr/sbin/faxaddmodem.capi ]; then
+    promptForBooleanParameter no "Do you want setup a CAPI 2.0 based ISDN modem"
+    if [ "$param" = "yes" ]; then
+        /usr/sbin/faxaddmodem.capi $TTY
+	exit
+    fi
+fi
+
 while [ -z "$TTY" ] || [ ! -c /dev/$TTY ]; do
     test "$TTY" != "" && echo "/dev/$TTY is not a terminal device."
     prompt "Serial port that modem is connected to [$TTY]?"; read TTY
@@ -494,7 +502,9 @@ defaultIXOAckTimeout=\"\"
 setupServerParameters()
 {
     for i in $ServerParameters; do
+	set -o noglob
 	eval $i=\$default$i
+	set +o noglob
     done
 }
 
@@ -516,11 +526,11 @@ getServerParameters()
 echoServerSedCommands()
 {
     (for i in $RequiredServerParameters; do
-	eval echo \"$i:\$$i:\"
+	eval echo -e \"$i\\x00\$$i\\x00\"
      done
      for i in $OptionalServerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-     done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+     done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
@@ -652,8 +662,8 @@ EOF
 printServerConfig()
 {
     (for i in $ServerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-    done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+    done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
@@ -670,6 +680,7 @@ if [ -f $SCHEDCONFIG ]; then
     echo "Reading scheduler config file $SCHEDCONFIG."
     echo ""
     getServerParameters $SCHEDCONFIG
+    schedconfig="yes"
 fi
 if [ -f $CONFIG ] || [ -z "$OLDCONFIG" ]; then
     OLDCONFIG=$CONFIG
@@ -683,9 +694,13 @@ else
     echo ""
     getServerParameters $MODEMCONFIG/skel # get from skeletal file
     ok="prompt"				# prompt for parameters
+    # restore overwritten allready entered values
+    if [ "$schedconfig" = "yes" ]; then
+	getServerParameters $SCHEDCONFIG
+    fi
 fi
 
-if [ -z "$FAXNumber" ]; then
+if [ -z "$FAXNumber" -o "+1.999.555.1212" = "$FAXNumber" ]; then
     FAXNumber="+$CountryCode $AreaCode 555-1212"
 fi
 
@@ -821,7 +836,7 @@ SendToModem()
     sleep 1					# wait for previous kill
     case $TARGET in
     *-linux*)	;;
-    *)	onDev $STTY 0; sleep 1	;;		# reset the modem (hopefully)
+    *)	onDev $STTY -clocal; sleep 1	;;		# reset the modem (hopefully)
     esac
 						# start listening for output
     onDev -c "$STTY clocal && exec $CAT $tdev"; sleep 2
@@ -878,12 +893,13 @@ while [ -z "$RESULT" ]; do
     # reset the modem.  If something goes wrong, it'll
     # nag the user to check on the problem.
     #
-    (trap "exit 1" 1 2 15;
+    (trap "exit 1" 1 2;
      while true; do
 	sleep 10;
 	echo ""
 	echo "Hmm, something seems to be hung, check your modem eh?"
      done)& nagpid=$!
+    trap "$RMCMD \$JUNK; $RMCMD -r $TMPDIR; kill $nagpid \$catpid; exit 0" 0
     trap "$RMCMD \$JUNK; $RMCMD -r $TMPDIR; kill $nagpid \$catpid; exit 1" 1 2 15
     SendToModem "AT+FCLASS=?" 			# ask for class support
 
@@ -892,6 +908,7 @@ while [ -z "$RESULT" ]; do
     wait $nagpid            # Really waits its end
     exec 2>&3 3>&-          # Restore stderr
 
+    trap "$RMCMD \$JUNK; $RMCMD -r $TMPDIR; test \"\$catpid\" && kill \$catpid; exit 0" 0
     trap "$RMCMD \$JUNK; $RMCMD -r $TMPDIR; test \"\$catpid\" && kill \$catpid; exit 1" 1 2 15
     sleep 1
 
@@ -1400,20 +1417,38 @@ echoModemSedCommands()
     ModemCmds=""
 
     (for i in $ModemParameters; do
-	eval echo \"$i:\$$i:\$proto$i\"
+	eval x=\$$i
+	x=`echo $x | $SED 's/&/\\\\&/g'`
+	eval $i=\$x
+	eval x="\$proto$i"
+	x=`echo $x | $SED 's/&/\\\\&/g'`
+	eval proto$i=\$x
+	eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
     done
     case "$ModemType" in
     Class1*)
 	for i in $Class1Parameters; do
-	    eval echo \"$i:\$$i:\$proto$i\"
+	    eval x="\$$i"
+	    x=`echo $x | $SED 's/&/\\\\&/g'`
+	    eval $i=\$x
+	    eval x="\$proto$i"
+	    x=`echo $x | $SED 's/&/\\\\&/g'`
+	    eval proto$i=\$x
+	    eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
 	done
 	;;
     Class2*)
 	for i in $Class2Parameters; do
-	    eval echo \"$i:\$$i:\$proto$i\"
+	    eval x="\$$i"
+	    x=`echo $x | $SED 's/&/\\\\&/g'`
+	    eval $i=\$x
+	    eval x="\$proto$i"
+	    x=`echo $x | $SED 's/&/\\\\&/g'`
+	    eval proto$i=\$x
+	    eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
 	done
 	;;
-    esac) | $AWK -F: '
+    esac) | $AWK -F'\000' '
 function p(tag, value)
 {
     if (match(value, "^[^\"].*[ ]") == 0)
@@ -1469,20 +1504,20 @@ checkFlowControlAgainstTTY()
 printModemConfig()
 {
     (for i in $ModemParameters; do
-	eval echo \"$i:\$$i:\$proto$i\"
+	eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
     done
     case "$ModemType" in
     Class1*)
 	for i in $Class1Parameters; do
-	    eval echo \"$i:\$$i:\$proto$i\"
+	    eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
 	done
 	;;
     Class2*)
 	for i in $Class2Parameters; do
-	    eval echo \"$i:\$$i:\$proto$i\"
+	    eval echo -e \"$i\\x00\$$i\\x00\$proto$i\"
 	done
 	;;
-    esac) | $AWK -F: '
+    esac) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
@@ -1613,7 +1648,7 @@ AT	Class1EOPWaitCmd	\
 	Maximum time to wait for OK after aborting a receive (ms)
 #	Class1RecvIdentTimer	\
 	Maximum wait for initial identification frame (ms)
-#	Class1SwitchingCmd	\
+S	Class1SwitchingCmd	\
 	Command to ensure silence after receiving HDLC and before sending
 #	Class1TCFRecvTimeout	Timeout for receiving TCF (ms)
 EOF
@@ -1755,7 +1790,7 @@ test -p $FIFO || {
 	die
     fi
 }
-$CHOWN $FAX $FIFO; $CHGRP $faxGID $FIFO; $CHMOD 600 $FIFO
+$CHOWN uucp.uucp $FIFO; $CHMOD 600 $FIFO
 if [ "$OLDFIFO" ]; then
     echo "Removing old fifo $OLDFIFO.";
     $RMCMD $OLDFIFO;
@@ -1783,6 +1818,7 @@ RequiredSchedulerParameters="
     InternationalPrefix
     DialStringRules
     ServerTracing
+    SessionTracing
 "
 OptionalSchedulerParameters="
     ContCoverPage
@@ -1798,7 +1834,6 @@ OptionalSchedulerParameters="
     SendFaxCmd
     SendPageCmd
     SendUUCPCmd
-    SessionTracing
     TimeOfDay
     Use2D
 "
@@ -1865,11 +1900,11 @@ CheckedParameters="
 echoSchedulerParameters()
 {
     (for i in $RequiredSchedulerParameters; do
-	eval echo \"$i:\$$i:\"
+	eval echo -e \"$i\\x00\$$i\\x00\"
      done
      for i in $OptionalSchedulerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-     done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+     done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
@@ -1887,8 +1922,8 @@ $2 != $3{ p($1, $2) }'
 printSchedulerConfig()
 {
     (for i in $SchedulerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-    done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+    done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
Index: hylafax-4.4.4/etc/faxsetup.sh.in
===================================================================
--- hylafax-4.4.4.orig/etc/faxsetup.sh.in
+++ hylafax-4.4.4/etc/faxsetup.sh.in
@@ -922,6 +922,7 @@ if onServer; then
     (umask 077 ; mkdir $TMPDIR) || exit 1
 
     JUNK="etc/setup.tmp"
+    trap "$RM \$JUNK; $RM -r \$TMPDIR; exit 0" 0
     trap "$RM \$JUNK; $RM -r \$TMPDIR; exit 1" 1 2 15
 
     exec 5>etc/setup.tmp
@@ -2077,6 +2078,7 @@ RequiredSchedulerParameters="
     InternationalPrefix
     DialStringRules
     ServerTracing
+    SessionTracing
 "
 OptionalSchedulerParameters="
     ContCoverPage
@@ -2092,7 +2094,6 @@ OptionalSchedulerParameters="
     SendFaxCmd
     SendPageCmd
     SendUUCPCmd
-    SessionTracing
     TimeOfDay
     Use2D
 "
@@ -2121,11 +2122,11 @@ SchedulerParameters="
 echoSchedulerParameters()
 {
     (for i in $RequiredSchedulerParameters; do
-	eval echo \"$i:\$$i:\"
+	eval echo -e \"$i\\x00\$$i\\x00\"
      done
      for i in $OptionalSchedulerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-     done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+     done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
@@ -2143,8 +2144,8 @@ $2 != $3{ p($1, $2) }'
 printSchedulerConfig()
 {
     (for i in $SchedulerParameters; do
-	eval echo \"$i:\$$i:\$default$i\"
-    done) | $AWK -F: '
+	eval echo -e \"$i\\x00\$$i\\x00\$default$i\"
+    done) | $AWK -F'\000' '
 function p(tag, value)
 {
     tabs = substr("\t\t\t", 1, 3-int((length(tag)+1)/8));
Index: hylafax-4.4.4/etc/hylafax.in
===================================================================
--- hylafax-4.4.4.orig/etc/hylafax.in
+++ hylafax-4.4.4/etc/hylafax.in
@@ -47,6 +47,19 @@
 #
 # NB: This script assumes faxgetty processes are managed by init
 #
+### BEGIN INIT INFO
+# Provides: hylafax
+# Required-Start: $remote_fs
+# Should-Start: ypbind isdn
+# Required-Stop: $remote_fs
+# Should-Stop: ypbind isdn
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Description: Start hylafax fax server daemon
+### END INIT INFO
+
+. /etc/rc.status
+
 SPOOL=@SPOOL@
 
 test -f $SPOOL/etc/setup.cache || {
@@ -55,7 +68,7 @@ test -f $SPOOL/etc/setup.cache || {
 FATAL ERROR: $SPOOL/etc/setup.cache is missing!
 
 The file $SPOOL/etc/setup.cache is not present.  This
-probably means the machine has not been setup using the faxsetup(@MANNUM1_8@)
+probably means the machine has not been setup using the faxsetup(1M)
 command.  Read the documentation on setting up HylaFAX before you
 startup a server system.
 
@@ -64,24 +77,18 @@ EOF
 }
 . $SPOOL/etc/setup.cache
 
-# Just in case these are not in setup.cache yet
-if [ -z "$HFAXD_SERVER" ]; then
-    HFAXD_SERVER=@HFAXD_SERVER@
-fi
-if [ -z "$FAXQ_SERVER" ]; then
-    FAXQ_SERVER=@FAXQ_SERVER@
+if [ -z $HFAXD_SERVER ]; then
+    HFAXD_SERVER=1
 fi
-if [ -z "$HFAXD_OLD_PROTOCOL" ]; then
-    HFAXD_OLD_PROTOCOL=@HFAXD_OLD_PROTOCOL@
-fi
-if [ -z "$HFAXD_SNPP_SERVER" ]; then
-    HFAXD_SNPP_SERVER=@HFAXD_SNPP_SERVER@
+if [ -z $FAXQ_SERVER ]; then
+    FAXQ_SERVER=1
 fi
 
 IS_ON=/etc/chkconfig		# NB: chkconfig is IRIX- and Linux-specific
-FAXQ=$SBIN/faxq
-HFAXD=$LIBEXEC/hfaxd
-FAXQUIT=$SBIN/faxquit
+FAXQ=@SBIN@/faxq
+HFAXD=@LIBEXEC@/hfaxd
+FAXQUIT=@SBIN@/faxquit
+KILLALL=/usr/bin/killall
 FAXPORT=hylafax			# designated port for new protocol
 SNPPPORT=444			# official port for SNPP
 
@@ -90,107 +97,57 @@ if test ! -x $IS_ON ; then
 fi
 
 if $IS_ON verbose ; then
-    ECHO=echo
+    ECHO="echo -e"
 else		# For a quiet startup and shutdown
     ECHO=:
 fi
 
-#
-# Figure out which brand of echo we have and define prompt
-# and printf shell functions accordingly.  Note that we
-# assume that if the System V-style echo is not present,
-# then the BSD printf program is available.  These functions
-# are defined here so that they can be tailored on a per-site,
-# etc. basis.
-#
-if [ `echo foo\\\c`@ = "foo@" ]; then
-    # System V-style echo supports \r
-    # and \c which is all that we need
-    printf()
-    {
-       $ECHO "$*\\c"
-    }
-elif [ "`echo -n foo`@" = "foo@" ]; then
-    # BSD-style echo; use echo -n to get
-    # a line without the trailing newline
-    printf()
-    {
-       $ECHO -n "$*"
-    }
-else
-    # something else; do without
-    printf()
-    {
-	$ECHO "$*"
-    }
-fi
-
-#
-#
-# killall -SIGNAL process-name
-#
-# Emulate the necessary functionality of the
-# killall program
-#
-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
-}
+# The echo return value for success (defined in /etc/rc.config).
+return=$rc_done
 
 case $1 in
-'start')
+start)
 	if $IS_ON fax && test -x $FAXQ; then
-	    if test $FAXQ_SERVER = yes ; then
-		killall -15 faxq
-	    fi
-	    if test $HFAXD_SERVER = yes ; then
-		killall -15 hfaxd
-	    fi
-	    printf "HylaFAX:"
-            if test $FAXQ_SERVER = yes ; then
-	        $FAXQ; printf " faxq"
-            fi
-            if test $HFAXD_SERVER = yes ; then
-	        HFAXD="$HFAXD -i $FAXPORT"
-		HFAXMSG=" hfaxd"
-		if [ $HFAXD_OLD_PROTOCOL = yes ]; then
-	    	    HFAXD="$HFAXD -o 4557"
-		    HFAXMSG="$HFAXMSG (with old protocol"
-		else
-		    HFAXMSG="$HFAXMSG (without old protocol"
-		fi
-		if [ $HFAXD_SNPP_SERVER = yes ]; then
-	    	    HFAXD="$HFAXD -s $SNPPPORT"
-		    HFAXMSG="$HFAXMSG & with SNPP support)"
-		else
-		    HFAXMSG="$HFAXMSG & without SNPP support)"
-		fi
-		$HFAXD ; printf "$HFAXMSG"
-            fi
-	    if test $FAXQ_SERVER != yes && test $HFAXD_SERVER != yes ; then
-		printf " not started (script disabled by configure)"
-	    fi
-	    $ECHO "."
+	    echo -n "Starting service HylaFAX"
+	    killall -15 $FAXQ >/dev/null 2>&1
+	    killall -15 $HFAXD >/dev/null 2>&1
+	    /sbin/startproc $FAXQ || return=$rc_failed
+	    /sbin/startproc $HFAXD -i $FAXPORT -o 4557 -s $SNPPPORT \
+					|| return=$rc_failed
+	    echo -e "$return"
 	fi
 	;;
-'stop')
-	$ECHO "Stopping HylaFAX Servers."
+stop)
+	echo -n "Shutting down service HylaFAX"
+
 	$FAXQUIT >/dev/null 2>&1
-	killall -15 hfaxd
-	;;
-'start_msg')
-	$ECHO "Starting HylaFAX Servers."
-	;;
-'stop_msg')
-	$ECHO "Stopping HylaFAX Servers."
+	/sbin/killproc -TERM $HFAXD || return=$rc_failed
+
+	echo -e "$return"
 	;;
+restart|force-reload)
+        ## If first returns OK call the second, if first or
+        ## second command fails, set echo return value.
+        $0 stop  &&  $0 start  ||  return=$rc_failed
+        ;;
+reload)
+        $0 stop  &&  $0 start  ||  return=$rc_failed
+        ;;
+status)
+        echo -n "Checking for service HylaFAX: "
+        ## Check status with checkproc(8), if process is running
+        ## checkproc will return with exit status 0.
+        echo -n "HylaFAX queue manager process: "
+        /sbin/checkproc $FAXQ
+	rc_status -v
+        echo -n "HylaFAX client-server protocol server: "
+        /sbin/checkproc $HFAXD
+	rc_status -v
+        ;;
 *)
-	$ECHO "usage: hylafax {start|stop|start_msg|stop_msg}"
+	echo "usage: /etc/init.d/hylafax {start|stop|status|restart|reload}"
 	;;
 esac
+
+rc_exit
+
Index: hylafax-4.4.4/etc/probemodem.sh.in
===================================================================
--- hylafax-4.4.4.orig/etc/probemodem.sh.in
+++ hylafax-4.4.4/etc/probemodem.sh.in
@@ -128,6 +128,7 @@ done
 # Lock the device for later use when deducing the modem type.
 #
 JUNK="$LOCKX $OUT"
+trap "@RM@ -f $JUNK; @RM@ -fr $TMPDIR; exit 0" 0
 trap "@RM@ -f $JUNK; @RM@ -fr $TMPDIR; exit 1" 1 2 15
 
 LOCKSTR=`expr "         $$" : '.*\(..........\)'`
@@ -207,7 +208,7 @@ SendToModem()
     sleep 1					# wait for previous kill
     case $TARGET in    
     *-linux*)	;;
-    *)	onDev $STTY 0; sleep 1	;;		# reset the modem (hopefully)
+    *)	onDev $STTY -clocal; sleep 1	;;		# reset the modem (hopefully)
     esac
 						# start listening for output
     onDev -c "$STTY clocal && exec $CAT $tdev"; sleep 2
@@ -265,12 +266,13 @@ while [ -z "$RESULT" ]; do
     # reset the modem.  If something goes wrong, it'll
     # nag the user to check on the problem.
     #
-    (trap "exit 1" 1 2 15;
+    (trap "exit 1" 1 2;
      while true; do
 	sleep 10;
 	echo ""
 	echo "Hmm, something seems to be hung, check your modem eh?"
      done)& nagpid=$!
+    trap "@RM@ -f \$JUNK; @RM@ -fr $TMPDIR; kill $nagpid \$catpid; exit 0" 0
     trap "@RM@ -f \$JUNK; @RM@ -fr $TMPDIR; kill $nagpid \$catpid; exit 1" 1 2 15
 
     if [ x"$ATCMD" != x"" ]; then
@@ -284,6 +286,7 @@ while [ -z "$RESULT" ]; do
     wait $nagpid		# Really waits its end
     exec 2>&3 3>&-		# Restore stderr
 
+    trap "@RM@ -f \$JUNK; @RM@ -fr $TMPDIR; test \"\$catpid\" && kill \$catpid; exit 0" 0
     trap "@RM@ -f \$JUNK; @RM@ -fr $TMPDIR; test \"\$catpid\" && kill \$catpid; exit 1" 1 2 15
     sleep 1
 
Index: hylafax-4.4.4/man/faxrcvd.1m
===================================================================
--- hylafax-4.4.4.orig/man/faxrcvd.1m
+++ hylafax-4.4.4/man/faxrcvd.1m
@@ -75,7 +75,7 @@ the value of various identification indi
 .SH NOTES
 This script can route facsimile directly to the intended recipient.
 To do this create a shell script
-.B etc/FaxDispatch
+.B bin/FaxDispatch
 in the spooling area that sets
 .I SENDTO
 to the receiver's electronic mail address.  For example,
Index: hylafax-4.4.4/port/install.sh.in
===================================================================
--- hylafax-4.4.4.orig/port/install.sh.in
+++ hylafax-4.4.4/port/install.sh.in
@@ -210,7 +210,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: hylafax-4.4.4/util/Sys.h
===================================================================
--- hylafax-4.4.4.orig/util/Sys.h
+++ hylafax-4.4.4/util/Sys.h
@@ -40,10 +40,6 @@
 
 #include "port.h"			// for anything not in system includes
 
-#if HAS_OSFCN_H
-#include <osfcn.h>
-#endif
-
 /*
  * Wrapper functions for C library calls.
  *
Index: hylafax-4.4.4/util/faxcron.sh.in
===================================================================
--- hylafax-4.4.4.orig/util/faxcron.sh.in
+++ hylafax-4.4.4/util/faxcron.sh.in
@@ -37,9 +37,11 @@
 # 4. Notify about sites that currently have jobs rejected.
 #
 
+/usr/sbin/rchylafax status &>/dev/null || exit 0
+
 AGEINFO=30			# purge remote info after 30 days inactivity
 AGELOG=30			# keep log info for last 30 days
-AGERCV=7			# purge received facsimile after 7 days
+AGERCV=9999			# purge received facsimile after 9999 days
 AGETMP=1			# purge orphaned temp files after 1 day
 FAXUSER=@FAXUID@		# owner of log files
 LOGMODE=0644			# mode for log files
Index: hylafax-4.4.4/util/typerules
===================================================================
--- hylafax-4.4.4.orig/util/typerules
+++ hylafax-4.4.4/util/typerules
@@ -135,8 +135,7 @@
 0	string		WNGZWZSS	error	Wingz spreadsheet support not configured
 0       string          #Inventor V	error	IRIS Inventor file support not configured
 >15     string          binary		error	binary IRIS Inventor file support not configured
->15     string          ascii		ps	%F/textfmt -B -f Courier-Bold\
-						-Ml=0.4in -p 11 -s %s >%o <%i
+>15     string          ascii		ps	%F/a2pswrap %s %o %i
 #
 0	string		\x89PNG		error	PNG support not configured
 0	short		0xffd8		error	filetype conversion support not configured
@@ -174,5 +173,4 @@
 
 #  Support 7-bit text which would otherwise be seen as binary.
 #
-#0	byte		x		ps	%F/textfmt -B -f Courier-Bold \
-#							  -p 11 -s %s >%o <%i
+0	ascii		x		ps	%F/a2pswrap %s %o %i
openSUSE Build Service is sponsored by