summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-08-08 14:43:05 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-08-08 14:43:05 +0000
commitc46cd43491e2f371ad919380950f383cf25f0a76 (patch)
tree719e3208838452c1e9ef7cdd27b2df5ac65601b0 /Master
parent7c673255c363c3edabb7684db79429502460e9f4 (diff)
Move remaining tetex/ scripts to texlive/linked_scripts/
git-svn-id: svn://tug.org/texlive/trunk@27343 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/bin/amd64-freebsd/fmtutil1017
-rwxr-xr-xMaster/bin/amd64-freebsd/fmtutil-sys29
-rwxr-xr-xMaster/bin/amd64-freebsd/texconfig1432
-rwxr-xr-xMaster/bin/amd64-freebsd/texconfig-dialog486
-rwxr-xr-xMaster/bin/amd64-freebsd/texconfig-sys31
-rwxr-xr-xMaster/bin/amd64-freebsd/texlinks335
-rwxr-xr-xMaster/bin/amd64-kfreebsd/fmtutil1017
-rwxr-xr-xMaster/bin/amd64-kfreebsd/fmtutil-sys29
-rwxr-xr-xMaster/bin/amd64-kfreebsd/texconfig1432
-rwxr-xr-xMaster/bin/amd64-kfreebsd/texconfig-dialog486
-rwxr-xr-xMaster/bin/amd64-kfreebsd/texconfig-sys31
-rwxr-xr-xMaster/bin/amd64-kfreebsd/texlinks335
-rwxr-xr-xMaster/bin/armel-linux/fmtutil1017
-rwxr-xr-xMaster/bin/armel-linux/fmtutil-sys29
-rwxr-xr-xMaster/bin/armel-linux/texconfig1432
-rwxr-xr-xMaster/bin/armel-linux/texconfig-dialog486
-rwxr-xr-xMaster/bin/armel-linux/texconfig-sys31
-rwxr-xr-xMaster/bin/armel-linux/texlinks335
-rwxr-xr-xMaster/bin/i386-cygwin/fmtutil1017
-rwxr-xr-xMaster/bin/i386-cygwin/fmtutil-sys29
-rwxr-xr-xMaster/bin/i386-cygwin/texconfig1432
-rwxr-xr-xMaster/bin/i386-cygwin/texconfig-dialog486
-rwxr-xr-xMaster/bin/i386-cygwin/texconfig-sys31
-rwxr-xr-xMaster/bin/i386-cygwin/texlinks335
-rwxr-xr-xMaster/bin/i386-freebsd/fmtutil1017
-rwxr-xr-xMaster/bin/i386-freebsd/fmtutil-sys29
-rwxr-xr-xMaster/bin/i386-freebsd/texconfig1432
-rwxr-xr-xMaster/bin/i386-freebsd/texconfig-dialog486
-rwxr-xr-xMaster/bin/i386-freebsd/texconfig-sys31
-rwxr-xr-xMaster/bin/i386-freebsd/texlinks335
-rwxr-xr-xMaster/bin/i386-kfreebsd/fmtutil1017
-rwxr-xr-xMaster/bin/i386-kfreebsd/fmtutil-sys29
-rwxr-xr-xMaster/bin/i386-kfreebsd/texconfig1432
-rwxr-xr-xMaster/bin/i386-kfreebsd/texconfig-dialog486
-rwxr-xr-xMaster/bin/i386-kfreebsd/texconfig-sys31
-rwxr-xr-xMaster/bin/i386-kfreebsd/texlinks335
-rwxr-xr-xMaster/bin/i386-linux/fmtutil1017
-rwxr-xr-xMaster/bin/i386-linux/fmtutil-sys29
-rwxr-xr-xMaster/bin/i386-linux/texconfig1432
-rwxr-xr-xMaster/bin/i386-linux/texconfig-dialog486
-rwxr-xr-xMaster/bin/i386-linux/texconfig-sys31
-rwxr-xr-xMaster/bin/i386-linux/texlinks335
-rwxr-xr-xMaster/bin/i386-solaris/fmtutil1017
-rwxr-xr-xMaster/bin/i386-solaris/fmtutil-sys29
-rwxr-xr-xMaster/bin/i386-solaris/texconfig1432
-rwxr-xr-xMaster/bin/i386-solaris/texconfig-dialog486
-rwxr-xr-xMaster/bin/i386-solaris/texconfig-sys31
-rwxr-xr-xMaster/bin/i386-solaris/texlinks335
-rwxr-xr-xMaster/bin/mipsel-linux/fmtutil1017
-rwxr-xr-xMaster/bin/mipsel-linux/fmtutil-sys29
-rwxr-xr-xMaster/bin/mipsel-linux/texconfig1432
-rwxr-xr-xMaster/bin/mipsel-linux/texconfig-dialog486
-rwxr-xr-xMaster/bin/mipsel-linux/texconfig-sys31
-rwxr-xr-xMaster/bin/mipsel-linux/texlinks335
-rwxr-xr-xMaster/bin/powerpc-aix/fmtutil1017
-rwxr-xr-xMaster/bin/powerpc-aix/fmtutil-sys29
-rwxr-xr-xMaster/bin/powerpc-aix/texconfig1432
-rwxr-xr-xMaster/bin/powerpc-aix/texconfig-dialog486
-rwxr-xr-xMaster/bin/powerpc-aix/texconfig-sys31
-rwxr-xr-xMaster/bin/powerpc-aix/texlinks335
-rwxr-xr-xMaster/bin/powerpc-linux/fmtutil1017
-rwxr-xr-xMaster/bin/powerpc-linux/fmtutil-sys29
-rwxr-xr-xMaster/bin/powerpc-linux/texconfig1432
-rwxr-xr-xMaster/bin/powerpc-linux/texconfig-dialog486
-rwxr-xr-xMaster/bin/powerpc-linux/texconfig-sys31
-rwxr-xr-xMaster/bin/powerpc-linux/texlinks335
-rwxr-xr-xMaster/bin/sparc-solaris/fmtutil1017
-rwxr-xr-xMaster/bin/sparc-solaris/fmtutil-sys29
-rwxr-xr-xMaster/bin/sparc-solaris/texconfig1432
-rwxr-xr-xMaster/bin/sparc-solaris/texconfig-dialog486
-rwxr-xr-xMaster/bin/sparc-solaris/texconfig-sys31
-rwxr-xr-xMaster/bin/sparc-solaris/texlinks335
-rwxr-xr-xMaster/bin/universal-darwin/fmtutil1017
-rwxr-xr-xMaster/bin/universal-darwin/fmtutil-sys29
-rwxr-xr-xMaster/bin/universal-darwin/texconfig1432
-rwxr-xr-xMaster/bin/universal-darwin/texconfig-dialog486
-rwxr-xr-xMaster/bin/universal-darwin/texconfig-sys31
-rwxr-xr-xMaster/bin/universal-darwin/texlinks335
-rwxr-xr-xMaster/bin/x86_64-darwin/fmtutil1017
-rwxr-xr-xMaster/bin/x86_64-darwin/fmtutil-sys29
-rwxr-xr-xMaster/bin/x86_64-darwin/texconfig1432
-rwxr-xr-xMaster/bin/x86_64-darwin/texconfig-dialog486
-rwxr-xr-xMaster/bin/x86_64-darwin/texconfig-sys31
-rwxr-xr-xMaster/bin/x86_64-darwin/texlinks335
-rwxr-xr-xMaster/bin/x86_64-linux/fmtutil1017
-rwxr-xr-xMaster/bin/x86_64-linux/fmtutil-sys29
-rwxr-xr-xMaster/bin/x86_64-linux/texconfig1432
-rwxr-xr-xMaster/bin/x86_64-linux/texconfig-dialog486
-rwxr-xr-xMaster/bin/x86_64-linux/texconfig-sys31
-rwxr-xr-xMaster/bin/x86_64-linux/texlinks335
-rwxr-xr-xMaster/bin/x86_64-solaris/fmtutil1017
-rwxr-xr-xMaster/bin/x86_64-solaris/fmtutil-sys29
-rwxr-xr-xMaster/bin/x86_64-solaris/texconfig1432
-rwxr-xr-xMaster/bin/x86_64-solaris/texconfig-dialog486
-rwxr-xr-xMaster/bin/x86_64-solaris/texconfig-sys31
-rwxr-xr-xMaster/bin/x86_64-solaris/texlinks335
-rwxr-xr-xMaster/texmf/scripts/tetex/fmtutil-sys.sh (renamed from Master/bin/alpha-linux/fmtutil-sys)0
-rwxr-xr-xMaster/texmf/scripts/tetex/fmtutil.sh (renamed from Master/bin/alpha-linux/fmtutil)0
-rwxr-xr-xMaster/texmf/scripts/tetex/texconfig-dialog.sh (renamed from Master/bin/alpha-linux/texconfig-dialog)0
-rwxr-xr-xMaster/texmf/scripts/tetex/texconfig-sys.sh (renamed from Master/bin/alpha-linux/texconfig-sys)0
-rwxr-xr-xMaster/texmf/scripts/tetex/texconfig.sh (renamed from Master/bin/alpha-linux/texconfig)0
-rwxr-xr-xMaster/texmf/scripts/tetex/texlinks.sh (renamed from Master/bin/alpha-linux/texlinks)0
-rw-r--r--Master/tlpkg/tlpsrc/tetex.tlpsrc5
-rw-r--r--Master/tlpkg/tlpsrc/texconfig.tlpsrc1
104 files changed, 6 insertions, 53280 deletions
diff --git a/Master/bin/amd64-freebsd/fmtutil b/Master/bin/amd64-freebsd/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/amd64-freebsd/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/amd64-freebsd/fmtutil-sys b/Master/bin/amd64-freebsd/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/amd64-freebsd/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/amd64-freebsd/texconfig b/Master/bin/amd64-freebsd/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/amd64-freebsd/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/amd64-freebsd/texconfig-dialog b/Master/bin/amd64-freebsd/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/amd64-freebsd/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/amd64-freebsd/texconfig-sys b/Master/bin/amd64-freebsd/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/amd64-freebsd/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/amd64-freebsd/texlinks b/Master/bin/amd64-freebsd/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/amd64-freebsd/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/amd64-kfreebsd/fmtutil b/Master/bin/amd64-kfreebsd/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/amd64-kfreebsd/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/amd64-kfreebsd/fmtutil-sys b/Master/bin/amd64-kfreebsd/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/amd64-kfreebsd/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/amd64-kfreebsd/texconfig b/Master/bin/amd64-kfreebsd/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/amd64-kfreebsd/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/amd64-kfreebsd/texconfig-dialog b/Master/bin/amd64-kfreebsd/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/amd64-kfreebsd/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/amd64-kfreebsd/texconfig-sys b/Master/bin/amd64-kfreebsd/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/amd64-kfreebsd/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/amd64-kfreebsd/texlinks b/Master/bin/amd64-kfreebsd/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/amd64-kfreebsd/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/armel-linux/fmtutil b/Master/bin/armel-linux/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/armel-linux/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/armel-linux/fmtutil-sys b/Master/bin/armel-linux/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/armel-linux/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/armel-linux/texconfig b/Master/bin/armel-linux/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/armel-linux/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/armel-linux/texconfig-dialog b/Master/bin/armel-linux/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/armel-linux/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/armel-linux/texconfig-sys b/Master/bin/armel-linux/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/armel-linux/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/armel-linux/texlinks b/Master/bin/armel-linux/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/armel-linux/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/i386-cygwin/fmtutil b/Master/bin/i386-cygwin/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/i386-cygwin/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/i386-cygwin/fmtutil-sys b/Master/bin/i386-cygwin/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/i386-cygwin/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/i386-cygwin/texconfig b/Master/bin/i386-cygwin/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/i386-cygwin/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/i386-cygwin/texconfig-dialog b/Master/bin/i386-cygwin/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/i386-cygwin/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/i386-cygwin/texconfig-sys b/Master/bin/i386-cygwin/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/i386-cygwin/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/i386-cygwin/texlinks b/Master/bin/i386-cygwin/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/i386-cygwin/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/i386-freebsd/fmtutil b/Master/bin/i386-freebsd/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/i386-freebsd/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/i386-freebsd/fmtutil-sys b/Master/bin/i386-freebsd/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/i386-freebsd/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/i386-freebsd/texconfig b/Master/bin/i386-freebsd/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/i386-freebsd/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/i386-freebsd/texconfig-dialog b/Master/bin/i386-freebsd/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/i386-freebsd/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/i386-freebsd/texconfig-sys b/Master/bin/i386-freebsd/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/i386-freebsd/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/i386-freebsd/texlinks b/Master/bin/i386-freebsd/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/i386-freebsd/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/i386-kfreebsd/fmtutil b/Master/bin/i386-kfreebsd/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/i386-kfreebsd/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/i386-kfreebsd/fmtutil-sys b/Master/bin/i386-kfreebsd/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/i386-kfreebsd/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/i386-kfreebsd/texconfig b/Master/bin/i386-kfreebsd/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/i386-kfreebsd/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/i386-kfreebsd/texconfig-dialog b/Master/bin/i386-kfreebsd/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/i386-kfreebsd/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/i386-kfreebsd/texconfig-sys b/Master/bin/i386-kfreebsd/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/i386-kfreebsd/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/i386-kfreebsd/texlinks b/Master/bin/i386-kfreebsd/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/i386-kfreebsd/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/i386-linux/fmtutil b/Master/bin/i386-linux/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/i386-linux/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/i386-linux/fmtutil-sys b/Master/bin/i386-linux/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/i386-linux/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/i386-linux/texconfig b/Master/bin/i386-linux/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/i386-linux/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/i386-linux/texconfig-dialog b/Master/bin/i386-linux/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/i386-linux/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/i386-linux/texconfig-sys b/Master/bin/i386-linux/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/i386-linux/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/i386-linux/texlinks b/Master/bin/i386-linux/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/i386-linux/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/i386-solaris/fmtutil b/Master/bin/i386-solaris/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/i386-solaris/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/i386-solaris/fmtutil-sys b/Master/bin/i386-solaris/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/i386-solaris/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/i386-solaris/texconfig b/Master/bin/i386-solaris/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/i386-solaris/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/i386-solaris/texconfig-dialog b/Master/bin/i386-solaris/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/i386-solaris/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/i386-solaris/texconfig-sys b/Master/bin/i386-solaris/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/i386-solaris/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/i386-solaris/texlinks b/Master/bin/i386-solaris/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/i386-solaris/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/mipsel-linux/fmtutil b/Master/bin/mipsel-linux/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/mipsel-linux/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/mipsel-linux/fmtutil-sys b/Master/bin/mipsel-linux/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/mipsel-linux/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/mipsel-linux/texconfig b/Master/bin/mipsel-linux/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/mipsel-linux/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/mipsel-linux/texconfig-dialog b/Master/bin/mipsel-linux/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/mipsel-linux/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/mipsel-linux/texconfig-sys b/Master/bin/mipsel-linux/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/mipsel-linux/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/mipsel-linux/texlinks b/Master/bin/mipsel-linux/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/mipsel-linux/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/powerpc-aix/fmtutil b/Master/bin/powerpc-aix/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/powerpc-aix/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/powerpc-aix/fmtutil-sys b/Master/bin/powerpc-aix/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/powerpc-aix/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/powerpc-aix/texconfig b/Master/bin/powerpc-aix/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/powerpc-aix/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/powerpc-aix/texconfig-dialog b/Master/bin/powerpc-aix/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/powerpc-aix/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/powerpc-aix/texconfig-sys b/Master/bin/powerpc-aix/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/powerpc-aix/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/powerpc-aix/texlinks b/Master/bin/powerpc-aix/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/powerpc-aix/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/powerpc-linux/fmtutil b/Master/bin/powerpc-linux/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/powerpc-linux/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/powerpc-linux/fmtutil-sys b/Master/bin/powerpc-linux/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/powerpc-linux/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/powerpc-linux/texconfig b/Master/bin/powerpc-linux/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/powerpc-linux/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/powerpc-linux/texconfig-dialog b/Master/bin/powerpc-linux/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/powerpc-linux/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/powerpc-linux/texconfig-sys b/Master/bin/powerpc-linux/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/powerpc-linux/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/powerpc-linux/texlinks b/Master/bin/powerpc-linux/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/powerpc-linux/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/sparc-solaris/fmtutil b/Master/bin/sparc-solaris/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/sparc-solaris/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/sparc-solaris/fmtutil-sys b/Master/bin/sparc-solaris/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/sparc-solaris/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/sparc-solaris/texconfig b/Master/bin/sparc-solaris/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/sparc-solaris/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/sparc-solaris/texconfig-dialog b/Master/bin/sparc-solaris/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/sparc-solaris/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/sparc-solaris/texconfig-sys b/Master/bin/sparc-solaris/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/sparc-solaris/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/sparc-solaris/texlinks b/Master/bin/sparc-solaris/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/sparc-solaris/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/universal-darwin/fmtutil b/Master/bin/universal-darwin/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/universal-darwin/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/universal-darwin/fmtutil-sys b/Master/bin/universal-darwin/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/universal-darwin/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/universal-darwin/texconfig b/Master/bin/universal-darwin/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/universal-darwin/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/universal-darwin/texconfig-dialog b/Master/bin/universal-darwin/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/universal-darwin/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/universal-darwin/texconfig-sys b/Master/bin/universal-darwin/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/universal-darwin/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/universal-darwin/texlinks b/Master/bin/universal-darwin/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/universal-darwin/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/x86_64-darwin/fmtutil b/Master/bin/x86_64-darwin/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/x86_64-darwin/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/x86_64-darwin/fmtutil-sys b/Master/bin/x86_64-darwin/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/x86_64-darwin/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/x86_64-darwin/texconfig b/Master/bin/x86_64-darwin/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/x86_64-darwin/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/x86_64-darwin/texconfig-dialog b/Master/bin/x86_64-darwin/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/x86_64-darwin/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/x86_64-darwin/texconfig-sys b/Master/bin/x86_64-darwin/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/x86_64-darwin/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/x86_64-darwin/texlinks b/Master/bin/x86_64-darwin/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/x86_64-darwin/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/x86_64-linux/fmtutil b/Master/bin/x86_64-linux/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/x86_64-linux/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/x86_64-linux/fmtutil-sys b/Master/bin/x86_64-linux/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/x86_64-linux/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/x86_64-linux/texconfig b/Master/bin/x86_64-linux/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/x86_64-linux/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/x86_64-linux/texconfig-dialog b/Master/bin/x86_64-linux/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/x86_64-linux/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/x86_64-linux/texconfig-sys b/Master/bin/x86_64-linux/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/x86_64-linux/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/x86_64-linux/texlinks b/Master/bin/x86_64-linux/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/x86_64-linux/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/x86_64-solaris/fmtutil b/Master/bin/x86_64-solaris/fmtutil
deleted file mode 100755
index 06ef11380b4..00000000000
--- a/Master/bin/x86_64-solaris/fmtutil
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-# fmtutil - utility to maintain format files.
-# Public domain. Originally written by Thomas Esser.
-# Run with --help for usage.
-
-# program history:
-# further changes in texk/tetex/ChangeLog.
-# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
-# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
-# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
-# So Ma 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement
-# Di Jan 11 11:42:36 CET 2005 fix --byhyphen with relative hyphenfile
-# Fr Dez 31 16:51:29 CET 2004 option catcfg added (for being called by texconfig)
-# Do Dez 30 21:53:27 CET 2004 rename variable verbose to verboseFlag
-# Sa Dez 25 12:44:23 CET 2004 implementation adopted for teTeX-3.0 (tcfmgr)
-# Do Okt 28 11:09:36 CEST 2004 added --refresh
-# Fr Sep 17 19:25:28 CEST 2004 save $0 in a variable before calling a function
-# Sun May 9 23:24:06 CEST 2004 changes for new web2c: format names
-# are now *.fmt, nothing else, disable
-# "plain" symlinks
-# Thu May 6 14:16:19 CEST 2004: "mv ...</dev/null" to avoid interaction.
-# Sun Mar 21 19:44:36 CET 2004: support aleph
-# Thu Dec 25 22:11:53 CET 2003: add version string
-# Thu Dec 25 12:56:14 CET 2003: new listcfg_loop lists only supported formats
-# Sun Dec 21 10:25:37 CET 2003 "mktexfmt pdflatex" did not work (if called
-# as mktexfmt, an extention was mandatory)
-# Mon Sep 15 13:07:31 CEST 2003 add tmpdir to TEXINPUTS
-# Sun Aug 3 11:09:46 CEST 2003 special case for mptopdf
-# Sun Apr 20 10:27:09 CEST 2003 allow " " as well as tab in config file
-# Wed Feb 19 21:14:52 CET 2003 add eomega support
-# Sat Feb 15 22:01:35 CET 2003 let mf-nowin work without mf
-# Wed Dec 25 09:47:44 CET 2002 bugfix for localized pool files
-# Fri Oct 25 02:29:06 CEST 2002: now more careful about find_hyphenfile()
-# Tue Oct 22 22:46:48 CEST 2002: -jobname, oft extension
-# Fri Oct 4 22:33:17 CEST 2002: add more cli stuff: enablefmt
-# disablefmt listcfg
-# Sun Jul 7 21:28:37 CEST 2002: look at log file for possible problems,
-# and issue a warning
-# Tue Jun 4 21:52:57 CEST 2002: trap / cleanup code from updmap
-# Tue Jun 4 19:32:44 CEST 2002: be smarter about stdout / stderr
-# Tue Apr 9 22:46:34 CEST 2002: pass -progname=mpost for metafun
-# Tue Apr 2 00:37:39 CEST 2002: added mktexfmt functionality
-# Tue Jun 5 14:45:57 CEST 2001: added support for mf / mpost
-###############################################################################
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-progname=fmtutil
-argv0=$0
-version='$Id: fmtutil 25899 2012-04-09 23:09:26Z karl $'
-
-cnf=fmtutil.cnf # name of the config file
-export PATH
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- # for debugging, exit $rc here so $tmpdir with its logs sticks around.
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# help() and version()
-# display help (or version) message and exit
-###############################################################################
-help()
-{
- cat <<eof
-$version
-Usage: fmtutil [OPTION]... CMD [ARG]...
-Usage: mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT
-
-Rebuild and manage TeX formats, Metafont bases and MetaPost mems.
-
-If the command name ends in mktexfmt, only one format can be created.
-The only options supported are --help and --version, and the command
-line must consist of either a format name, with its extension, or a
-plain name that is passed as the argument to --byfmt (see below). The
-full name of the generated file (if any) is written to stdout, and
-nothing else.
-
-If not operating in mktexfmt mode, the command line can be more general,
-and multiple formats can be generated, as follows.
-
-Optional behavior:
- --cnffile FILE read FILE instead of fmtutil.cnf.
- --fmtdir DIRECTORY
- --no-engine-subdir don't use engine-specific subdir of the fmtdir
- --no-error-if-no-format exit successfully if no format is selected
- --quiet be silent
- --test (not implemented, just for compatibility)
- --dolinks (not implemented, just for compatibility)
- --force (not implemented, just for compatibility)
-
-Valid commands for fmtutil:
- --all recreate all format files
- --missing create all missing format files
- --refresh recreate only existing format files
- --byengine ENGINENAME (re)create formats using ENGINENAME
- --byfmt FORMATNAME (re)create format for FORMATNAME
- --byhyphen HYPHENFILE (re)create formats that depend on HYPHENFILE
- --enablefmt FORMATNAME enable formatname in config file
- --disablefmt FORMATNAME disable formatname in config file
- --listcfg list (enabled and disabled) configurations,
- filtered to available formats
- --catcfg output the content of the config file
- --showhyphen FORMATNAME print name of hyphenfile for format FORMATNAME
- --edit no-op in TeX Live
- --version show version info
- --help show this message
-
-The default config file is named fmtutil.cnf, and
-running kpsewhich fmtutil.cnf should show the active file.
-The command kpsewhich --engine=/ --all foo.fmt should show the
-locations of any and all foo.fmt files.
-
-For more information about fmt generation in TeX Live, try
-tlmgr --help or see http://tug.org/texlive/doc/tlmgr.html.
-The \`generate' action in tlmgr does the work.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-eof
- cleanup 0
-}
-
-versionfunc()
-{
- cat <<eof
-$progname version $version
-eof
- cleanup 0
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# configReplace(file, pattern, line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-###############################################################################
-configReplace()
-{
- file=$1; pat=$2; line=$3
-
- if grep "$pat" "$file" >/dev/null; then
- ed "$file" >/dev/null 2>&1 <<-eof
- /$pat/
- c
- $line
- .
- w
- q
-eof
- else
- echo "$line" >> $file
- fi
-}
-
-###############################################################################
-# setmatch(match)
-# setting the "match state" to true or false. Used to see if there was at
-# least one match.
-###############################################################################
-setmatch()
-{
- match=$1
-}
-
-###############################################################################
-# getmatch()
-# return success if there was at least one match.
-###############################################################################
-getmatch()
-{
- test "x$match" = xtrue
-}
-
-###############################################################################
-# initTexmfMain()
-# get $MT_TEXMFMAIN from $TEXMFMAIN
-###############################################################################
-initTexmfMain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich --var-value=TEXMFMAIN`;;
- esac
- export MT_TEXMFMAIN
-}
-
-###############################################################################
-# cache_vars()
-# locate files / kpathsea variables and export variables to environment
-# this speeds up future calls to e.g. mktexupd
-###############################################################################
-cache_vars()
-{
- : ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
- : ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
- : ${MT_MKTEXNAM_OPT=`kpsewhich --format='web2c files' mktexnam.opt`}
- : ${MT_MKTEXDIR=`kpsewhich --format='web2c files' mktexdir`}
- : ${MT_MKTEXDIR_OPT=`kpsewhich --format='web2c files' mktexdir.opt`}
- : ${MT_MKTEXUPD=`kpsewhich --format='web2c files' mktexupd`}
- : ${MT_MKTEX_CNF=`kpsewhich --format='web2c files' mktex.cnf`}
- : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
- export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
- export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# maybe_abort(errmsg)
-# print `errmsg' to stderr and
-# unless noAbortFlag is set exit with error code 1
-###############################################################################
-maybe_abort()
-{
- echo "$progname: $1." >&2
- $noAbortFlag || cleanup 1
-}
-
-###############################################################################
-# verboseMsg(msg)
-# print `msg' to stderr is $verbose is true
-###############################################################################
-verboseMsg() {
- $verboseFlag && verbose echo ${1+"$@"}
-}
-
-###############################################################################
-# byebye()
-# report any failures and exit the program
-###############################################################################
-byebye()
-{
- if $has_warnings; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Warning! Some warnings have been issued.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`warning' messages:
-$log_warning_msg
-eof
- } >&2
- fi
-
- if $has_errors; then
- {
- cat <<eof
-
-###############################################################################
-$progname: Error! Not all formats have been built successfully.
-Visit the log files in directory
- $destdir
-for details.
-###############################################################################
-
-This is a summary of all \`failed' messages:
-$log_failure_msg
-eof
- } >&2
- cleanup 1
- else
- cleanup 0
- fi
-}
-
-###############################################################################
-# init_log_warning()
-# reset the list of warning messages
-###############################################################################
-init_log_warning()
-{
- log_warning_msg=
- has_warnings=false
-}
-
-###############################################################################
-# init_log_failure()
-# reset the list of failure messages
-###############################################################################
-init_log_failure()
-{
- log_failure_msg=
- has_errors=false
-}
-
-###############################################################################
-# log_warning(errmsg)
-# report and save warning message `errmsg'
-###############################################################################
-log_warning()
-{
- echo "Warning: $@" >&2
- if test -z "$log_warning_msg"; then
- log_warning_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_warning_msg="$log_warning_msg
-$@"
- IFS=$OLDIFS
- fi
- has_warnings=true
-}
-
-###############################################################################
-# log_failure(errmsg)
-# report and save failure message `errmsg'
-###############################################################################
-log_failure()
-{
- echo "Error: $@" >&2
- if test -z "$log_failure_msg"; then
- log_failure_msg="$@"
- else
- OLDIFS=$IFS; IFS=
- log_failure_msg="$log_failure_msg
-$@"
- IFS=$OLDIFS
- fi
- has_errors=true
-}
-
-###############################################################################
-# verbose (cmd)
-# execute cmd. Redirect output depending on $mktexfmtMode.
-###############################################################################
-verbose()
-{
- $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- initTexmfMain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args)
-# call tcfmgr script
-###############################################################################
-tcfmgr()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args)
-# call mktexupd script
-###############################################################################
-mktexupd()
-{
- initTexmfMain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- destdir= # global variable: where do we put the format files?
- cnf_file= # global variable: full name of the config file
- cmd= # desired action from command line
- needsCleanup=false
- need_find_hyphenfile=false
- cfgparam=
- cfgmaint=
- verboseFlag=true
- noAbortFlag=false
- # eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
-
- # mktexfmtMode: if called as mktexfmt, set to true. Will echo the
- # first generated filename after successful generation to stdout then
- # (and nothing else), since kpathsea can only deal with one.
- mktexfmtMode=false
- case $argv0 in
- mktexfmt|*/mktexfmt)
- mktexfmtMode=true
- fullfmt=$1; shift
- case $fullfmt in
- ""|--help) help ;;
- --version) versionfunc ;;
- --*) abort "unknown option $fullfmt, try --help" ;;
- *.fmt|*.mem|*.base)
- set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}
- shift
- ;;
- *.*) abort "unknown format type: $fullfmt" ;;
- *) set x --byfmt $fullfmt; shift ;;
- esac
- ;;
- esac
-
- use_engine_dir=true # whether to use web2c/$engine subdirs
- while
- case $1 in
- --cnffile)
- shift; cnf_file=$1; cfgparam=1;;
- --cnffile=*)
- cnf_file=`echo "$1" | sed 's/--cnffile=//'`; cfgparam=1; shift ;;
- --fmtdir)
- shift; destdir=$1;;
- --fmtdir=*)
- destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
- --no-engine-subdir)
- use_engine_dir=false;;
- --all|-a)
- cmd=all;;
- --edit|-e)
- cmd=edit; cfgmaint=1;;
- --missing|-m)
- cmd=missing;;
- --refresh|-r)
- cmd=refresh;;
- --byengine)
- shift; cmd=byengine; arg=$1;;
- --byengine=*)
- cmd=byengine; arg=`echo "$1" | sed 's/--byengine=//'`; shift ;;
- --byfmt|-f)
- shift; cmd=byfmt; arg=$1;;
- --byfmt=*)
- cmd=byfmt; arg=`echo "$1" | sed 's/--byfmt=//'`; shift ;;
- --byhyphen|-h)
- shift; cmd=byhyphen; arg=$1;;
- --byhyphen=*)
- cmd=byhyphen; arg=`echo "$1" | sed 's/--byhyphen=//'`; shift ;;
- --showhyphen|-s)
- shift; cmd=showhyphen; arg=$1;;
- --showhyphen=*)
- cmd=showhyphen; arg=`echo "$1" | sed 's/--showhyphen=//'`; shift ;;
- --help|-help)
- cmd=help;;
- --version)
- cmd=version;;
- --enablefmt)
- shift; cmd=enablefmt; arg=$1; cfgmaint=1;;
- --enablefmt=*)
- cmd=enablefmt; arg=`echo "$1" | sed 's/--enablefmt=//'`; cfgmaint=1; shift;;
- --disablefmt)
- shift; cmd=disablefmt; arg=$1; cfgmaint=1;;
- --disablefmt=*)
- cmd=disablefmt; arg=`echo "$1" | sed 's/--disablefmt=//'`; cfgmaint=1; shift;;
- --catcfg)
- cmd=catcfg;;
- --listcfg)
- cmd=listcfg;;
- --no-error-if-no-format)
- noAbortFlag=true;;
- --quiet|-q|--silent)
- verboseFlag=false;;
- --test|--dolinks|--force)
- ;;
- "") break;;
- *) abort "unknown option \`$1'; try $progname --help if you need it";;
- esac
- do test $# -gt 0 && shift; done
-
- case "$cmd" in
- "") abort "missing command; try $progname --help if you need it";;
- help) help;;
- version) versionfunc;;
- esac
-
- if test -n "$cfgparam"; then
- test -f "$cnf_file" || abort "config file \`$cnf_file' not found (ls-R missing?)"
- fi
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $cnf`
- test $? = 0 || cleanup 1
- set x $co; shift
- id=$1; cnf_file=$3; orig=$4
- verboseMsg "$progname: initial config file is \`$orig'"
- fi
- else
- if test -z "$cfgparam"; then
- cnf_file=`tcfmgr --cmd find --file $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
- fi
- fi
-
- # these commands need no temp directory, so do them here:
- case "$cmd" in
- catcfg)
- grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
- cleanup $? ;;
- edit)
- echo "$0: fmtutil --edit is disabled in TeX Live;" >&2
- echo "$0: use a file fmtutil-local.cnf instead." >&2
- echo "$0: See tlmgr --help or http://tug.org/texlive/doc/tlmgr.html." >&2
- cleanup 0 ;;
- enablefmt|disablefmt)
- $cmd $arg ;; # does not return
- listcfg)
- listcfg_loop
- cleanup $? ;;
- showhyphen)
- show_hyphen_file "$arg"
- cleanup $? ;;
- esac
-
- if test -n "$cfgmaint"; then
- if test -z "$cfgparam"; then
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id`
- if test $? = 0; then
- if test -n "$ci"; then
- verboseMsg "$progname: configuration file updated: \`$ci'"
- else
- verboseMsg "$progname: configuration file unchanged."
- fi
- else
- abort "failed to update configuration file."
- fi
- fi
- cleanup $?
- fi
-
- # set up destdir:
- if test -z "$destdir"; then
- : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
- destdir=$MT_TEXMFVAR/web2c
- fi
- test -d "$destdir" || mktexdir "$destdir" >/dev/null 2>&1
- test -d "$destdir" || abort "format directory \`$destdir' does not exist"
- test -w "$destdir" || abort "format directory \`$destdir' is not writable"
-
- thisdir=`pwd`
-
- : ${KPSE_DOT=$thisdir}
- export KPSE_DOT
-
- # due to KPSE_DOT, we don't search the current directory, so include
- # it explicitly for formats that \write and later on \read
- TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS
- # for formats that load other formats (e.g., jadetex loads latex.fmt),
- # add the current directory to TEXFORMATS, too. Currently unnecessary
- # for MFBASES and MPMEMS.
- TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS
-
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- # make local paths absolute:
- case "$destdir" in
- /*) ;;
- *) destdir="$thisdir/$destdir";;
- esac
- case "$cnf_file" in
- /*) ;;
- *) cnf_file="$thisdir/$cnf_file";;
- esac
-
- cache_vars
- init_log_failure
- init_log_warning
- # execute the desired command:
- case "$cmd" in
- all)
- recreate_all;;
- missing)
- create_missing;;
- refresh)
- recreate_existing;;
- byengine)
- recreate_by_engine "$arg";;
- byfmt)
- recreate_by_fmt "$arg";;
- byhyphen)
- recreate_by_hyphenfile "$arg";;
- esac
-
- byebye
-}
-
-###############################################################################
-# parse_line(config_line) sets global variables:
-# format: name of the format, e.g. pdflatex
-# engine: name of the TeX engine, e.g. tex, etex, pdftex
-# texargs: flags for initex and name of the ini file (e.g. -mltex frlatex.ini)
-# fmtfile: name of the format file (without directory, but with extension)
-#
-# Support for building internationalized formats sets:
-# pool: base name of pool file (to support translated pool files)
-# tcx: translation file used when creating the format
-#
-# Example (for fmtutil.cnf):
-# mex-pl tex mexconf.tex nls=tex-pl,il2-pl mex.ini
-#
-# The nls parameter (pool,tcx) can only be specified as the first argument
-# inside the 4th field in fmtutil.cnf.
-#
-# exit code: returns error code if the ini file is not installed
-###############################################################################
-parse_line()
-{
- case $1 in
- '#!') disabled=true; shift;;
- *) disabled=false;;
- esac
- format=$1
- engine=$2
- hyphenation=$3
- shift; shift; shift
-
- # handle nls support: pool + tcx
- pool=; tcx=
- case $1 in
- nls=*)
- pool=`echo $1 | sed 's@nls=@@; s@,.*@@'`
- tcx=`echo $1 | sed 's@nls=[^,]*@@; s@^,@@'`
- shift # nls stuff is not handled by the engine directly,
- # so we shift this away
- ;;
- esac
-
- texargs="$@"
-
- case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
- *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
- esac
-
- # remove any * for the sake of the kpsewhich lookup.
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
- # See if we can find $inifile for return code:
- kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
-}
-
-###############################################################################
-# find_hyphenfile(format, hyphenation) searches for hyphenation along
-# searchpath of format
-# exit code: returns error is file is not found
-###############################################################################
-find_hyphenfile()
-{
- format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
- case $hyphenation in
- -) ;;
- *) kpsewhich -progname="$format" -format=tex $hyphenation;;
- esac
-}
-
-###############################################################################
-# find_info_for_name(format)
-# Look up the config line for format `format' and call parse_line to set
-# global variables.
-###############################################################################
-find_info_for_name()
-{
- format="$1"
-
- # set x `awk '$1 == format {print; exit}' format="$format" "$cnf_file"`; shift
- set x `egrep "^$format( | )" "$cnf_file" | sed q`; shift
- test $# = 0 && abort "no info for format \`$format'"
- parse_line "$@"
-}
-
-###############################################################################
-# run_initex()
-# Calls initex. Assumes that global variables are set by parse_line.
-###############################################################################
-run_initex()
-{
-
- # install a pool file and set tcx flag if requested in lang= option:
- rm -f *.pool
- poolfile=
- tcxflag=
- test -n "$pool" \
- && poolfile=`(kpsewhich -progname=$engine $pool.pool) 2>/dev/null`
- if test -n "$poolfile" && test -f "$poolfile"; then
- verboseMsg "$progname: attempting to create localized format using pool=$pool and tcx=$tcx."
- cp "$poolfile" $engine.pool
- test -n "$tcx" && tcxflag=-translate-file=$tcx
- localpool=true
- else
- localpool=false
- fi
-
- jobswitch="-jobname=$format"
- case "$format" in
- metafun) prgswitch=-progname=mpost;;
- mptopdf|cont-??) prgswitch=-progname=context;;
- *) prgswitch=-progname=$format;;
- esac
-
- rm -f $fmtfile
-
- # Check for infinite recursion before running the iniTeX:
- # We do this check only if we are running in mktexfmt mode
- # otherwise double format definitions will create an infinite loop, too
- $mktexfmtMode || mktexfmt_loop=
- case :$mktexfmt_loop: in
- *:"$format/$engine":*)
- abort "Infinite recursion detected, giving up!" ;;
- esac
- mktexfmt_loop=$mktexfmt_loop:$format/$engine
- export mktexfmt_loop
-
- verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
-
- # run in a subshell to get a local effect of TEXPOOL manipulation:
- (
- # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
- $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
- ) </dev/null
-
- if test $use_engine_dir; then
- fulldestdir="$destdir/$texengine"
- else
- fulldestdir="$destdir"
- fi
- mkdir -p "$fulldestdir"
- if test -f "$fmtfile"; then
- grep '^! ' $format.log >/dev/null 2>&1 &&
- log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
-
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
- #
- destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $destfile installed."
- #
- # As a special special case, we create mplib-luatex.mem for use by
- # the mplib embedded in luatex if it doesn't already exist. (We
- # never update it if it does exist.)
- #
- # This is used by the luamplib package. This way, an expert user
- # who wants to try a new version of luatex (hence with a new
- # version of mplib) can manually update mplib-luatex.mem without
- # having to tamper with mpost itself.
- #
- if test "x$format" = xmpost && test "x$engine" = xmpost; then
- mplib_mem_name=mplib-luatex.mem
- mplib_mem_file=$fulldestdir/$mplib_mem_name
- if test \! -f $mplib_mem_file; then
- verboseMsg "$progname: copying $destfile to $mplib_mem_file"
- if cp "$destfile" "$mplib_mem_file" </dev/null; then
- mktexupd "$fulldestdir" "$mplib_mem_name"
- else
- log_warning "cp $destfile $mplib_mem_file failed."
- fi
- else
- verboseMsg "$progname: $mplib_mem_file already exists, not updating."
- fi
- fi
- #
- # Echo the (main) output filename for our caller.
- $mktexfmtMode && $mktexfmtFirst \
- && echo "$destfile" && mktexfmtFirst=false
- #
- mktexupd "$fulldestdir" "$fmtfile"
- fi
- else
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
- fi
-}
-
-###############################################################################
-# recreate_loop()
-# for each line in config file: check match-condition and recreate format
-# if there is a match
-###############################################################################
-recreate_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line || continue
- check_match || continue
- run_initex
- done
-}
-
-###############################################################################
-# listcfg_loop()
-# prints all format definitions in config files (enabled and disabled ones)
-# for supported formats (i.e. for those which have an existing ini file)
-###############################################################################
-listcfg_loop()
-{
- OIFS=$IFS
- IFS='
-'
- set `echo x; sed '/^#$/d; /^#[^!]/d; /^[ ]*$/d' "$cnf_file"`; shift
- IFS=$OIFS
- for line
- do
- parse_line $line && echo "$line"
- done
-}
-
-###############################################################################
-# check_match()
-# recreate all formats
-###############################################################################
-check_match()
-{
- $need_find_hyphenfile && \
- this_hyphenfile="`find_hyphenfile "$format" "$hyphenation"`"
-
- eval $match_cmd && setmatch true
-}
-
-###############################################################################
-# recreate_by_fmt(fmtname)
-# recreate all versions of fmtname
-###############################################################################
-recreate_by_fmt()
-{
- fmtname=$1
- match_cmd="test x\$format = x$fmtname"
- recreate_loop
-}
-
-###############################################################################
-# create_missing()
-# create all missing format files
-###############################################################################
-create_missing()
-{
- # match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_existing()
-# recreate only existing format files
-###############################################################################
-recreate_existing()
-{
- match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
- recreate_loop
-}
-
-###############################################################################
-# recreate_all()
-# recreate all formats
-###############################################################################
-recreate_all()
-{
- match_cmd=true
- recreate_loop
-}
-
-###############################################################################
-# recreate_by_hyphenfile(hyphenfile)
-# recreate all formats that depend on hyphenfile
-###############################################################################
-recreate_by_hyphenfile()
-{
- hyphenfile=$1
-
- case $hyphenfile in
- /*)
- :
- ;;
- ./*)
- hyphenfile="$KPSE_DOT/"`echo "$hyphenfile" | sed 's@..@@'`
- ;;
- *)
- hyphenfile="$KPSE_DOT/$hyphenfile"
- ;;
- esac
- need_find_hyphenfile=true
- match_cmd="echo \"\$this_hyphenfile\" | grep $hyphenfile >/dev/null"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on hyphen file \`$hyphenfile'"
-}
-
-###############################################################################
-# recreate_by_engine(enginename)
-# recreate all formats that are based on enginename
-###############################################################################
-recreate_by_engine()
-{
- enginename=$1
-
- match_cmd="test x\$engine = x$enginename"
-
- # No match before the loop:
- setmatch false
-
- recreate_loop
-
- # Now check if there was at least one match:
- getmatch || maybe_abort "no format depends on engine \`$enginename'"
-}
-
-
-
-###############################################################################
-# show_hyphen_file(format)
-# prints full name of the hyphenfile for format
-#
-# exit code: returns error code if the ini file is not installed or if
-# the hyphen file cannot be found
-###############################################################################
-show_hyphen_file()
-{
- fmtname=$1
-
- find_info_for_name "$fmtname" || abort "no info for format \`$fmtname'"
- if test "x$hyphenation" = x-; then
- echo -
- cleanup 0
- fi
- find_hyphenfile "$format" "$hyphenation" \
- || abort "hyphenfile \`$hyphenation' not found"
-}
-
-###############################################################################
-# disablefmt(format)
-# disables format in configuration file
-###############################################################################
-disablefmt()
-{
- grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
-
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^$1[ ]/s/^/#! /
- w
- q
-eof
- (exit 0); return 0
-}
-
-###############################################################################
-# enablefmt(format)
-# enables format in configuration file
-###############################################################################
-enablefmt()
-{
- grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
- ed $cnf_file >/dev/null 2>&1 <<-eof
- g/^#![ ]*$1[ ]/s/..[ ]*//
- w
- q
-eof
- (exit 0); return 0
-}
-
-main ${1+"$@"}
-cleanup 0
diff --git a/Master/bin/x86_64-solaris/fmtutil-sys b/Master/bin/x86_64-solaris/fmtutil-sys
deleted file mode 100755
index bfb52f94e1f..00000000000
--- a/Master/bin/x86_64-solaris/fmtutil-sys
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# fmtutil-sys: Thomas Esser, public domain.
-
-# wrapper script for fmtutil with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-export PATH
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec fmtutil ${1+"$@"}
diff --git a/Master/bin/x86_64-solaris/texconfig b/Master/bin/x86_64-solaris/texconfig
deleted file mode 100755
index c9cc73c8305..00000000000
--- a/Master/bin/x86_64-solaris/texconfig
+++ /dev/null
@@ -1,1432 +0,0 @@
-#!/bin/sh
-
-# TeXConfig version 3.0
-# Originally written by Thomas Esser. Public domain.
-# Now maintained as part of TeX Live; correspondence to tex-live@tug.org.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# initializations...
-progname=texconfig
-
-# the version string
-version='$Id$'
-
-envVars="
- AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
- GLYPHFONTS INDEXSTYLE LIGFONTS MFBASES MFINPUTS MFPOOL MFTINPUTS
- MISCFONTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS OFMFONTS
- OPENTYPEFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PDFTEXCONFIG PKFONTS
- PSHEADERS SFDFONTS T1FONTS T1INPUTS T42FONTS TEXBIB TEXCONFIG TEXDOCS
- TEXFONTMAPS TEXFONTS TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF
- TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
- TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
-"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
-needsCleanup=false
-lastUpdatedFile=
-
-#
-###############################################################################
-# setupFMT(void) - find a suitable version of fmt / adjust
-#
-setupFMT()
-{
- case $FMT in
- "")
- FMT=fmt
- test ! -x /bin/fmt && test ! -f /usr/bin/fmt &&
- { test -x /bin/adjust || test -x /usr/bin/adjust; } && FMT=adjust
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# myFmt(args) - run $FMT
-#
-myFmt()
-{
- setupFMT
- $FMT ${1+"$@"}
-}
-
-###############################################################################
-# echoShowVariable(args ...)
-# show environment variables which names are as args and their values
-#
-echoShowVariable()
-{
- for esv
- do
- var=$esv
- eval val=\"\${$var+=}\${$var- is unset}\"
- echo "$var$val"
- done | grep -v 'is unset$'
-}
-
-###############################################################################
-# echoShowKpseVariable(args ...)
-# show kpathsea variables which names are as args and their values
-#
-echoShowKpseVariable()
-{
- for eskv
- do
- var=$eskv
- val=`kpsewhich -var-value="$eskv"`
- echo "$var=$val"
- done
-}
-
-###############################################################################
-# echoLocateBinary(args ...) - show where programs actually exist
-#
-echoLocateBinary()
-{
- for elb
- do
- elbLoc=`checkForBinary "$elb"`
- if test -n "$ELB_PATH_ONLY"; then
- test -n "$elbLoc" && echo "$elbLoc"
- else
- case $elbLoc in
- "") echo "$elb: not found";;
- *) echo "$elb: $elbLoc";;
- esac
- fi
- done
-}
-
-###############################################################################
-# echoLocateCfgfile(args ...) - show where files actually exist
-#
-echoLocateCfgfile()
-{
- for elc
- do
- case $elc in
- texmf.cnf) elcLoc=`kpsewhich $elc`;;
- *) elcLoc=`tcfmgr --cmd find --file "$elc"`;;
- esac
- case $elcLoc in
- "") echo "$elc: not found";;
- *) echo "$elcLoc";;
- esac
- done
-}
-
-###############################################################################
-# checkForBinary(prog) - echo full path of prog
-#
-checkForBinary()
-{
- cfbBinary=$1
-
- OLDIFS=$IFS
- IFS=:
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g'`; shift
- found=false
- for pathElem
- do
- case $pathElem in
- "") continue;;
- *) test -f "$pathElem/$cfbBinary" && { echo "$pathElem/$cfbBinary"; found=true; break; }
- esac
- done
- IFS=$OLDIFS
- case $found in
- true) (exit 0); return 0;;
- false) (exit 1); return 1;;
- esac
-}
-
-###############################################################################
-# cleanup() - clean up the temp area and exit with proper exit status
-#
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir() - set up a temp directory and a trap to remove it
-#
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFMAIN (with caching)
-#
-setupTexmfmain()
-{
- case $MT_TEXMFMAIN in
- "") MT_TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfmain() - get value for MT_TEXMFDIST (with caching)
-#
-setupTexmfdist()
-{
- case $MT_TEXMFDIST in
- "") MT_TEXMFDIST=`kpsewhich -var-value=TEXMFDIST`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupTexmfvar() - get value for MT_TEXMFVAR (with caching)
-#
-setupTexmfvar()
-{
- case $MT_TEXMVAR in
- "") MT_TEXMVAR=`kpsewhich -var-value=TEXMFVAR`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# setupSystexmf() - get value for MT_SYSTEXMF (with caching)
-#
-setupSystexmf()
-{
- case $MT_SYSTEXMF in
- "") MT_SYSTEXMF=`kpsewhich -var-value=SYSTEXMF`;;
- *) return;;
- esac
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-#
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-#
-mktexdir()
-{
- setupTexmfmain
- MT_FEATURES=none "$MT_TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# tcfmgr(args) - call tcfmgr script
-#
-tcfmgr()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/texconfig/tcfmgr" "$@"
-}
-
-###############################################################################
-# mktexupd(args) - call mktexupd script
-#
-mktexupd()
-{
- setupTexmfmain
- "$MT_TEXMFMAIN/web2c/mktexupd" "$@"
-}
-
-###############################################################################
-# getRelDir(file)
-# matches file against SYSTEXMF. Returns relative directory of file within
-# a texmf tree in variable relPart.
-#
-getRelDir()
-{
- file=$1
- relPart=
-
- setupSystexmf
- OLDIFS=$IFS
- IFS='
-'
- set x `echo "$MT_SYSTEXMF" | tr : '
-'`; shift
- IFS=$OLDIFS
-
- # now loop over all components of SYSTEXMF
- for dir
- do
- test -n "$dir" || continue
- case "$file" in
- $dir/*)
- relPart=`echo "$file" | sed "s%$dir/*%%"`
- break
- ;;
- esac
- done
-
- # now check for success / failure
- case $relPart in
- ""|$file)
- # empty or full filename -> getRelDir failed!
- (exit 1); return 1
- ;;
- *)
- # relPart should just have the "dirname" part:
- relPart=`echo "$relPart" | sed 's%/*[^/]*$%%'`
- (exit 0); return 0
- ;;
- esac
-}
-
-###############################################################################
-# configReplace(file pattern line)
-# The first line in file that matches pattern gets replaced by line.
-# line will be added at the end of the file if pattern does not match.
-#
-configReplace()
-{
- configReplaceFile=$1; configReplacePat=$2; configReplaceLine=$3
-
- if grep "$configReplacePat" "$configReplaceFile" >/dev/null; then
- ed "$configReplaceFile" >/dev/null 2>&1 <<-eof
- /$configReplacePat/c
- $configReplaceLine
- .
- w
- q
-eof
- else
- echo "$configReplaceLine" >> $configReplaceFile
- fi
-}
-
-###############################################################################
-# fmgrConfigReplace (file regex value)
-# replaces line matching regex by value in file
-#
-fmgrConfigReplace()
-{
- fmgrConfigReplaceChanged=false
-
- moreArgs=""
- while
- case $1 in
- --*) moreArgs="$moreArgs $1 $2";;
- *) break;;
- esac
- do shift; shift; done
- fmgrConfigReplaceFile=$1
- fmgrConfigReplaceRegex=$2
- fmgrConfigReplaceValue=$3
-
- setupTmpDir
- co=`tcfmgr $moreArgs --tmp $tmpdir --cmd co --file $fmgrConfigReplaceFile`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace co failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- fmgrConfigReplaceID=$1; fmgrConfigReplaceCfgFile=$3; fmgrConfigReplaceOrigFile=$4
- configReplace "$fmgrConfigReplaceCfgFile" "$fmgrConfigReplaceRegex" "$fmgrConfigReplaceValue"
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$fmgrConfigReplaceID"`
- if test $? != 0; then
- echo "$progname: fmgrConfigReplace ci failed for \`$fmgrConfigReplaceFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- fmgrConfigReplaceChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- fmgrConfigReplaceChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
-# setupModesMfFile(void) - find modes.mf file (with caching)
-#
-setupModesMfFile()
-{
- case $modesMfFile in
- "")
- modesMfFile=`tcfmgr --cmd find --file modes.mf`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# locateConfigPsFile(void) - find config.ps file (with caching)
-#
-locateConfigPsFile()
-{
- case $configPsFile in
- "")
- configPsFile=`tcfmgr --cmd find --file config.ps`
- ;;
- *)
- return
- ;;
- esac
-}
-
-###############################################################################
-# listMfModes(file) - list modes from modes.mf file
-#
-listMfModes()
-{
- grep mode_def "$modesMfFile" |
- sed -e "s/mode_def //" \
- -e "s/ .*%[^ ]* / '/" \
- -e "s/\$/' /" |
- egrep -v "^(help|%)" | sort
-}
-
-###############################################################################
-# listDvipsPapers(void) - list paper definitions from config.ps
-#
-listDvipsPapers()
-{
- grep '@ ' $configPsFile | sed "s/..//;s/ / '/;s/\$/' /"
-}
-
-###############################################################################
-# getFormatsForHyphen(void)
-# list all formats which have customizable hyphenation
-#
-getFormatsForHyphen()
-{
- fmtutil --catcfg | awk '$3 != "-" {print $1}' | sort
-}
-
-###############################################################################
-# getRes(mode) - print resolution (both X and Y axis) to metafont mode
-#
-getRes()
-{
- getResMode=$1
- (
- cd $tmpdir
- cat >mftmp.mf <<-'eof'
- let myexit = primitive_end_;
- mode_setup;
- string xdpi;
- xdpi := decimal round pixels_per_inch;
- message "XDPI = " & xdpi;
- string ydpi;
- ydpi := decimal round (pixels_per_inch * aspect_ratio);
- message "YDPI = " & ydpi;
- fontmaking := 0;
- myexit;
-eof
- mf '\mode='"$getResMode"'; \input ./mftmp' </dev/null \
- | awk '$1 == "XDPI" || $1 == "YDPI" { print $3 }'
- )
-}
-
-###############################################################################
-# checkElemInList(elem, list)
-# check if element exists in list
-###############################################################################
-checkElemInList()
-{
- checkElemInListElem=$1; shift
- checkElemInListFound=false
- for checkElemInListIter
- do
- case "x$checkElemInListElem" in
- x$checkElemInListIter)
- checkElemInListFound=true
- break
- ;;
- esac
- done
- case $checkElemInListFound in
- true) (exit 0); return 0;;
- esac
- (exit 1); return 1
-}
-
-
-# show version information from the distribution, if we have any.
-showDistVersionInfo()
-{
- # TeX Live file.
- test -f $MT_TEXMFMAIN/../release-texlive.txt \
- && sed 1q $MT_TEXMFMAIN/../release-texlive.txt
-
- # no harm in continuing to look for the teTeX files.
- test -f $MT_TEXMFMAIN/release-tetex-src.txt \
- && "teTeX-src release: `cat $MT_TEXMFMAIN/release-tetex-src.txt`"
- test -f $MT_TEXMFDIST/release-tetex-texmf.txt \
- && "teTeX-texmf release: `cat $MT_TEXMFDIST/release-tetex-texmf.txt`"
-}
-
-#
-###############################################################################
-# tcBatch(args)
-# handle batch mode
-###############################################################################
-tcBatch()
-{
- help="texconfig supports adjusting and updating many aspects of
-the TeX installation.
-
-Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
- $progname dvipdfm paper PAPER (dvipdfm paper size)
- $progname dvips [OPTION...] (dvips options)
- $progname faq (show teTeX faq)
- $progname findprog PROG... (show locations of PROGs, a la which)
- $progname font vardir DIR
- $progname font ro
- $progname font rw
- $progname formats (edit fmtutil.cnf)
- $progname help (or --help; show this help)
- $progname hyphen FORMAT (edit hyphenation config for FORMAT)
- $progname init [FORMAT]... (rebuild FORMATs, or all formats
- plus run texlinks and updmap)
- $progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
- $progname pdftex [OPTION]... (pdftex options)
- $progname rehash (rebuild ls-R files with mktexlsr)
- $progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
-
-Get more help with:
- $progname dvipdfmx
- $progname dvipdfm
- $progname dvips
- $progname font
- $progname hyphen
- $progname mode
- $progname paper
- $progname pdftex
- $progname xdvi
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-"
-
- case $1 in
- # texconfig conf
- conf|confall)
- setupTexmfmain
- setupTexmfdist
- echo '=========================== version information =========================='
- showDistVersionInfo
- echo
- echo '==================== binaries found by searching $PATH ==================='
- echo "PATH=$PATH"
- echoLocateBinary kpsewhich updmap fmtutil texconfig tex pdftex mktexpk dvips dvipdfm
- echo
- echo '=========================== active config files =========================='
- echoLocateCfgfile texmf.cnf updmap.cfg fmtutil.cnf config.ps mktex.cnf XDvi pdftexconfig.tex config | sort -k 2
- echo
- echo '============================= font map files ============================='
- for m in psfonts.map pdftex.map ps2pk.map dvipdfm.map; do
- echo "$m: `kpsewhich $m`"
- done
- echo
- echo '=========================== kpathsea variables ==========================='
- echoShowKpseVariable TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG TEXMFVAR TEXMFCONFIG TEXMFHOME VARTEXFONTS TEXMF SYSTEXMF TEXMFDBS WEB2C TEXPSHEADERS TEXCONFIG ENCFONTS TEXFONTMAPS
-
- echo
- echo '==== kpathsea variables from environment only (ok if no output here) ===='
- echoShowVariable $envVars
- ;;
-
- # texconfig dvipdfm
- dvipdfm)
- help="Usage: $progname dvipdfm paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfm paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace config '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfm paper'" >&2
- echo "$progname: try \`$progname dvipdfm paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfm ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfm <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfm'" >&2
- echo "$progname: try \`$progname dvipdfm' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvipdfmx
- dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- # texconfig dvips
- dvips)
- shift
- help="Usage: $progname dvips add PRINTER
- $progname dvips del PRINTER
- $progname dvips paper PAPER
- $progname dvips [-P PRINTER] mode MODE
- $progname dvips [-P PRINTER] offset OFFSET
- $progname dvips [-P PRINTER] printcmd CMD"
- case $1 in
- -P)
- case $2 in
- "")
- echo "$progname: missing arg for parameter -P" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *)
- otherPrinter=true
- otherPrinterName=$2
- otherPrinterFile=`kpsewhich -format='dvips config' "config.$otherPrinterName"`
- case $otherPrinterFile in
- "")
- echo "$progname: configuration file \`config.$otherPrinterName' for printer \`$otherPrinterName' not found" >&2
- rc=1; (exit $rc); return $rc
- ;;
- *) shift; shift;;
- esac
- ;;
- esac
- ;;
- *)
- otherPrinter=false
- ;;
- esac
- case $otherPrinter in
- true)
- tcBatchDvipsPrinter=$otherPrinterName
- moreFmgrArgs="--reldir dvips/config --infile $otherPrinterFile"
- ;;
- *)
- tcBatchDvipsPrinter=ps
- ;;
- esac
- case $1 in
- add)
- case $2 in
- "")
- echo "Usage: $progname dvips add PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- setupTmpDir
- tcfRet=`tcfmgr --emptyinfile --reldir dvips/config --cmd co --tmp $tmpdir --file "config.$printerName"`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- set x $tcfRet; shift
- tcBatchDvipsAddID=$1; tcBatchDvipsAddFile=$3
- echo "% file config.$printerName; added by texconfig" > "$tcBatchDvipsAddFile"
- tcfRet=`tcfmgr --tmp $tmpdir --id "$tcBatchDvipsAddID" --cmd ci`
- if test $? != 0; then
- echo "$progname: failed to add new configuration file \`config.$printerName'" >&2
- rc=1
- else
- echo "$progname: file $tcfRet added" >&2
- fi
- fi
- ;;
- *)
- echo "$progname: configuration file for printer \`$printerName' already exists (\`$pFile')" >&2
- rc=1
- ;;
- esac
- ;;
- esac
- ;;
- del)
- case $2 in
- "")
- echo "Usage: $progname dvips del PRINTER" >&2
- rc=1
- ;;
- *)
- printerName=$2
- pFile=`kpsewhich -format='dvips config' "config.$printerName"`
- case $pFile in
- "")
- echo "$progname: configuration file for printer \`$printerName' (config.$printerName) not found" >&2
- rc=1
- ;;
- *)
- if rm "$pFile"; then
- echo "$progname: file \`$pFile' removed" >&2
- else
- echo "$progname: failed to remove file \`$pFile'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- paper-list)
- locateConfigPsFile
- listDvipsPapers
- ;;
- paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
- ;;
- mode)
- case $2 in
- "")
- echo "Usage: $progname dvips mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsMode=$2
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchDvipsMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchDvipsMode"`; shift
- resX=$1; resY=$2
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^M' "M $tcBatchDvipsMode"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^D' "D $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^X' "X $resX"
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^Y' "Y $resY"
- else
- echo "$progname: unknown MODE \`$tcBatchDvipsMode' given as argument for \`$progname dvips mode'" >&2
- echo "$progname: try \`$progname dvips mode' for help" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- offset)
- offset=$2
- case $offset in
- "")
- echo "Usage: $progname dvips offset OFFSET"
- rc=1
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^O' "O $offset"
- esac
- ;;
- printcmd)
- printcmd=$2
- case $printcmd in
- "")
- echo "Usage: $progname dvips printcmd CMD"
- rc=1
- ;;
- -)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' o
- ;;
- *)
- fmgrConfigReplace $moreFmgrArgs config.$tcBatchDvipsPrinter '^o' "o |$printcmd"
- ;;
- esac
- ;;
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname dvips'" >&2
- echo "$progname: try \`$progname dvips' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- faq)
- setupTexmfmain
- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- else
- echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- rc=1
- fi
- ;;
-
- findprog)
- shift
- ELB_PATH_ONLY=1 echoLocateBinary "$@"
- ;;
-
- # handle "texconfig font"
- font)
- help="Usage: $progname font vardir DIR
- $progname font ro
- $progname font rw
-
-The vardir option changes the VARTEXFONTS variable in the texmf.cnf file.
-
-The rw option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) world writable and sets the features appendonlydir:varfonts
-in mktex.cnf.
-
-The ro option makes the VARTEXFONTS directory (and subtrees pk, tfm,
-source) writable for the owner only and sets the feature texmfvar in
-mktex.cnf.
-
-For more information about these \`features', consult the teTeX manual
-(e.g. by running \`texdoc TETEXDOC')."
-
- case $2 in
- vardir)
- case $3 in
- "")
- echo "$help" >&2
- rc=1
- ;;
- *)
- tcBatchFontVardir=$3
- tfc=`kpsewhich texmf.cnf`
- if test -n "$tfc"; then
- if test -w "$tfc"; then
- configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir"
- else
- echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2
- rc=1
- fi
- else
- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2
- rc=1
- fi
- ;;
- esac
- ;;
- rw)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font rw'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 1777 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find $d -type d -exec chmod 1777 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=appendonlydir:varfonts}"
- ;;
- ro)
- MT_VARTEXFONTS=`kpsewhich -var-value VARTEXFONTS`
- if test -z "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: could not determine VARTEXFONTS variable." >&2; rc=1
- return
- fi
- test -d "$MT_VARTEXFONTS" || mktexdir "$MT_VARTEXFONTS"
- if test ! -d "$MT_VARTEXFONTS"; then
- echo "$progname: failed to set \`font ro'; reason: directory \`$MT_VARTEXFONTS' does not exist." >&2; rc=1
- return
- fi
- chmod 755 "$MT_VARTEXFONTS" || {
- echo "$progname: failed to modify permissions in \`$MT_VARTEXFONTS'." >&2; rc=1
- return;
- }
- (
- cd "$MT_VARTEXFONTS" || exit
- echo "$progname: modifying permissions in \`$MT_VARTEXFONTS' ..." >&2
- for d in pk tfm source; do
- test -d "$d" && find "$d" -type d -exec chmod 755 '{}' \;
- done
- echo "$progname: all permissions set." >&2
- )
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MT_FEATURES=' ": \${MT_FEATURES=texmfvar}"
- ;;
- "") echo "$help" >&2; rc=1;;
- *) echo "$progname: unknown option \`$2' given as argument for \`$progname font'" >&2
- echo "$progname: try \`$progname font' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- setupTmpDir
- echo "$progname: analyzing old configuration..." >&2
- fmtutil --catcfg > $tmpdir/pre
- fmtutil --edit
- echo "$progname: analyzing new configuration..." >&2
- fmtutil --catcfg > $tmpdir/post
-
- if cmp $tmpdir/pre $tmpdir/post >/dev/null 2>&1; then
- echo "$progname: no new/updated formats available ..." >&2
- else
- echo "$progname: updating formats ..." >&2
- comm -13 $tmpdir/pre $tmpdir/post > $tmpdir/addOrChange
- for i in `awk '{print $1}' $tmpdir/addOrChange`; do
- fmtutil --byfmt "$i" || rc=1
- done
- texlinks --multiplatform || rc=1
- fi
- ;;
-
- help|--help|-h)
- echo "$help"
- ;;
-
- # "hyphen FORMAT"
- hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
- tcBatchHyphenFormat=$2
- formatsForHyphen=`getFormatsForHyphen`
- formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
- help="Usage: $progname hyphen FORMAT
-
-Valid FORMATs are:
-$formatsForHyphenFmt"
- case $tcBatchHyphenFormat in
- "")
- echo "$help" >&2; rc=1
- ;;
- *)
- if checkElemInList "$tcBatchHyphenFormat" $formatsForHyphen; then
-
- tcBatchHyphenFile=`fmtutil --showhyphen "$tcBatchHyphenFormat"`
- case $tcBatchHyphenFile in
- "")
- echo "$progname: could not find hyphen setup file for format \`$tcBatchHyphenFormat'" >&2
- rc=1
- return
- ;;
- esac
-
- getRelDir "$tcBatchHyphenFile"
- case $relPart in
- "")
- # edit tcBatchHyphenFile directly
- tcBatchHFID=
- setupTmpDir
- tcBatchHFEdit=$tcBatchHyphenFile
- tcBatchHFOrig=$tmpdir/hforig
- cp "$tcBatchHyphenFile" "$tcBatchHFOrig"
- ;;
- *)
- # use tcfmgr
- tcBatchHyphenFileBasename=`echo "$tcBatchHyphenFile" | sed 's@.*/@@'`
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file "$tcBatchHyphenFileBasename" --reldir "$relPart" --infile "$tcBatchHyphenFile"`
- if test $? != 0; then
- echo "$progname: failed to check out file \`$tcBatchHyphenFile'" >&2
- rc=1
- return 1
- else
- set x $co; shift
- tcBatchHFID=$1; tcBatchHFEdit=$3; tcBatchHFOrig=$4
- fi
- ;;
- esac
- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit"
- if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then
- echo "$progname: configuration unchanged." >&2
- else
- case $tcBatchHFID in
- "")
- tcBatchHFOut=$tcBatchHFEdit
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- ;;
- *)
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$tcBatchHFID"`
- if test $? != 0; then
- echo "$progname: failed to check in file \`$tcBatchHyphenFileBasename'" >&2
- rc=1
- return
- else
- tcBatchHFOut=$ci
- echo "$progname: updated configuration saved as file \`$tcBatchHFOut'" >&2
- lastUpdatedFile=$ci
- fi
- ;;
- esac
- fmtutil --byhyphen "$tcBatchHFOut"
- fi
- else
- echo "$progname: invalid format \`$tcBatchHyphenFormat' specified as argument for \`$progname hyphen'" >&2
- echo "$progname: for getting help, try \`$progname hyphen'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- hyphen-list)
- getFormatsForHyphen
- ;;
-
- init)
- case $2 in
- "")
- if fmtutil --all \
- && texlinks --multiplatform \
- && updmap; then
- :
- else
- rc=1
- fi
- ;;
- *)
- shift 1
- for i in "$@"; do
- fmtutil --byfmt "$i" || rc=1
- done
- ;;
- esac
- ;;
-
- mode-list)
- setupModesMfFile
- listMfModes
- ;;
-
- mode)
- case $2 in
- "")
- echo "Usage: $progname mode MODE
-
-Valid MODE settings:"
- setupModesMfFile
- listMfModes | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchMode=$2
- setupModesMfFile
- if checkElemInList $tcBatchMode `listMfModes | sed 's@ .*@@'`; then
-
- # modify mktex.cnf
- setupTmpDir
- fmgrConfigReplace mktex.cnf '^: ..MODE=' ": \${MODE=$tcBatchMode}"
- set x `getRes "$tcBatchMode"`; shift
- tcBatchRes=$1
- fmgrConfigReplace mktex.cnf '^: ..BDPI=' ": \${BDPI=$tcBatchRes}"
-
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips mode "$tcBatchMode"
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex mode "$tcBatchMode"
- fi
- else
- echo "$progname: unknown mode \`$tcBatchMode' specified as argument for \`$progname mode'" >&2; rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pXdvi=$2; pDvips=$2
- case $2 in
- letter)
- pXdvi=us;;
- a4)
- pXdvi=a4;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfm >/dev/null && tcfmgr --cmd find --file config >/dev/null 2>&1; then
- tcBatch dvipdfm paper $p
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $pXdvi
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
- ;;
-
- pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter)
- w="8.5 true in"; h="11 true in"
- setupTmpDir
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- a4)
- w="210 true mm"; h="297 true mm"
- fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- wChanged=$fmgrConfigReplaceChanged
- fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
- ;;
-
- rehash)
- mktexlsr
- ;;
-
- #
- version|--version)
- echo "$progname version $version"
- setupTexmfmain
- setupTexmfdist
- showDistVersionInfo
- (exit 0); exit 0;;
-
- # handle "xdvi paper PAPER"
- xdvi)
- tcBatchXdviPapers='us "8.5x11"
-usr "11x8.5"
-legal "8.5x14"
-foolscap "13.5x17.0"
-a1 "59.4x84.0cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.85x21.0cm"
-a6 "10.5x14.85cm"
-a7 "7.42x10.5cm"
-a1r "84.0x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.85cm"
-a6r "14.85x10.5cm"
-a7r "10.5x7.42cm"
-b1 "70.6x100.0cm"
-b2 "50.0x70.6cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "13.5x17.6cm"
-b7 "8.8x13.5cm"
-b1r "100.0x70.6cm"
-b2r "70.6x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x13.5cm"
-b7r "13.5x8.8cm"
-c1 "64.8x91.6cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.46x16.2cm"
-c7 "8.1x11.46cm"
-c1r "91.6x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.46cm"
-c7r "11.46x8.1cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r
- b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r
- c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r
- foolscap legal us usr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- a1|a1r|a2|a2r|a3|a3r|a4|a4r|a5|a5r|a6|a6r|a7|a7r|b1|b1r|b2|b2r|b3|b3r|b4|b4r|b5|b5r|b6|b6r|b7|b7r|c1|c1r|c2|c2r|c3|c3r|c4|c4r|c5|c5r|c6|c6r|c7|c7r|foolscap|legal|us|usr)
- fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
- ;;
- *)
- echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
- echo "$progname: try \`$progname help' for help" >&2
- rc=1
- esac
-}
-
-###############################################################################
-# tcInteractive(void)
-# handle interactive mode
-###############################################################################
-tcInteractive()
-{
- texconfig-dialog
-}
-
-###############################################################################
-# main()
-###############################################################################
-rc=0
-case $# in
- 0) tcInteractive;;
- *) tcBatch "$@";;
-esac
-
-cleanup $rc
diff --git a/Master/bin/x86_64-solaris/texconfig-dialog b/Master/bin/x86_64-solaris/texconfig-dialog
deleted file mode 100755
index e1868d91574..00000000000
--- a/Master/bin/x86_64-solaris/texconfig-dialog
+++ /dev/null
@@ -1,486 +0,0 @@
-#!/bin/sh
-
-# TeX-Config version 3.0
-# Thomas Esser, te@dbs.uni-hannover.de. Public domain.
-
-# invoke the right shell:
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-# the version string
-version='$Id: texconfig-dialog 23826 2011-09-05 17:59:15Z karl $'
-
-: ${PAGER=more}
-progname=texconfig-dialog
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tcdtmp.$$
-log=$tmpdir/log
-tmpmenu=$tmpdir/tmpmenu
-needsCleanup=false
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
- termCtl reset
- (exit $rc); exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- case $needsCleanup in
- true) return;;
- esac
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort()
-{
- echo "$progname: $1." >&2
- cleanup 1
-}
-
-logexec()
-{
- (echo; echo ">>> Executing \`$@' <<<") >> $log
- "$@" 2>&1 | tee -a $log
-}
-
-###############################################################################
-# runDialog(args, ...)
-# execute the right dialog program with the right default parameters
-###############################################################################
-runDialog()
-{
- if test -n "$DIALOG_PROG"; then
- termCtl clear
- $DIALOG_PROG --title "TeX setup utility" ${1+"$@"}
- runDialogRc=$?
- termCtl clear
- else
- abort "could not find dialog or whiptail program to run"
- fi
- (exit $runDialogRc)
- return $runDialogRc
-}
-
-###############################################################################
-# findDialog(void)
-# set DIALOG_PROG to the system dialog program, or the empty string.
-###############################################################################
-findDialog()
-{
- for bin in whiptail dialog
- do
- binLoc=`texconfig findprog $bin`
- case $binLoc in
- "") DIALOG_PROG="";;
- *) DIALOG_PROG=$binLoc; break;;
- esac
- done
-}
-
-###############################################################################
-# mktexdir(args)
-# call mktexdir script, disable all features (to prevent sticky directories)
-###############################################################################
-mktexdir()
-{
- MT_FEATURES=none "$TEXMFMAIN/web2c/mktexdir" "$@" >&2
-}
-
-###############################################################################
-# termCtl(arg)
-# some convenience utilities for terminal control
-###############################################################################
-termCtl()
-{
- case $1 in
- clear)
- test -n "$NO_CLEAR" && return
- tty >/dev/null 2>&1 && clear
- ;;
- reset)
- test -n "$NO_CLEAR" && return
- reset 2>/dev/null
- stty sane 2>/dev/null
- reset 2>/dev/null
- termCtl clear
- ;;
- readln)
- echo
- echo "press return to continue..."
- read a
- ;;
- esac
-}
-
-###############################################################################
-# menuMain(void)
-# the main menu
-###############################################################################
-menuMain()
-{
- cat <<-'eof'
- The interactive texconfig utility will be started now. Make sure
- your screen has at least 24 rows and 80 columns. If texconfig
- crashes now, you can still set up your teTeX system using the
- batch mode of texconfig. Try 'texconfig help' to get a list
- of options.
-
- The interactive mode works best with a real vt100 terminal or
- inside an xterm window.
-eof
- termCtl readln
-
- while :; do
- logMessage='view logfile'
-
- runDialog \
- --menu "
-Hint: all output of external commands (e.g. tex) is logged into
-a file. You can look at this file using "LOG". If cursor keys make
-trouble, you may have more luck with +/- and TAB.
-" \
- 23 80 14 \
- EXIT 'exit' \
- PAPER 'default paper: A4 or letter (us)' \
- MODE 'default metafont mode and resolution' \
- REHASH 'rebuild filename databases' \
- FORMATS 'edit format definitions' \
- HYPHENATION 'customize hyphenation' \
- DVIPS 'dvips configuration' \
- FAQ 'view frequently asked questions + answers' \
- CONF 'show configuration' \
- LOG "$logMessage" \
- 2>"$tmpmenu" || break
-
- case `cat "$tmpmenu"` in
- EXIT)
- break
- ;;
- PAPER)
- menuPaper
- ;;
- MODE)
- menuMode
- ;;
- REHASH)
- logexec texconfig rehash
- termCtl readln
- ;;
- FORMATS)
- texconfig formats
- termCtl readln
- ;;
- HYPHENATION)
- menuHyphenation
- ;;
- DVIPS)
- menuDvips
- ;;
- FAQ)
- texconfig faq
- termCtl readln
- ;;
- CONF)
- logexec texconfig conf
- termCtl readln
- ;;
- LOG)
- <"$log" eval $PAGER
- termCtl readln
- ;;
- esac
- done
-}
-
-menuGetMode()
-{
- # we need eval to get the command line right... :-(
- eval \
- runDialog \
- --menu \""
-Chosse a mode to be used when metafont generates font bitmaps. The resolution is the most important point, but there might
-be differences between modes of the same resolution. See the comments in the file modes.mf for more details.
-\"" \
- 23 80 14 \
- `texconfig mode-list` 2>"$tmpmenu"
-}
-
-menuMode()
-{
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig mode "$mode"
- termCtl readln
- fi
-}
-
-menuDvips()
-{
- menuDvipsDest=ps
-
- while :; do
- case $menuDvipsDest in
- ps)
- menuDvipsPrinterOpt=
- menuDvipsMsg="
-dvips GLOBAL section. Define the most common default settings (config.ps).
-To define settings for a specific printer, first ADD a printer definition,
-then CHANGE it.
-"
- ;;
- *)
- menuDvipsPrinterOpt="-P $menuDvipsDest"
- menuDvipsMsg="
-dvips settings for printer $menuDvipsDest (config.$menuDvipsDest). Define
-local settings for this printer. To switch back to global settings mode,
-select GLOBAL.
-"
- ;;
- esac
-
- runDialog \
- --menu "$menuDvipsMsg
-You can use dvips for non PostScript printers, if you can setup your
-printing system to convert PostScript to a format that your printer can
-handle. Maybe, you can use GhostScript to do the conversion (if your
-printer is supported)." \
- 23 80 9 \
- RETURN 'back to the main menu' \
- DEST 'define default destination of the generated Postscript' \
- MODE 'change metafont mode/resolution' \
- OFFSET 'shift output by some offset' \
- PAPER 'define the default paper' \
- GLOBAL 'change global settings (config.ps)' \
- CHANGE 'change printer settings (config.$PRINTER)' \
- ADD 'add a printer configuration' \
- DEL 'remove a printer configuration' \
- 2>"$tmpmenu" || break
-
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- RETURN)
- break
- ;;
- DEST)
- runDialog --inputbox "Enter the command to print.
-
-In general, you need a command like 'lpr' or 'lpr -Pfoo'.
-
-NOTE: If you just press return, printing will be disabled and the output saved to a file by default.
-" 23 80 2>"$tmpmenu"
- if test $? = 0; then
- menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "")
- menuDvipsPrintOpt=-
- ;;
- *)
- menuDvipsPrintOpt=$menuDvipsAns
- ;;
- esac
- logexec texconfig dvips $menuDvipsPrinterOpt printcmd "$menuDvipsPrintOpt"
- termCtl readln
- fi
- ;;
- MODE)
- menuGetMode
- mode=`cat "$tmpmenu"`
-
- if test -n "$mode"; then
- logexec texconfig dvips $menuDvipsPrinterOpt mode "$mode"
- termCtl readln
- fi
- ;;
- OFFSET)
- runDialog --inputbox "Enter a dimension pair (a rightwards offset and a downwards
-offset), e.g. 2mm,-0.5in (right 2mm and up .5in):" 23 80 2>"$tmpmenu"; menuDvipsAns=`cat "$tmpmenu"`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips $menuDvipsPrinterOpt offset "$menuDvipsAns"
- termCtl readln
- ;;
- esac
- ;;
- PAPER)
- eval runDialog \
- --menu \'\\n\\nChoose the default papersize definition for dvips.\\n\\n\' \
- 23 80 8 `texconfig dvips paper-list` \
- 2>"$tmpmenu"
- paper=`cat "$tmpmenu"`
- if test -n "$paper"; then
- logexec texconfig dvips paper "$paper"
- termCtl readln
- fi
- ;;
- GLOBAL)
- menuDvipsDest=ps
- ;;
- CHANGE)
- runDialog --inputbox "Printer name (for future settings of DEST / MODE / OFFSET)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *) menuDvipsDest=$menuDvipsAns;;
- esac
- ;;
- ADD)
- runDialog --inputbox "Printer name (for printer to add)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips add $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- DEL)
- runDialog --inputbox "Printer name (for printer to delete)" 23 80 2>"$tmpmenu"
- menuDvipsAns=`cat $tmpmenu`
- case $menuDvipsAns in
- "") : ;;
- *)
- logexec texconfig dvips del $menuDvipsAns
- termCtl readln
- ;;
- esac
- ;;
- esac
- done
-}
-
-menuPaper()
-{
- runDialog \
- --menu "
-Select your default paper format.
-" \
- 23 80 14 \
- RETURN 'return to the main menu' \
- A4 'ISO A4 (210x297mm)' \
- LETTER 'US (8.5x11in)' 2>"$tmpmenu"
-
- p=`cat "$tmpmenu"`
- case $p in
- A4)
- logexec texconfig paper a4
- termCtl readln
- ;;
- LETTER)
- logexec texconfig paper letter
- termCtl readln
- ;;
- esac
-}
-
-menuHyphenation()
-{
- runDialog \
- --menu "
-Choose format to set up hyphenation for.
-" \
- 23 80 14 \
- `texconfig hyphen-list | sed 's@\(.*\)@\1 \1@'` 2>"$tmpmenu"
- p=`cat "$tmpmenu"`
- case $p in
- "")
- return
- ;;
- *)
- texconfig hyphen "$p"
- termCtl readln
- esac
-}
-
-# main()
-
-case $1 in
- help|--help)
- cat <<-eof
- Usage: $progname [--help|--version]
-eof
- exit 0
- ;;
- --version)
- cat <<-eof
- $progname version $version.
-eof
- exit 0
- ;;
-esac
-
-
-: ${TEXMFCONFIG=`kpsewhich -var-value=TEXMFCONFIG`}
-: ${TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`}
-: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
-export TEXMFCONFIG TEXMFVAR TEXMFMAIN
-
-setupTmpDir
-echo "$progname: started `date`" > $log
-findDialog
-
-test -d "$TEXMFCONFIG" \
- || mktexdir "$TEXMFCONFIG" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) does not exist and cannot be created" >&2
-
-canWriteConfig=false
-if test -d "$TEXMFCONFIG"; then
- if test -w "$TEXMFCONFIG"; then
- canWriteConfig=true
- else
- echo "$progname: directory \`$TEXMFCONFIG' (from TEXMFCONFIG variable) is not writable."
- echo "$progname: configuration data cannot be changed." >&2
- fi
-fi
-
-test -d "$TEXMFVAR" \
- || mktexdir "$TEXMFVAR" >/dev/null 2>&1 \
- || echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) does not exist and cannot be created" >&2
-
-canWriteVardata=false
-if test -d "$TEXMFVAR"; then
- if test -w "$TEXMFVAR"; then
- canWriteVardata=true
- else
- echo "$progname: directory \`$TEXMFVAR' (from TEXMFVAR variable) is not writable."
- echo "$progname: cached variable runtime data files cannot be written." >&2
- fi
-fi
-
-menuMain
-cleanup 0
diff --git a/Master/bin/x86_64-solaris/texconfig-sys b/Master/bin/x86_64-solaris/texconfig-sys
deleted file mode 100755
index ff549003ad2..00000000000
--- a/Master/bin/x86_64-solaris/texconfig-sys
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $Id: texconfig-sys 20962 2011-01-07 11:45:38Z peter $
-
-# texconfig-sys: Thomas Esser, public domain.
-
-# wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to
-# TEXMFSYSVAR / TEXMFSYSCONFIG
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-v=`kpsewhich -var-value TEXMFSYSVAR`
-c=`kpsewhich -var-value TEXMFSYSCONFIG`
-
-TEXMFVAR="$v"
-TEXMFCONFIG="$c"
-export TEXMFVAR TEXMFCONFIG
-
-exec texconfig ${1+"$@"}
diff --git a/Master/bin/x86_64-solaris/texlinks b/Master/bin/x86_64-solaris/texlinks
deleted file mode 100755
index 09b3488d263..00000000000
--- a/Master/bin/x86_64-solaris/texlinks
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/bin/sh
-# $Id: texlinks 18035 2010-04-28 17:41:52Z mpg $
-
-# Thomas Esser, 1999, 2002, 2003. public domain.
-
-# texlinks: script to maintain symlinks from format to engine. Interprets
-# the lines given in fmtutil.cnf.
-
-# History:
-# (Further changes in ChangeLog.)
-# Tue Oct 9 14:23:01 BST 2007
-# Added unlink option (-u) to aid OpenBSD package uninstall
-# Edd Barrett <vext01@gmail.com>
-# Sun Aug 28 21:41:06 CEST 2005
-# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain
-# Fr Apr 8 19:15:05 CEST 2005
-# cleanup now has an argument for the return code
-# So Mar 27 18:52:06 CEST 2005
-# honor $TMPDIR, $TEMP and $TMP, not just $TMP
-# Mon May 10 20:52:48 CEST 2004
-# kpseaccess instead of access
-# Thu Dec 25 22:11:53 CET 2003, te:
-# add version string
-# Tue Apr 9 22:46:34 CEST 2002, te:
-# do not create symlinks for cont-??, metafun and mptopdf
-
-test -f /bin/sh5 && test -z "$RUNNING_SH5" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
-unset RUNNING_SH5
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-export PATH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-version='$Id: texlinks 18035 2010-04-28 17:41:52Z mpg $'
-progname=texlinks
-cnf=fmtutil.cnf # name of the config file
-
-usage='Usage: texlinks [OPTION]... [DIRECTORY]...
-
-Create symbolic links format -> engine according to fmtutil setup.
-
-Mandatory arguments to long options are mandatory for short options too.
- -e, --exeext EXT append EXT to symlink targets (default: none)
- -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf)
- -m, --multiplatform operate in all platform specific directories
- (default: operate only in directory for this platform)
- -q, --quiet silently skip existing scripts / binaries
- (default: issue warning)
- -s, --silent same as -q
- -u, --unlink remove symlinks created by texlinks
- -v, --verbose enable verbose messages (default: off)
- -h, --help show this help text
- --version show version string
-
-The DIRECTORY arguments are an optional list of directories in which to
-operate. If no directories are specified and --multiplatform is
-likewise not specified, the directory of this script itself is used.
-With --multiplatform, all child dirs of an upper-level bin/ dir are used.
-
-Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
-'
-
-###############################################################################
-# abort(errmsg)
-# print `errmsg' to stderr and exit with error code 1
-###############################################################################
-abort() { errmsg "texlinks: $1."; cleanup 1; }
-
-# error message to stderr:
-errmsg() { echo "$@" >&2; }
-
-# give message to stderr only if "verbose" mode is on:
-verbose_echo() { $verbose && errmsg "$@"; }
-
-# in verbose mode: show command that is executed:
-verbose_do() { verbose_echo "$@"; "$@"; }
-
-###############################################################################
-# cleanup()
-# clean up the temp area and exit with proper exit status
-###############################################################################
-cleanup()
-{
- rc=$1
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- exit $rc
-}
-
-###############################################################################
-# setupTmpDir()
-# set up a temp directory and a trap to remove it
-###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
-
- trap 'cleanup 1' 1 2 3 7 13 15
- needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
-}
-
-
-# search a binary along $PATH:
-check_for_binary()
-{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
-}
-
-
-###############################################################################
-# install_link(dest src)
-# create a symlink like ln -s dest src, but make sure that src is not
-# an existing binary, possibly adding the executable extension if
-# passed on the command.
-###############################################################################
-install_link()
-{
- # make symlink src -> dest
- dest=$1; src=$2
-
- case $src in
- */mf)
- if test "$dest" = mf-nowin; then
- if test -f $selfautoloc/mfw; then
- dest=mfw # name for windows-enabled mf, once upon a time
- verbose_echo "both mfw and mf-nowin exists, $src linked to $dest"
- fi
- if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then
- # have both mf and mf-nowin binaries. no link.
- verbose_echo "skipped metafont symlink $src -> $dest (special case)"
- return
- fi
- fi
- ;;
- esac
-
- # append .exe if supplied (for cygwin).
- test -n "$exeext" && dest="$dest$exeext"
-
- case $src in
- */cont-??|*/mptopdf)
- # context includes wrapper scripts that create/run these.
- verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
- ;;
- *)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- case $silent in
- true)
- ;;
- *)
- errmsg "install_link $src -> $dest failed: file already exists."
- ;;
- esac
- else
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
- esac
-}
-
-###############################################################################
-# search_symlinkdir()
-# look if $PATH has only symlinks to the real binaries and find that
-# directory. Also check if this directory is writable.
-###############################################################################
-search_symlinkdir()
-{
- kpsewhich=`check_for_binary kpsewhich`
- test -z "$kpsewhich" && return 1
- symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'`
- kpseaccess -w "$symlinkdir" || return 1
- touch "$symlinkdir/tl$$"
- if test -f "$selfautoloc/tl$$"; then
- rm -f "$symlinkdir/tl$$"
- return 1
- else
- rm -f "$symlinkdir/tl$$"
- return 0
- fi
-}
-
-###############################################################################
-# upd_symlinkdir()
-# if $PATH has only symlinks to the real binaries, update that directory
-# that holds the symlinks
-###############################################################################
-upd_symlinkdir()
-{
- search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
- done
-}
-
-###############################################################################
-# rm_link()
-# Delete a previously installed link
-###############################################################################
-rm_link()
-{
- link=$1;
- if test -e $link; then
- if test -h $link; then
- verbose_do rm -Rf $link
- else
- verbose_echo "kept $link, since not a symlink"
- fi
- else
- verbose_echo "skipped $link, non-existent"
- fi
-}
-
-###############################################################################
-# main()
-# parse commandline arguments, initialize variables,
-# switch into temp. direcrory, execute desired command
-###############################################################################
-main()
-{
- cnf_file= # global variable: full name of the config file
- dirs=
- needsCleanup=false
-
- exeext=
- multiplatform=false
- verbose=false
- unlink=false
- silent=false
- thisdir=`pwd`
- : ${KPSE_DOT=$thisdir}; export KPSE_DOT
- selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'`
- while
- case $1 in
- --h*|-h)
- echo "$usage"; exit 0;;
- --version)
- echo "$progname version $version"; exit 0;;
- --cnffile|-f)
- shift; cnf_file=$1;;
- --e*|-e) shift; exeext=$1;;
- --m*|-m) multiplatform=true;;
- --s*|-s|--q*|-q) silent=true;;
- --u*|-u) unlink=true;;
- --v*|-v) verbose=true;;
- -*) errmsg "fmtutil: unknown option \`$1' ignored.";;
- *) break;;
- esac
- do test $# -gt 0 && shift; done
- dirs="$*"
-
- # if no cnf_file from command-line, look it up with kpsewhich:
- test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
- test -f "$cnf_file" || abort "config file \`$cnf' not found"
-
-
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
- setupTmpDir
- cd "$tmpdir" || cleanup 1
-
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
-
- if test -z "$dirs"; then
- if test $multiplatform = true; then
- case $selfautoloc in
- */bin) dirs=$selfautoloc;;
- *) parent=`kpsewhich --expand-var='$SELFAUTODIR'`
- dirs=`find $parent -type f -name kpsewhich -print \
- | sed 's@/kpsewhich$@@'`;;
- esac
- else
- dirs=$selfautoloc
- fi
- fi
-
- for d in $dirs; do
- kpseaccess -w $d \
- || { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
- while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
-
- # Some broken shells destroy the positional arguments when calling a
- # shellfunction. Therefore, we save and restore them "by hand" in the
- # main_args_while variable.
- main_args_while="$@"
-
- test "x$fmt" = "x$engine" && continue
- if test -f "$d/$engine$exeext"; then
- case $unlink in
- true)
- rm_link "$d/$fmt";;
- *)
- install_link "$engine" "$d/$fmt";;
- esac
- else
- verbose_echo "skipped $d/$engine, engine does not exist"
- fi
-
- # restore positional arguments:
- set x $main_args_while; shift
-
- done
- done
- upd_symlinkdir
-}
-
-main ${1+"$@"}
-
-# set successful return code
-cleanup 0
diff --git a/Master/bin/alpha-linux/fmtutil-sys b/Master/texmf/scripts/tetex/fmtutil-sys.sh
index bfb52f94e1f..bfb52f94e1f 100755
--- a/Master/bin/alpha-linux/fmtutil-sys
+++ b/Master/texmf/scripts/tetex/fmtutil-sys.sh
diff --git a/Master/bin/alpha-linux/fmtutil b/Master/texmf/scripts/tetex/fmtutil.sh
index 06ef11380b4..06ef11380b4 100755
--- a/Master/bin/alpha-linux/fmtutil
+++ b/Master/texmf/scripts/tetex/fmtutil.sh
diff --git a/Master/bin/alpha-linux/texconfig-dialog b/Master/texmf/scripts/tetex/texconfig-dialog.sh
index e1868d91574..e1868d91574 100755
--- a/Master/bin/alpha-linux/texconfig-dialog
+++ b/Master/texmf/scripts/tetex/texconfig-dialog.sh
diff --git a/Master/bin/alpha-linux/texconfig-sys b/Master/texmf/scripts/tetex/texconfig-sys.sh
index ff549003ad2..ff549003ad2 100755
--- a/Master/bin/alpha-linux/texconfig-sys
+++ b/Master/texmf/scripts/tetex/texconfig-sys.sh
diff --git a/Master/bin/alpha-linux/texconfig b/Master/texmf/scripts/tetex/texconfig.sh
index c9cc73c8305..c9cc73c8305 100755
--- a/Master/bin/alpha-linux/texconfig
+++ b/Master/texmf/scripts/tetex/texconfig.sh
diff --git a/Master/bin/alpha-linux/texlinks b/Master/texmf/scripts/tetex/texlinks.sh
index 09b3488d263..09b3488d263 100755
--- a/Master/bin/alpha-linux/texlinks
+++ b/Master/texmf/scripts/tetex/texlinks.sh
diff --git a/Master/tlpkg/tlpsrc/tetex.tlpsrc b/Master/tlpkg/tlpsrc/tetex.tlpsrc
index 47b8374a519..66b14545773 100644
--- a/Master/tlpkg/tlpsrc/tetex.tlpsrc
+++ b/Master/tlpkg/tlpsrc/tetex.tlpsrc
@@ -14,8 +14,13 @@ runpattern f texmf-dist/scripts/tetex/allcm.sh
runpattern f texmf-dist/scripts/tetex/allneeded.sh
runpattern f texmf-dist/scripts/tetex/dvi2fax.sh
runpattern f texmf-dist/scripts/tetex/dvired.sh
+runpattern f texmf-dist/scripts/tetex/fmtutil.sh
+runpattern f texmf-dist/scripts/tetex/fmtutil-sys.sh
runpattern f texmf-dist/scripts/tetex/kpsewhere.sh
runpattern f texmf-dist/scripts/tetex/kpsetool.sh
+runpattern f texmf-dist/scripts/tetex/texconfig-dialog.sh
+runpattern f texmf-dist/scripts/tetex/texconfig-sys.sh
+runpattern f texmf-dist/scripts/tetex/texlinks.sh
runpattern f texmf-dist/scripts/tetex/updmap.pl
runpattern f texmf-dist/scripts/tetex/updmap-sys.sh
diff --git a/Master/tlpkg/tlpsrc/texconfig.tlpsrc b/Master/tlpkg/tlpsrc/texconfig.tlpsrc
index 2c3f24ebf7b..ced5fc507e6 100644
--- a/Master/tlpkg/tlpsrc/texconfig.tlpsrc
+++ b/Master/tlpkg/tlpsrc/texconfig.tlpsrc
@@ -1,4 +1,5 @@
category TLCore
+runpattern f texmf/scripts/tetex/texconfig.sh
runpattern f texmf/texconfig/*
runpattern f texmf/texconfig/g/*
runpattern f texmf/texconfig/v/*