diff options
-rwxr-xr-x | Master/tlpkg/bin/tl-check-fmtshare | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/Master/tlpkg/bin/tl-check-fmtshare b/Master/tlpkg/bin/tl-check-fmtshare index 08969ff6a0f..341e7857aa9 100755 --- a/Master/tlpkg/bin/tl-check-fmtshare +++ b/Master/tlpkg/bin/tl-check-fmtshare @@ -21,7 +21,7 @@ Master=`cd "$bindir"/../.. && pwd` enginedir=`cd "$mydir"/../../../Build/source/Work/texk/web2c 2>/dev/null&& pwd` outdir=/tmp/fmtshare.`id -u` default_fmts="tex.fmt pdftex.fmt pdflatex.fmt xetex.fmt xelatex.fmt - luatex.fmt optex.fmt euptex.fmt" # not lualatex, see below + luatex.fmt euptex.fmt" # not lualatex or optex, see below fmts= remote= @@ -52,11 +52,15 @@ the same. The output directory is not cleaned before starting, in case older logs are helpful in debugging new failures. -Special case: unfortunately, lualatex.fmt cannot be easily tested, and -it is omitted by default. Loading the fmt requires finding many Lua -files, which are unlikely to be available on the remote machine. The +Special case #1: unfortunately, lualatex.fmt cannot be easily tested, +and it is omitted by default. Loading the fmt requires finding many Lua +files, which are unlikely to be available on the remote machine. The script does not try to handle this. +Special case #2: optex.fmt includes precompiled Lua code, which is not +sharable across architectures. Therefore the .fmt isn't either. If +users need this at some future time, the optex maintainer will consider. + Options (must use --, must use space to separate option from value, sorry): --Master MDIR use MDIR for local support files [$Master] @@ -179,6 +183,13 @@ mkfmt () return 1 fi + # the needed engine better be in enginedir. + engine=`echo "$ecmd" | awk '{print $1}'` # engine that was used + if test ! -s "$enginedir/$engine"; then + echo "$0: needed engine not in enginedir: $enginedir/$engine" >&2 + return 1 + fi + # Generate everything in OUTDIR. cd "$outdir" || return 1 @@ -192,7 +203,7 @@ mkfmt () if $env $ecmd >>"$efot" 2>&1 && test -s "$outdir/$fmt"; then sed -n '2p;q' "$efot" echo "$outdir/$fmt" - echo "$ecmd" | awk '{print $1}' # engine that was used + echo "$engine" else echo "$0: could not build $fmt" >&2 echo "$0: engine command failed: $ecmd" >&2 @@ -227,7 +238,9 @@ for fmt in $fmts; do echo "$0: should not happen, returned fmtfile is empty: $fmtfile" >&2 exit 1 fi - echo "$0: (`date`) built fmtfile: `ls -l $fmtfile`" + #echo "$0: (`date`)" + echo "$0: built fmtfile: `ls -l $fmtfile`" + echo "$0: with: $enginedir/$engine" # The TeX \command to exit a job immediately. Assume a LaTeX fmt # if "latex" is in the name, else plain (enough). @@ -238,7 +251,7 @@ for fmt in $fmts; do fi # copy to remote machine. - echo "$0: copying $fmtfile to $remotesys:$remotedir..." + #echo "$0: copying $fmtfile to $remotesys:$remotedir..." scp -pq "$fmtfile" "$remotesys:$remotedir" || exit 1 # load on remote machine. @@ -262,6 +275,7 @@ for fmt in $fmts; do exit 1 else echo "$0: fmt load ok on $remotesys: $fmt" + echo fi done |