summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-check-fmtshare
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-20 20:50:43 +0000
committerKarl Berry <karl@freefriends.org>2021-07-20 20:50:43 +0000
commitf4ca580b1e34066e51eebe73b6aa6df6f61f9c23 (patch)
tree717dfb3441a712a5098ecf8a7fcbe67d53a83a68 /Master/tlpkg/bin/tl-check-fmtshare
parent07ec69b604e0c1a737d5471382a5f874feaab7c3 (diff)
skip optex.fmt too, has unsharable lua bytecode;
less verbose for regular cron. git-svn-id: svn://tug.org/texlive/trunk@60001 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin/tl-check-fmtshare')
-rwxr-xr-xMaster/tlpkg/bin/tl-check-fmtshare28
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