[tex-live] Having a .fmt for different engines

Jonathan Kew jonathan_kew at sil.org
Fri Jan 5 13:33:27 CET 2007


On 5 Jan 2007, at 9:08 am, Norbert Preining wrote:
> What about this: It is short and trivial, maybe Thomas can
> remark on it. The idea:
> - put ALL formats in the engine subdirs
> - in the recreate loop do
> 	at the beginning: mkdir $engine; cd $engine
> 	at the end: cd ..
> - in the install log/fmt/etc stuff
> 	for i in */*.fmt
>   etc
> I tested it, all my formats were recreated and found.

I don't think this approach is adequate, as it fails to address the  
behavior of things like

   fmtutil --byfmt fmtname

which will only (re)create the first entry for the given name. It  
also doesn't deal with --enablefmt and --disablefmt.

Attached is a patch which attempts to deal with these. --byfmt will  
rebuild all formats for the given name, and --{en|dis}ablefmt will  
modify all entries that match the format name.

This patch also supports an option --no-engine-subdir, to revert to  
the old behavior (but using $engine subdirs is the default, so that  
"naive" use of fmtutil will do the right thing for users).

In addition, I'd suggest patching texmf.cnf along these lines:
==================================================
--- texmf/web2c/texmf.cnf       (revision 3142)
+++ texmf/web2c/texmf.cnf       (working copy)
@@ -260,12 +260,12 @@
  % and string pools (.pool) for ini{tex,mf,mp}.  It is silly that we  
have six
  % paths and directories here (they all resolve to a single place by  
default),
  % but historically ...
-TEXFORMATS = .;$TEXMF/web2c
-MFBASES = .;$TEXMF/web2c
-MPMEMS = .;$TEXMF/web2c
-TEXPOOL = .;$TEXMF/web2c
-MFPOOL = .;$TEXMF/web2c
-MPPOOL = .;$TEXMF/web2c
+TEXFORMATS = .;$TEXMF/web2c/{$engine,}//
+MFBASES = .;$TEXFORMATS
+MPMEMS = .;$TEXFORMATS
+TEXPOOL = .;$TEXFORMATS
+MFPOOL = .;$TEXFORMATS
+MPPOOL = .;$TEXFORMATS

  % Device-independent font metric files.
  VFFONTS = .;$TEXMF/fonts/vf//
==================================================

The intent here is to look in $engine subdirs first, so context gets  
the right format for the engine, but also find files directly in  
web2c; also, all subdirs will be searched, so that mf/mp/etc will  
find their formats (which have unique names anyway) even if the  
$engine setting is not as expected.

JK

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fmtutil.jk.patch
Type: application/octet-stream
Size: 4487 bytes
Desc: not available
Url : http://tug.org/pipermail/tex-live/attachments/20070105/c9eb0e76/attachment.obj 
-------------- next part --------------



More information about the tex-live mailing list