#! /bin/bash # $Id: faxsetup.sh.in 1150 2013-02-25 03:51:47Z faxguy $ # # Warning, this file was automatically created by the HylaFAX configure script # # HylaFAX Facsimile Software # # Copyright (c) 1990-1996 Sam Leffler # Copyright (c) 1991-1996 Silicon Graphics, Inc. # HylaFAX is a trademark of Silicon Graphics # # Permission to use, copy, modify, distribute, and sell this software and # its documentation for any purpose is hereby granted without fee, provided # that (i) the above copyright notices and this permission notice appear in # all copies of the software and related documentation, and (ii) the names of # Sam Leffler and Silicon Graphics may not be used in any advertising or # publicity relating to the software without the specific, prior written # permission of Sam Leffler and Silicon Graphics. # # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. # # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. # # # VERSION: 7.0.1 # DATE: Fri Sep 27 02:47:27 UTC 2019 # TARGET: i686-pc-linux-gnu # # # faxsetup [options] # # This script interactively prepares and verifies # a HylaFAX client and/or server machine for use. # PATH=/bin:/usr/bin:/etc test -d /usr/ucb && PATH=$PATH:/usr/ucb # Sun and others test -d /usr/bsd && PATH=$PATH:/usr/bsd # Silicon Graphics test -d /usr/5bin && PATH=/usr/5bin:$PATH:/usr/etc # Sun and others test -d /usr/sbin && PATH=/usr/sbin:$PATH # 4.4BSD-derived test -d /usr/local/bin && PATH=$PATH:/usr/local/bin # for GNU tools test -d /usr/gnu/bin && PATH=$PATH:/usr/gnu/bin # for GNU tools (SCO) AWK=/usr/bin/gawk # awk for use below CAT=/bin/cat # cat command for use below CHGRP=/bin/chgrp # change file group for use below CHMOD=/bin/chmod # change file mode for use below CHOWN=/bin/chown # change file owner for use below CP=/bin/cp # cp command for use below ECHO=/bin/echo # echo command for use below ENCODING=base64 # encoding style for uuencode/mimencode FILECMD=/usr/bin/file # command for determining filetypes FUSER=/bin/fuser # fuser command to dump in setup.cache GREP=/bin/grep # grep command for use below LN=/bin/ln # ln command for use below LN_S=-s # ln option for creating a symbolic link MIMENCODE=mimencode # mimencode command to dump in setup.cache MKFIFO=/usr/bin/mkfifo # FIFO creation program for use below MV=/bin/mv # move file for use below PCL6CMD=/usr/bin/pcl6 # pcl6 (GhostPCL) program OPENSSL=/usr/bin/openssl # openssl program RMCMD=/bin/rm # remove file for use below SCRIPT_SH=/bin/bash # shell for use below SED=/bin/sed # sed for use below TIFF2PDF=/usr/bin/tiff2pdf # tiff-to-pdf conversion tool TTYCMD=/usr/bin/tty # tty for error output UUENCODE=/usr/bin/uuencode # uuencode command to dump in setup.cache FAX=fax # identity of the fax user SERVICES=/etc/services # location of services database INETDCONF=/usr/etc/inetd.conf # default location of inetd configuration file ALIASES=/usr/lib/aliases # default location of mail aliases database file PASSWD=/etc/passwd # where to go for password entries PROTOUID=fax # user who's uid we use for FAX user defPROTOUID=3 # use this uid if PROTOUID doesn't exist GROUP=/etc/group # where to go for group entries PROTOGID=uucp # group who's gid we use for FAX user defPROTOGID=10 # use this gid if PROTOGID doesn't exist VERSION="7.0.1" # configured version DATE="Fri Sep 27 02:47:27 UTC 2019" # data software was configured TARGET="i686-pc-linux-gnu" # configured target PATH_AFM=%rom%Resource/Init/:%rom%lib/:/usr/share/ghostscript/9.50/Resource/Init:/usr/share/ghostscript/9.50/lib:/usr/share/ghostscript/9.50/Resource/Font:/usr/share/ghostscript/fonts:/usr/share/fonts/ghostscript # directory for Adobe Font Metric files DIR_BIN=/usr/bin # directory for client applications DIR_LIBDATA=/etc/hylafax # directory for client data files DIR_LIBEXEC=/usr/sbin # directory where servers are located DIR_LOCKS=/var/lock # UUCP locking directory DIR_MAN=/usr/share/man # directory for manual pages DIR_SBIN=/usr/sbin # directory for server applications DIR_SPOOL=/var/spool/hylafax # top of fax spooling tree TIFFBIN=/usr/bin # TIFF tools LOCKS=ascii # UUCP lock type PATH_GETTY=/sbin/mgetty # pathname for getty program PATH_SENDMAIL=/usr/sbin/sendmail # pathname for sendmail PATH_VGETTY=/sbin/vgetty # pathname for voice getty program PATH_EGETTY=/bin/egetty # pathname for external getty program PS=gs # default PostScript RIP package PATH_GSRIP=/usr/bin/gs # pathname of Ghostscript RIP PATH_DPSRIP=/var/spool/hylafax/bin/ps2fax # pathname of old IRIX DPS RIP PATH_IMPRIP= # pathname of IRIX Impressario RIP POSIXLY_CORRECT=1; export POSIXLY_CORRECT # disable GNU extensions # # Location of sysv init script # DIR_SYSVINIT=/etc/init.d FAXQ_SERVER=yes HFAXD_SERVER=yes HFAXD_SNPP_SERVER=no # # These are the configuration parameters written to the # setup.cache file and read in by all the HylaFAX scripts. # # We use the same names used by configure for consistency # (but some confusion within this script). # VARS="SCRIPT_SH FONTPATH PATH_AFM AWK BIN DIR_BIN CAT CHGRP CHMOD CHOWN CP DPSRIP PATH_DPSRIP ECHO ENCODING FAXQ_SERVER FILECMD FUSER GREP GSRIP PATH_GSRIP HFAXD_SERVER HFAXD_SNPP_SERVER IMPRIP PATH_IMPRIP LIBDATA DIR_LIBDATA LIBEXEC DIR_LIBEXEC LN MANDIR DIR_MAN MIMENCODE MKFIFO MV OPENSSL PATH PATHGETTY PATH_GETTY PATHVGETTY PATH_VGETTY PATHEGETTY PATH_EGETTY PCL6CMD PSPACKAGE PS RM RMCMD SBIN DIR_SBIN SED SENDMAIL PATH_SENDMAIL SPOOL DIR_SPOOL SYSVINIT TIFF2PDF TIFFBIN TARGET TTYCMD UUENCODE UUCP_LOCKDIR DIR_LOCKS UUCP_LOCKTYPE LOCKS" dumpvals() { echo "$VARS" | while read a b; do eval c=\$${b:-$a}; echo "$a='$c'"; done } # # Find the full pathname of an executable; # supply a default if nothing is found. # findAppDef() { app=$1; path=$2; def=$3 case $app in /*) test -x $app && { echo $app; return; };; esac IFS=: for i in $path; do test -x $i/$app && { echo $i/$app; return; } done echo $def } # # Error diagnostics that should go to the terminal are # done with this interface or cat. # bitch() { echo "$@" 1>&2 } # # This is the preferred interface for # configure to terminate abnormally. # boom() { $RM $JUNK # boom can be called before TMPDIR is set if test x$TMPDIR != x; then $RM -r $TMPDIR fi exit 1 } usage() { cat</dev/null # chuck messages else exec 4>&1 # messages go to stdout fi Note() { echo "$@" 1>&4 } capture() { (eval "set -x; $*") > /dev/null 2>&1 return } Note "" Note "Setup program for HylaFAX (tm) $VERSION." Note "" Note "Created for $TARGET on $DATE." Note "" CPU=`expr $TARGET : '\([^\-]*\)'` || CPU=unknown VENDOR=`expr $TARGET : '[^\-]*-\([^\-]*\)'` || VENDOR=unknown OS=`expr $TARGET : '[^\-]*-[^\-]*-\([a-zA-Z]*\).*'` || OS=unknown RELEASE=`(uname -r) 2>/dev/null` || RELEASE=unknown # # Read in any site, target, vendor, os, or os-release # specific setup work. Note that we read stuff here # so that configuration parameters can be altered. We # use some pre-defined function names below to provide # hooks for other actions. # # # Hooks for additional client+server checks # otherBasicServerChecks() { true } otherBasicClientChecks() { true } # # Hook for adding stuff to setup.modem # dumpOtherModemFuncs() { true } # # 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 prompt() { echo "$* \\c" } printf() { echo "$*\\c" } dumpPromptFuncs() { cat<<-'EOF' prompt() { echo "$* \\c" } printf() { echo "$*\\c" } EOF } elif [ "`echo -n foo`@" = "foo@" ]; then # BSD-style echo; use echo -n to get # a line without the trailing newline prompt() { echo -n "$* " } dumpPromptFuncs() { cat<<-'EOF' prompt() { echo -n "$* " } EOF } else # something else; do without prompt() { echo "$*" } dumpPromptFuncs() { cat<<-'EOF' prompt() { echo "$*" } EOF } fi if onServer; then # # Setup the password file manipulation functions according # to whether we have System-V style support through the # passmgmt program, or BSD style support through the chpass # program, or for SCO boxes through pwconv, or SVR4 style support # through useradd. If none are found, we setup functions that # will cause us to abort if we need to munge the password file. # # NB: some systems override these function definitions through # per-os faxsetup files # if [ -f /bin/passmgmt ] || [ -f /usr/sbin/passmgmt ]; then addPasswd() { passmgmt -o -a -c 'Facsimile Agent' -h $4 -u $2 -g $3 $1 } deletePasswd() { passmgmt -d $1 } modifyPasswd() { passmgmt -m -h $4 -u $2 -o -g $3 $1 } lockPasswd() { passwd -l $1 } elif [ -f /usr/bin/chpass ]; then addPasswd() { chpass -a "$1:*:$2:$3::0:0:Facsimile Agent:$4:" } modifyPasswd() { chpass -a "$1:*:$2:$3::0:0:Facsimile Agent:$4:" } lockPasswd() { return 0 # entries are always locked } elif [ -f /etc/pwconv ]; then # could be a SCO box addPasswd() { echo "${1}:NOLOGIN:${2}:${3}:Facsimile Agent:${4}:/bin/false" >> ${PASSWD} /etc/pwconv } lockPasswd() { return 0 # entries are always locked } modifyPasswd() { OLD_HOME=`grep "^${1}:" ${PASSWD} | awk -F: '{print $6}'` ed - $PASSWD <<_EOF g~^$1:~s~${OLD_HOME}~$4~ w q _EOF } elif [ -f /usr/sbin/useradd ] || [ -f /etc/useradd ]; then addPasswd() { useradd -c 'Facsimile Agent' -d $4 -u $2 -o -g $3 $1 } deletePasswd() { userdel $1 } modifyPasswd() { usermod -m -d $4 -u $2 -o -g $3 $1 } lockPasswd() { passwd -l $1 } else addPasswd() { cat >&2 <&2 </dev/null 2>&1 && speeds="\$speeds \$s" done fi echo \$speeds } EOF } ;; *) dumpSTTYFuncs() { cat</dev/null 2>&1 && speeds="\$speeds \$s" done fi echo \$speeds } EOF } ;; esac machdepPasswdWork() { true } # # Default values for new scheduler config files # defaultLogFacility=daemon defaultCountryCode=1 defaultAreaCode=$AREACODE defaultLongDistancePrefix=1 defaultInternationalPrefix=011 defaultDialStringRules=\"etc/dialrules\" defaultServerTracing=1 defaultContCoverPage= defaultContCoverCmd=\"bin/mkcover\" defaultMaxConcurrentCalls=1 defaultMaxDials=12 defaultMaxSendPages=0xffffffff defaultMaxTries=3 defaultModemGroup= defaultPostScriptTimeout=180 defaultPS2FaxCmd=\"bin/ps2fax\" defaultSendFaxCmd=\"bin/faxsend\" defaultSendPageCmd=\"bin/pagesend\" defaultSendUUCPCmd=\"bin/uucpsend\" defaultSessionTracing=0xFFF defaultTimeOfDay=\"Any\" defaultUse2D=Yes defaultNotifyCmd=\"bin/notify\" defaultUUCPLockDir=\"$DIR_LOCKS\" defaultUUCPLockTimeout=30 defaultUUCPLockType=\"$LOCKS\" fi CONFIG_FILES= if [ -f $DIR_SBIN/faxsetup.local ]; then . $DIR_SBIN/faxsetup.local CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.local" elif [ -f $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS}${RELEASE} ]; then . $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS}${RELEASE} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS}${RELEASE}" elif [ -f $DIR_SBIN/faxsetup.${VENDOR}-${OS}${RELEASE} ]; then . $DIR_SBIN/faxsetup.${VENDOR}-${OS}${RELEASE} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${VENDOR}-${OS}${RELEASE}" elif [ -f $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS} ]; then . $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${CPU}-${VENDOR}-${OS}" elif [ -f $DIR_SBIN/faxsetup.${VENDOR}-${OS} ]; then . $DIR_SBIN/faxsetup.${VENDOR}-${OS} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${VENDOR}-${OS}" elif [ -f $DIR_SBIN/faxsetup.${CPU}-${VENDOR} ]; then . $DIR_SBIN/faxsetup.${CPU}-${VENDOR} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${CPU}-${VENDOR}" elif [ -f $DIR_SBIN/faxsetup.${VENDOR} ]; then . $DIR_SBIN/faxsetup.${VENDOR} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${VENDOR}" elif [ -f $DIR_SBIN/faxsetup.${OS} ]; then . $DIR_SBIN/faxsetup.${OS} CONFIG_FILES="$CONFIG_FILES $DIR_SBIN/faxsetup.${OS}" fi # # Flush cached values if something was specified on the # command line # if onServer; then REASON= if [ $WITHARGS = yes ]; then REASON="of command line parameters" elif [ "$CONFIG_FILES" ]; then REASON=`find $CONFIG_FILES -newer $DIR_SPOOL/etc/setup.cache -print 2>/dev/null` test "$REASON" && REASON="$REASON has been updated" fi if [ "$REASON" ] && [ -f $DIR_SPOOL/etc/setup.cache ]; then Note "Flushing cached parameters because $REASON." Note "" rm -f $DIR_SPOOL/etc/setup.cache fi if [ -f $DIR_SPOOL/etc/setup.cache ]; then Note "Reading cached parameters from $DIR_SPOOL/etc/setup.cache." Note "" . $DIR_SPOOL/etc/setup.cache fi fi # # Double-check these settings... # if [ ! -x "$TIFF2PDF" ] || [ "$TIFF2PDF" = "bin/tiff2pdf" ]; then TIFF2PDF=`findAppDef tiff2pdf $PATH bin/tiff2pdf` if [ "$TIFF2PDF" != "bin/tiff2pdf" ]; then test -x "$TIFF2PDF" && Note "Found converter: $TIFF2PDF" fi fi if [ "$OPENSSL" != "disabled" ]; then test -x "$OPENSSL" || { OPENSSL=`findAppDef openssl $PATH openssl` test -x "$OPENSSL" && Note "Found openssl: $OPENSSL" } fi test -x "$PCL6CMD" || { PCL6CMD=`findAppDef pcl6 $PATH pcl6` test -x "$PCL6CMD" && Note "Found PCL converter: $PCL6CMD" } test -x "$MIMENCODE" || { MIMENCODE=`findAppDef mimencode $PATH mimencode` test -x "$MIMENCODE" || { MIMENCODE=`findAppDef base64-encode $PATH base64-encode` test -x "$MIMENCODE" || { MIMENCODE=`findAppDef base64 $PATH base64` } } test -x "$MIMENCODE" && Note "Found encoder: $MIMENCODE" } test -x "$UUENCODE" || { UUENCODE=`findAppDef uuencode $PATH uuencode` test -x "$UUENCODE" || { UUENCODE=`findAppDef gmime-uuencode $PATH gmime-uuencode` } test -x "$UUENCODE" && Note "Found encoder: $UUENCODE" } if [ -x "$MIMENCODE" ]; then if [ "$ENCODING" != "base64" ]; then ENCODING=base64 Note "Looks like $MIMENCODE supports base64 encoding." fi elif [ -x "$UUENCODE" ]; then if capture "$UUENCODE -m $PASSWD foo"; then if [ "$ENCODING" != "base64" ]; then ENCODING=base64 Note "Looks like $UUENCODE supports base64 encoding." fi else if [ "$ENCODING" != "x-uuencode" ]; then ENCODING=x-uuencode Note "Looks like $UUENCODE does not support base64 encoding." fi fi fi RM="$RMCMD -f" # remove file for use below # # Deduce the effective user id: # 1. Refer to the $EUID environment variable # 2. POSIX-style, the id program # 3. the old whoami program # 4. last gasp, check if we have write permission on /dev # unset euid test -z "$EUID" && EUID=`id |$SED -e 's/.*uid=\([^(]*\).*/\1/'` [ "$EUID" = "0" ] && euid=root test -z "$euid" && euid=`(whoami) 2>/dev/null` test -z "$euid" && test -w /dev && euid=root if [ "$euid" != "root" ]; then bitch "Sorry, but you must run this script as the super-user!" boom fi onClient && Note "Checking system for proper client configuration." onServer && Note "Checking system for proper server configuration." # # Verify configuration parameters are correct. # dirMisConfigured() { cat >&2 <&2 <<-EOF FATAL ERROR: $DIR_SPOOL does not exist or is not a directory! The HylaFAX spooling area $DIR_SPOOL does not exist or this file is not a directory. If the HylaFAX software is not yet installed you must do so before running this script. If the software is installed but is configured for use in a different location than this script expects then you may override the default pathname by running this script with a -with-DIR_SPOOL option; e.g. faxsetup -with-DIR_SPOOL=/var/spool/someplace_unexpected EOF boom } cd $DIR_SPOOL DIRS="archive bin client config dev docq doneq etc info log\ pollq recvq sendq status tmp" for i in $DIRS; do test -d $i || dirMisConfigured $DIR_SPOOL/$i done # # XXX should check permission and ownership of sensitive dirs # # Setup TMPDIR before anything can trap and rm it TMPDIR=`(mktemp -d /tmp/.faxsetup.XXXXXX) 2>/dev/null` if test x$TMPDIR = x; then TMPDIR=/tmp/.faxsetup$$ fi $RM -rf $TMPDIR (umask 077 ; mkdir $TMPDIR) || exit 1 JUNK="etc/setup.tmp" trap "$RM \$JUNK; $RM -r \$TMPDIR; exit 1" 1 2 15 exec 5>etc/setup.tmp echo '# Warning, this file was automatically generated by faxsetup' >&5 echo '# on' `date` "for ${USER:-$euid}" >&5 fi # # Basic client installation. # if onClient; then test -d $DIR_BIN || dirMisConfigured $DIR_BIN for file in sendfax sendpage faxstat faxalter faxcover faxmail faxrm; do test -x $DIR_BIN/$file || { cat >&2 <&2 <&2 <&2 <&2 <&2 <&4 <&2 <&2 </dev/null 2>&1; then true elif test -r conffifo; then # NB: not everyone has test -p true else cat >&2 </dev/null 2>&1 return } CheckAwk $AWK || { cat >&2 </dev/null | $AWK -F '[ ]' ' BEGIN { start = 0; } /Search path:/ { start = 1 } { if (start == 1) { if ($1 == "") { gsub(" ","") gsub("^[.]","") gsub("^:","") printf "%s", $0 } else if ($1 != "Search") start = 0 } } ' } # If configure --with-PATH_AFM= 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 "" 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 # Ghostscript 8.71 segfaults on that, but produces a valid Fontmap file, so we don't test exit code, but examine the product, instead. { # # 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 # 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; done | $SED q > $tmpfile fontfile=`$CAT $tmpfile` if [ -n "$fontfile" ]; then echo "($fontname) ($fontfile) ;" >> $newfontmap else echo "Warning: No font file found for \"$fontname\" but the font map includes it." fi fi done $RM -f $tmpfile $MV -f $newfontmap $fontmap } if [ -n "`$GREP Courier-Bold $DIR_SPOOL/etc/Fontmap.HylaFAX`" ]; then FONTMAP="$DIR_SPOOL/etc" Note "" Note "Created our own Fontmap file in $DIR_SPOOL/etc." Note "" else FONTMAP="$RUNTIME_PATH_AFM" $RM -f $DIR_SPOOL/etc/Fontmap.HylaFAX fi Note "" Note "Setting Ghostscript font path in $DIR_LIBDATA/hyla.conf." Note "" if [ -f $DIR_LIBDATA/hyla.conf ]; then $AWK '!/^FontMap|^FontPath|\/FontPath added by/ { print }' \ $DIR_LIBDATA/hyla.conf > $DIR_LIBDATA/hyla.conf.tmp fi echo "# FontMap/FontPath added by faxsetup (`date 2>/dev/null`)" \ >> $DIR_LIBDATA/hyla.conf.tmp echo "FontMap: $FONTMAP" >> $DIR_LIBDATA/hyla.conf.tmp echo "FontPath: $RUNTIME_PATH_AFM" >> $DIR_LIBDATA/hyla.conf.tmp $MV $DIR_LIBDATA/hyla.conf.tmp $DIR_LIBDATA/hyla.conf PATH_AFM=$RUNTIME_PATH_AFM fi fi # # Installation of Adobe Font Metric files # if onClient; then FDIRS=`echo $PATH_AFM | sed "s/:/ /g"` MATCH= for FDIR in $FDIRS; do if [ -d $FDIR ]; then cd $FDIR if [ -n "`ls | grep '\.afm'`" ] || [ -f Courier ]; then MATCH=$FDIR break fi # else # cat >&4 <&4 <&1 | grep tiffg3 >/dev/null 2>&1 || { cat >&2 <&2 </dev/null 2>&1 if [ $? -eq 2 ]; then if expr $RELEASE \>= 6.2 >/dev/null; then cat >&2 <= 6.2 >/dev/null; then cat >&2 </dev/null` if [ "$t" != hello ]; then cat >&2 <