texlive[60001] Master/tlpkg/bin/tl-check-fmtshare: skip optex.fmt

commits+karl at tug.org commits+karl at tug.org
Tue Jul 20 22:50:43 CEST 2021


Revision: 60001
          http://tug.org/svn/texlive?view=revision&revision=60001
Author:   karl
Date:     2021-07-20 22:50:43 +0200 (Tue, 20 Jul 2021)
Log Message:
-----------
skip optex.fmt too, has unsharable lua bytecode;
less verbose for regular cron.

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tl-check-fmtshare

Modified: trunk/Master/tlpkg/bin/tl-check-fmtshare
===================================================================
--- trunk/Master/tlpkg/bin/tl-check-fmtshare	2021-07-20 19:44:24 UTC (rev 60000)
+++ trunk/Master/tlpkg/bin/tl-check-fmtshare	2021-07-20 20:50:43 UTC (rev 60001)
@@ -21,7 +21,7 @@
 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 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 @@
     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 @@
   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 @@
     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 @@
   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 @@
     exit 1
   else
     echo "$0: fmt load ok on $remotesys: $fmt"
+    echo
   fi
 done
 



More information about the tex-live-commits mailing list.