[tex-live] share sub-directory

Peter Münster pmlists at free.fr
Fri Feb 8 07:43:15 CET 2008


On Thu, Feb 07 2008, Karl Berry wrote:
> 
>     kpathsea: Running mktexfmt latex.fmt
> 
> So, the question is why mktexfmt is exiting without making the fmt.  Try
> running bash -vx mktexfmt latex.fmt from the shell, for starters.

Hello Karl,

I attach the output at the end of this message, it's quite long...

> I can't look at 100+ changes and magically intuit where the problem
> might be :).

Of course! I can help with further investigations in about 7 days.
Just one quick hint:
With revision 6385, I got the following line in
prefix/texmf/web2c/texmf.cnf:
TEXMFDIST = $SELFAUTODIR/texmf-dist

With revision 6514, I get this line in prefix/texmf/web2c/texmf.cnf:
TEXMFDIST = $SELFAUTOPARENT/texmf-dist
and this line in prefix/share/texmf/web2c/texmf.cnf:
TEXMFDIST = $SELFAUTODIR/share/texmf-dist

Output of "bash -vx mktexfmt latex.fmt":

#!/bin/sh

###############################################################################
# fmtutil: utility to maintain format files.
#
# Thomas Esser, public domain.
#
# Commands:
# --all                      recreate all format files
# --missing                  create all missing format files
# --refresh                  recreate only existing format files
# --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                     edit fmtutil.cnf file
# --version                  show version info
# --help                     show this message
#
# Options:
#  --cnffile file             set configfile for fmtutil
#  --fmtdir directory         set destination directory for format files
#  --no-engine-subdir         don't use $engine subdirectory of the fmtdir
###############################################################################

###############################################################################
# program history:
#   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 Mär 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+"$@"}; }
+ test -f /bin/ksh
+ test -z ''
unset RUNNING_KSH
+ 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+"$@"}; }
+ test -f /bin/bsh
unset RUNNING_BSH
+ unset RUNNING_BSH

# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
+ test -n ''

progname=fmtutil
+ progname=fmtutil
argv0=$0
+ argv0=mktexfmt
version=1168729197 # seconds since `00:00:00 1970-01-01 UTC'
+ version=1168729197
                   # date '+%s' (with GNU date)

cnf=fmtutil.cnf   # name of the config file
+ cnf=fmtutil.cnf
export PATH
+ 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
}   

###############################################################################
# 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
}

###############################################################################
# help()
#   display help message and exit
###############################################################################
help()
{
  cat <<'eof'
Usage: fmtutil [option] ... cmd [argument]

Valid options:
  --cnffile file
  --fmtdir directory
  --no-engine-subdir         don't use engine-specific subdir of the fmtdir
  --quiet                    (not implemented, just for compatibility)
  --test                     (not implemented, just for compatibility)
  --dolinks                  (not implemented, just for compatibility)
  --force                    (not implemented, just for compatibility)

Valid commands:
  --all                      recreate all format files
  --missing                  create all missing format files
  --refresh                  recreate only existing format files
  --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                     edit fmtutil.cnf file
  --version                  show version info
  --help                     show this message
eof
  cleanup 0
}

version()
{
  cat <<eof
$progname version $version.
eof
  cleanup 0
}

###############################################################################
# abort(errmsg)
#   print `errmsg' to stderr and exit with error code 1
###############################################################################
abort()
{
  echo "$progname: $1." >&2
  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_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 and warnings:
$log_failure_msg
eof
    } >&2
    cleanup 1
  else
    cleanup 0
  fi
}

###############################################################################
# init_log_failure()
#   reset the list of failure messages
###############################################################################
init_log_failure()
{
  log_failure_msg=
  has_errors=false
}

###############################################################################
# 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=
  tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
  verboseFlag=true

  # 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
        *.fmt|*.mem|*.base)
           set x --byfmt `echo $fullfmt | sed 's@\.[a-z]*$@@'` ${1+"$@"}; shift
           ;;
        *.*)
           abort "unknown format type: $fullfmt"
           ;;
        "")
           help
           ;;
        *)
           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;;
      --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;;
      --quiet|-q)
          verboseFlag=false;;
      --test|--dolinks|--force)
          ;;
      "") break;;
      *) abort "$progname: unknown option \`$1'. Try $progname --help for help";;
    esac
  do test $# -gt 0 && shift; done

  case "$cmd" in
    help|"") help;;
    version) version;;
  esac

  if test -n "$cfgparam"; then
    test -f "$cnf_file" || abort "config file \`$cnf_file' not found"
  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

  # showhyphen and edit do not need any temp. directory, so do it here:
  case "$cmd" in
    showhyphen)
      show_hyphen_file "$arg"
      cleanup $?
      ;;
    edit)
      ${VISUAL-${EDITOR-vi}} $cnf_file
      ;;
    enablefmt|disablefmt)
      $cmd $arg
      ;;
    catcfg)
      grep -v '^ *#' "$cnf_file" | sed 's@^ *@@; s@ *$@@' | grep . | sort
      cleanup $?
      ;;
    listcfg)
      listcfg_loop
      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
  # execute the desired command:
  case "$cmd" in 
    all)
      recreate_all;;
    missing)
      create_missing;;
    refresh)
      recreate_existing;;
    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 at nls=@@; s@,.*@@'`
      tcx=`echo $1 | sed 's at nls=[^,]*@@; s@^,@@'`
      shift      # nls stuff is not handled by the engine directly,
                 # so we shift this away
      ;;
  esac

  texargs="$@"

  eval lastarg=\$$#
  inifile=`echo $lastarg | sed 's%^\*%%'`

  case "$engine" in
    mpost)  fmtfile="$format.mem";  kpsefmt=mpost; texengine=metapost;;
    mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
    *)      fmtfile="$format.fmt";  kpsefmt=tex; texengine=$engine;;
  esac

  # 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="$2"
  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
  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_failure "\`$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
    if mv "$fmtfile" "$fulldestdir/$fmtfile" </dev/null; then
      verboseMsg "$progname: $fulldestdir/$fmtfile installed."
      #
      $mktexfmtMode && $mktexfmtFirst \
      && echo "$fulldestdir/$fmtfile" && 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 at ..@@'`
      ;;
    *)
      hyphenfile="$KPSE_DOT/$hyphenfile"
      ;;
  esac
  need_find_hyphenfile=true
  match_cmd="test x\$this_hyphenfile = x$hyphenfile"

  # No match before the loop:
  setmatch false

  recreate_loop

  # Now check if there was at least one match:
  getmatch || abort "no format depends on \`$hyphenfile'"
}


###############################################################################
# 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+"$@"}
+ main latex.fmt
+ destdir=
+ cnf_file=
+ cmd=
+ needsCleanup=false
+ need_find_hyphenfile=false
+ cfgparam=
+ cfgmaint=
+ tmpdir=/tmp/fmtutil.1636
+ verboseFlag=true
+ mktexfmtMode=false
+ case $argv0 in
+ mktexfmtMode=true
+ fullfmt=latex.fmt
+ shift
+ case $fullfmt in
echo $fullfmt | sed 's@\.[a-z]*$@@'
++ echo latex.fmt
++ sed 's@\.[a-z]*$@@'
+ set x --byfmt latex
+ shift
+ use_engine_dir=true
+ case $1 in
+ shift
+ cmd=byfmt
+ arg=latex
+ test 1 -gt 0
+ shift
+ case $1 in
+ break
+ case "$cmd" in
+ test -n ''
+ test -n ''
+ test -z ''
tcfmgr --cmd find --file $cnf
++ tcfmgr --cmd find --file fmtutil.cnf
++ initTexmfMain
++ case $MT_TEXMFMAIN in
kpsewhich --var-value=TEXMFMAIN
+++ kpsewhich --var-value=TEXMFMAIN
++ MT_TEXMFMAIN=/tmp/prefix/share/texmf
++ export MT_TEXMFMAIN
++ /tmp/prefix/share/texmf/texconfig/tcfmgr --cmd find --file fmtutil.cnf
+ cnf_file=/tmp/prefix/share/texmf/web2c/fmtutil.cnf
+ test -f /tmp/prefix/share/texmf/web2c/fmtutil.cnf
+ case "$cmd" in
+ test -n ''
+ test -z ''
kpsewhich -var-value=TEXMFVAR
++ kpsewhich -var-value=TEXMFVAR
+ : /home/peter/.texlive2007/texmf-var
+ destdir=/home/peter/.texlive2007/texmf-var/web2c
+ test -d /home/peter/.texlive2007/texmf-var/web2c
+ test -d /home/peter/.texlive2007/texmf-var/web2c
+ test -w /home/peter/.texlive2007/texmf-var/web2c
pwd
++ pwd
+ thisdir=/home/peter
+ : /home/peter
+ export KPSE_DOT
+ TEXINPUTS=/tmp/fmtutil.1636:
+ export TEXINPUTS
+ TEXFORMATS=/tmp/fmtutil.1636:
+ export TEXFORMATS
+ setupTmpDir
+ false
+ trap 'cleanup 1' 1 2 3 7 13 15
+ needsCleanup=true
+ umask 077
+ mkdir /tmp/fmtutil.1636
+ cd /tmp/fmtutil.1636
+ case "$destdir" in
+ case "$cnf_file" in
+ cache_vars
kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'
++ kpsewhich '--expand-var=$VARTEXFONTS'
++ sed 's%^!!%%'
+ : /var/tmp/texfonts
kpsewhich --format='web2c files' mktexnam
++ kpsewhich '--format=web2c files' mktexnam
+ : /tmp/prefix/share/texmf/web2c/mktexnam
kpsewhich --format='web2c files' mktexnam.opt
++ kpsewhich '--format=web2c files' mktexnam.opt
+ : /tmp/prefix/share/texmf/web2c/mktexnam.opt
kpsewhich --format='web2c files' mktexdir
++ kpsewhich '--format=web2c files' mktexdir
+ : /tmp/prefix/share/texmf/web2c/mktexdir
kpsewhich --format='web2c files' mktexdir.opt
++ kpsewhich '--format=web2c files' mktexdir.opt
+ : /tmp/prefix/share/texmf/web2c/mktexdir.opt
kpsewhich --format='web2c files' mktexupd
++ kpsewhich '--format=web2c files' mktexupd
+ : /tmp/prefix/share/texmf/web2c/mktexupd
kpsewhich --format='web2c files' mktex.cnf
++ kpsewhich '--format=web2c files' mktex.cnf
+ :
kpsewhich --format='web2c files' mktex.opt
++ kpsewhich '--format=web2c files' mktex.opt
+ : /tmp/prefix/share/texmf/web2c/mktex.opt
+ export MT_VARTEXFONTS MT_MKTEXNAM MT_MKTEXNAM_OPT MT_MKTEXDIR
+ export MT_MKTEXDIR_OPT MT_MKTEXUPD MT_MKTEX_CNF MT_MKTEX_OPT
+ init_log_failure
+ log_failure_msg=
+ has_errors=false
+ case "$cmd" in
+ recreate_by_fmt latex
+ fmtname=latex
+ match_cmd='test x$format = xlatex'
+ recreate_loop
+ OIFS=' 	
'
+ IFS='
'
echo x; sed '/^#/d; /^[ 	]*$/d' "$cnf_file"
++ echo x
++ sed '/^#/d; /^[ 	]*$/d' /tmp/prefix/share/texmf/web2c/fmtutil.cnf
+ set x 'mf		mf-nowin	-		-translate-file=cp227.tcx mf.ini' 'mpost		mpost		-		-translate-file=cp227.tcx mpost.mp' 'metafun		mpost		-		-translate-file=cp227.tcx metafun.mp' 'tex		tex	-		tex.ini' 'pdftex		pdftex	-		-translate-file=cp227.tcx *pdftex.ini' 'latex		pdftex	language.dat	-translate-file=cp227.tcx *latex.ini' 'etex		pdftex	language.def	-translate-file=cp227.tcx *etex.ini' 'pdfetex		pdftex	language.def	-translate-file=cp227.tcx *pdfetex.ini' 'pdflatex	pdftex	language.dat	-translate-file=cp227.tcx *pdflatex.ini' 'omega	omega	-		omega.ini' 'lambda	omega	language.dat	lambda.ini' 'aleph	aleph	-		*aleph.ini' 'lamed	aleph	language.dat	*lambda.ini' 'xetex	xetex	-		-etex xetex.ini' 'xelatex	xetex	language.dat	-etex xelatex.ini' 'amstex	pdftex		-		-translate-file=cp227.tcx *amstex.ini' 'cont-en	pdftex		cont-usr.tex	-8bit *cont-en.ini' 'cont-en	xetex		cont-usr.tex	-8bit *cont-en.ini' 'mex		pdftex		mexconf.tex	-translate-file=cp227.tcx *mex.ini' 'pdfmex		pdftex		mexconf.tex	-translate-file=cp227.tcx *pdfmex.ini' 'utf8mex		pdftex		mexconf.tex	-enc *utf8mex.ini' 'csplain      pdftex     -     -etex -translate-file=cp227.tcx csplain.ini' 'cslatex      pdftex     -     -etex -translate-file=cp227.tcx cslatex.ini' 'pdfcsplain   pdftex     -     -etex -translate-file=cp227.tcx csplain.ini' 'pdfcslatex   pdftex     -     -etex -translate-file=cp227.tcx cslatex.ini' 'mltex		pdftex	-		-translate-file=cp227.tcx -mltex mltex.ini' 'mllatex		pdftex	language.dat	-translate-file=cp227.tcx -mltex mllatex.ini' 'eplain	pdftex		language.dat	-translate-file=cp227.tcx *eplain.ini' 'mptopdf		pdftex	-		-translate-file=cp227.tcx mptopdf.tex' 'texsis		pdftex	-		-translate-file=cp227.tcx texsis.ini' 'physe		pdftex	-		physe.ini' 'phyzzx		pdftex	-		physe.ini' 'xmltex		pdftex	language.dat	&latex xmltex.ini' 'pdfxmltex	pdftex	language.dat	&pdflatex pdfxmltex.ini' 'jadetex		pdftex	language.dat	&latex jadetex.ini' 'pdfjadetex	pdftex	language.dat	&pdflatex pdfjadetex.ini'
+ shift
+ IFS=' 	
'
+ for line in '"$@"'
+ parse_line mf mf-nowin - -translate-file=cp227.tcx mf.ini
+ case $1 in
+ disabled=false
+ format=mf
+ engine=mf-nowin
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx mf.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=mf.ini
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
++ echo mf.ini
+ inifile=mf.ini
+ case "$engine" in
+ fmtfile=mf.base
+ kpsefmt=mf
+ texengine=metafont
+ kpsewhich -progname=mf -format=mf mf.ini
+ continue
+ for line in '"$@"'
+ parse_line mpost mpost - -translate-file=cp227.tcx mpost.mp
+ case $1 in
+ disabled=false
+ format=mpost
+ engine=mpost
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx mpost.mp'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=mpost.mp
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
++ echo mpost.mp
+ inifile=mpost.mp
+ case "$engine" in
+ fmtfile=mpost.mem
+ kpsefmt=mpost
+ texengine=metapost
+ kpsewhich -progname=mpost -format=mpost mpost.mp
+ continue
+ for line in '"$@"'
+ parse_line metafun mpost - -translate-file=cp227.tcx metafun.mp
+ case $1 in
+ disabled=false
+ format=metafun
+ engine=mpost
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx metafun.mp'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=metafun.mp
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
+ inifile=metafun.mp
+ case "$engine" in
+ fmtfile=metafun.mem
+ kpsefmt=mpost
+ texengine=metapost
+ kpsewhich -progname=metafun -format=mpost metafun.mp
+ continue
+ for line in '"$@"'
+ parse_line tex tex - tex.ini
+ case $1 in
+ disabled=false
+ format=tex
+ engine=tex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs=tex.ini
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg=tex.ini
echo $lastarg | sed 's%^\*%%'
++ echo tex.ini
++ sed 's%^\*%%'
+ inifile=tex.ini
+ case "$engine" in
+ fmtfile=tex.fmt
+ kpsefmt=tex
+ texengine=tex
+ kpsewhich -progname=tex -format=tex tex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdftex pdftex - -translate-file=cp227.tcx '*pdftex.ini'
+ case $1 in
+ disabled=false
+ format=pdftex
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *pdftex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*pdftex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*pdftex.ini'
++ sed 's%^\*%%'
+ inifile=pdftex.ini
+ case "$engine" in
+ fmtfile=pdftex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdftex -format=tex pdftex.ini
+ continue
+ for line in '"$@"'
+ parse_line latex pdftex language.dat -translate-file=cp227.tcx '*latex.ini'
+ case $1 in
+ disabled=false
+ format=latex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *latex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*latex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*latex.ini'
++ sed 's%^\*%%'
+ inifile=latex.ini
+ case "$engine" in
+ fmtfile=latex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=latex -format=tex latex.ini
+ continue
+ for line in '"$@"'
+ parse_line etex pdftex language.def -translate-file=cp227.tcx '*etex.ini'
+ case $1 in
+ disabled=false
+ format=etex
+ engine=pdftex
+ hyphenation=language.def
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *etex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*etex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*etex.ini'
++ sed 's%^\*%%'
+ inifile=etex.ini
+ case "$engine" in
+ fmtfile=etex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=etex -format=tex etex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfetex pdftex language.def -translate-file=cp227.tcx '*pdfetex.ini'
+ case $1 in
+ disabled=false
+ format=pdfetex
+ engine=pdftex
+ hyphenation=language.def
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *pdfetex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*pdfetex.ini'
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
++ echo '*pdfetex.ini'
+ inifile=pdfetex.ini
+ case "$engine" in
+ fmtfile=pdfetex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfetex -format=tex pdfetex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdflatex pdftex language.dat -translate-file=cp227.tcx '*pdflatex.ini'
+ case $1 in
+ disabled=false
+ format=pdflatex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *pdflatex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*pdflatex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*pdflatex.ini'
++ sed 's%^\*%%'
+ inifile=pdflatex.ini
+ case "$engine" in
+ fmtfile=pdflatex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdflatex -format=tex pdflatex.ini
+ continue
+ for line in '"$@"'
+ parse_line omega omega - omega.ini
+ case $1 in
+ disabled=false
+ format=omega
+ engine=omega
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs=omega.ini
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg=omega.ini
echo $lastarg | sed 's%^\*%%'
++ echo omega.ini
++ sed 's%^\*%%'
+ inifile=omega.ini
+ case "$engine" in
+ fmtfile=omega.fmt
+ kpsefmt=tex
+ texengine=omega
+ kpsewhich -progname=omega -format=tex omega.ini
+ continue
+ for line in '"$@"'
+ parse_line lambda omega language.dat lambda.ini
+ case $1 in
+ disabled=false
+ format=lambda
+ engine=omega
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs=lambda.ini
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg=lambda.ini
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
++ echo lambda.ini
+ inifile=lambda.ini
+ case "$engine" in
+ fmtfile=lambda.fmt
+ kpsefmt=tex
+ texengine=omega
+ kpsewhich -progname=lambda -format=tex lambda.ini
+ continue
+ for line in '"$@"'
+ parse_line aleph aleph - '*aleph.ini'
+ case $1 in
+ disabled=false
+ format=aleph
+ engine=aleph
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='*aleph.ini'
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg='*aleph.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*aleph.ini'
++ sed 's%^\*%%'
+ inifile=aleph.ini
+ case "$engine" in
+ fmtfile=aleph.fmt
+ kpsefmt=tex
+ texengine=aleph
+ kpsewhich -progname=aleph -format=tex aleph.ini
+ continue
+ for line in '"$@"'
+ parse_line lamed aleph language.dat '*lambda.ini'
+ case $1 in
+ disabled=false
+ format=lamed
+ engine=aleph
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='*lambda.ini'
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg='*lambda.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*lambda.ini'
++ sed 's%^\*%%'
+ inifile=lambda.ini
+ case "$engine" in
+ fmtfile=lamed.fmt
+ kpsefmt=tex
+ texengine=aleph
+ kpsewhich -progname=lamed -format=tex lambda.ini
+ continue
+ for line in '"$@"'
+ parse_line xetex xetex - -etex xetex.ini
+ case $1 in
+ disabled=false
+ format=xetex
+ engine=xetex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex xetex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=xetex.ini
echo $lastarg | sed 's%^\*%%'
++ echo xetex.ini
++ sed 's%^\*%%'
+ inifile=xetex.ini
+ case "$engine" in
+ fmtfile=xetex.fmt
+ kpsefmt=tex
+ texengine=xetex
+ kpsewhich -progname=xetex -format=tex xetex.ini
+ continue
+ for line in '"$@"'
+ parse_line xelatex xetex language.dat -etex xelatex.ini
+ case $1 in
+ disabled=false
+ format=xelatex
+ engine=xetex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex xelatex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=xelatex.ini
echo $lastarg | sed 's%^\*%%'
++ echo xelatex.ini
++ sed 's%^\*%%'
+ inifile=xelatex.ini
+ case "$engine" in
+ fmtfile=xelatex.fmt
+ kpsefmt=tex
+ texengine=xetex
+ kpsewhich -progname=xelatex -format=tex xelatex.ini
+ continue
+ for line in '"$@"'
+ parse_line amstex pdftex - -translate-file=cp227.tcx '*amstex.ini'
+ case $1 in
+ disabled=false
+ format=amstex
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *amstex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*amstex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*amstex.ini'
++ sed 's%^\*%%'
+ inifile=amstex.ini
+ case "$engine" in
+ fmtfile=amstex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=amstex -format=tex amstex.ini
+ continue
+ for line in '"$@"'
+ parse_line cont-en pdftex cont-usr.tex -8bit '*cont-en.ini'
+ case $1 in
+ disabled=false
+ format=cont-en
+ engine=pdftex
+ hyphenation=cont-usr.tex
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-8bit *cont-en.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*cont-en.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*cont-en.ini'
++ sed 's%^\*%%'
+ inifile=cont-en.ini
+ case "$engine" in
+ fmtfile=cont-en.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=cont-en -format=tex cont-en.ini
+ continue
+ for line in '"$@"'
+ parse_line cont-en xetex cont-usr.tex -8bit '*cont-en.ini'
+ case $1 in
+ disabled=false
+ format=cont-en
+ engine=xetex
+ hyphenation=cont-usr.tex
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-8bit *cont-en.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*cont-en.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*cont-en.ini'
++ sed 's%^\*%%'
+ inifile=cont-en.ini
+ case "$engine" in
+ fmtfile=cont-en.fmt
+ kpsefmt=tex
+ texengine=xetex
+ kpsewhich -progname=cont-en -format=tex cont-en.ini
+ continue
+ for line in '"$@"'
+ parse_line mex pdftex mexconf.tex -translate-file=cp227.tcx '*mex.ini'
+ case $1 in
+ disabled=false
+ format=mex
+ engine=pdftex
+ hyphenation=mexconf.tex
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *mex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*mex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*mex.ini'
++ sed 's%^\*%%'
+ inifile=mex.ini
+ case "$engine" in
+ fmtfile=mex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=mex -format=tex mex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfmex pdftex mexconf.tex -translate-file=cp227.tcx '*pdfmex.ini'
+ case $1 in
+ disabled=false
+ format=pdfmex
+ engine=pdftex
+ hyphenation=mexconf.tex
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *pdfmex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*pdfmex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*pdfmex.ini'
++ sed 's%^\*%%'
+ inifile=pdfmex.ini
+ case "$engine" in
+ fmtfile=pdfmex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfmex -format=tex pdfmex.ini
+ continue
+ for line in '"$@"'
+ parse_line utf8mex pdftex mexconf.tex -enc '*utf8mex.ini'
+ case $1 in
+ disabled=false
+ format=utf8mex
+ engine=pdftex
+ hyphenation=mexconf.tex
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-enc *utf8mex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*utf8mex.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*utf8mex.ini'
++ sed 's%^\*%%'
+ inifile=utf8mex.ini
+ case "$engine" in
+ fmtfile=utf8mex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=utf8mex -format=tex utf8mex.ini
+ continue
+ for line in '"$@"'
+ parse_line csplain pdftex - -etex -translate-file=cp227.tcx csplain.ini
+ case $1 in
+ disabled=false
+ format=csplain
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex -translate-file=cp227.tcx csplain.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=csplain.ini
echo $lastarg | sed 's%^\*%%'
++ echo csplain.ini
++ sed 's%^\*%%'
+ inifile=csplain.ini
+ case "$engine" in
+ fmtfile=csplain.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=csplain -format=tex csplain.ini
+ continue
+ for line in '"$@"'
+ parse_line cslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini
+ case $1 in
+ disabled=false
+ format=cslatex
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex -translate-file=cp227.tcx cslatex.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=cslatex.ini
echo $lastarg | sed 's%^\*%%'
++ echo cslatex.ini
++ sed 's%^\*%%'
+ inifile=cslatex.ini
+ case "$engine" in
+ fmtfile=cslatex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=cslatex -format=tex cslatex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfcsplain pdftex - -etex -translate-file=cp227.tcx csplain.ini
+ case $1 in
+ disabled=false
+ format=pdfcsplain
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex -translate-file=cp227.tcx csplain.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=csplain.ini
echo $lastarg | sed 's%^\*%%'
++ echo csplain.ini
++ sed 's%^\*%%'
+ inifile=csplain.ini
+ case "$engine" in
+ fmtfile=pdfcsplain.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfcsplain -format=tex csplain.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfcslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini
+ case $1 in
+ disabled=false
+ format=pdfcslatex
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-etex -translate-file=cp227.tcx cslatex.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=cslatex.ini
echo $lastarg | sed 's%^\*%%'
++ echo cslatex.ini
++ sed 's%^\*%%'
+ inifile=cslatex.ini
+ case "$engine" in
+ fmtfile=pdfcslatex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfcslatex -format=tex cslatex.ini
+ continue
+ for line in '"$@"'
+ parse_line mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini
+ case $1 in
+ disabled=false
+ format=mltex
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx -mltex mltex.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=mltex.ini
echo $lastarg | sed 's%^\*%%'
++ sed 's%^\*%%'
++ echo mltex.ini
+ inifile=mltex.ini
+ case "$engine" in
+ fmtfile=mltex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=mltex -format=tex mltex.ini
+ continue
+ for line in '"$@"'
+ parse_line mllatex pdftex language.dat -translate-file=cp227.tcx -mltex mllatex.ini
+ case $1 in
+ disabled=false
+ format=mllatex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx -mltex mllatex.ini'
+ eval 'lastarg=$3'
lastarg=$3
++ lastarg=mllatex.ini
echo $lastarg | sed 's%^\*%%'
++ echo mllatex.ini
++ sed 's%^\*%%'
+ inifile=mllatex.ini
+ case "$engine" in
+ fmtfile=mllatex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=mllatex -format=tex mllatex.ini
+ continue
+ for line in '"$@"'
+ parse_line eplain pdftex language.dat -translate-file=cp227.tcx '*eplain.ini'
+ case $1 in
+ disabled=false
+ format=eplain
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx *eplain.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg='*eplain.ini'
echo $lastarg | sed 's%^\*%%'
++ echo '*eplain.ini'
++ sed 's%^\*%%'
+ inifile=eplain.ini
+ case "$engine" in
+ fmtfile=eplain.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=eplain -format=tex eplain.ini
+ continue
+ for line in '"$@"'
+ parse_line mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex
+ case $1 in
+ disabled=false
+ format=mptopdf
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx mptopdf.tex'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=mptopdf.tex
echo $lastarg | sed 's%^\*%%'
++ echo mptopdf.tex
++ sed 's%^\*%%'
+ inifile=mptopdf.tex
+ case "$engine" in
+ fmtfile=mptopdf.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=mptopdf -format=tex mptopdf.tex
+ continue
+ for line in '"$@"'
+ parse_line texsis pdftex - -translate-file=cp227.tcx texsis.ini
+ case $1 in
+ disabled=false
+ format=texsis
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='-translate-file=cp227.tcx texsis.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=texsis.ini
echo $lastarg | sed 's%^\*%%'
++ echo texsis.ini
++ sed 's%^\*%%'
+ inifile=texsis.ini
+ case "$engine" in
+ fmtfile=texsis.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=texsis -format=tex texsis.ini
+ continue
+ for line in '"$@"'
+ parse_line physe pdftex - physe.ini
+ case $1 in
+ disabled=false
+ format=physe
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs=physe.ini
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg=physe.ini
echo $lastarg | sed 's%^\*%%'
++ echo physe.ini
++ sed 's%^\*%%'
+ inifile=physe.ini
+ case "$engine" in
+ fmtfile=physe.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=physe -format=tex physe.ini
+ continue
+ for line in '"$@"'
+ parse_line phyzzx pdftex - physe.ini
+ case $1 in
+ disabled=false
+ format=phyzzx
+ engine=pdftex
+ hyphenation=-
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs=physe.ini
+ eval 'lastarg=$1'
lastarg=$1
++ lastarg=physe.ini
echo $lastarg | sed 's%^\*%%'
++ echo physe.ini
++ sed 's%^\*%%'
+ inifile=physe.ini
+ case "$engine" in
+ fmtfile=phyzzx.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=phyzzx -format=tex physe.ini
+ continue
+ for line in '"$@"'
+ parse_line xmltex pdftex language.dat '&latex' xmltex.ini
+ case $1 in
+ disabled=false
+ format=xmltex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='&latex xmltex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=xmltex.ini
echo $lastarg | sed 's%^\*%%'
++ echo xmltex.ini
++ sed 's%^\*%%'
+ inifile=xmltex.ini
+ case "$engine" in
+ fmtfile=xmltex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=xmltex -format=tex xmltex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfxmltex pdftex language.dat '&pdflatex' pdfxmltex.ini
+ case $1 in
+ disabled=false
+ format=pdfxmltex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='&pdflatex pdfxmltex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=pdfxmltex.ini
echo $lastarg | sed 's%^\*%%'
++ echo pdfxmltex.ini
++ sed 's%^\*%%'
+ inifile=pdfxmltex.ini
+ case "$engine" in
+ fmtfile=pdfxmltex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfxmltex -format=tex pdfxmltex.ini
+ continue
+ for line in '"$@"'
+ parse_line jadetex pdftex language.dat '&latex' jadetex.ini
+ case $1 in
+ disabled=false
+ format=jadetex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='&latex jadetex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=jadetex.ini
echo $lastarg | sed 's%^\*%%'
++ echo jadetex.ini
++ sed 's%^\*%%'
+ inifile=jadetex.ini
+ case "$engine" in
+ fmtfile=jadetex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=jadetex -format=tex jadetex.ini
+ continue
+ for line in '"$@"'
+ parse_line pdfjadetex pdftex language.dat '&pdflatex' pdfjadetex.ini
+ case $1 in
+ disabled=false
+ format=pdfjadetex
+ engine=pdftex
+ hyphenation=language.dat
+ shift
+ shift
+ shift
+ pool=
+ tcx=
+ case $1 in
+ texargs='&pdflatex pdfjadetex.ini'
+ eval 'lastarg=$2'
lastarg=$2
++ lastarg=pdfjadetex.ini
echo $lastarg | sed 's%^\*%%'
++ echo pdfjadetex.ini
++ sed 's%^\*%%'
+ inifile=pdfjadetex.ini
+ case "$engine" in
+ fmtfile=pdfjadetex.fmt
+ kpsefmt=tex
+ texengine=pdftex
+ kpsewhich -progname=pdfjadetex -format=tex pdfjadetex.ini
+ continue
+ byebye
+ false
+ cleanup 0
+ rc=0
+ true
+ test -n /tmp/fmtutil.1636
+ test -d /tmp/fmtutil.1636
+ cd /
+ rm -rf /tmp/fmtutil.1636
+ exit 0
+ exit 0



Cheers, Peter

-- 
http://pmrb.free.fr/contact/



More information about the tex-live mailing list