texhash in updmap

Nobuyuki Tsuchimura <[email protected]> Thu, 11 Nov 2004 14:31:17 +0900
Newsgroups gmane.comp.tex.tetex.beta
Message-ID <[email protected]>
Hi,

  When we have a new map file,
our current work is following (if my understanding is correct).
(1) place "new.map" under $TEXMF/fonts/map/
(2) execute "texhash"
(3) execute "updmap --enable (Mixed)Map=new.map"

  Without (2), updmap can't find "new.map".
But updmap executes texhash in the last process, again.

  My suggestion is to execute texhash earlier in updmap process,
so that we can omit (2). Updmap shall do following with my patch.
(a) touch output files
(b) execute "texhash"
(c) read map files (and error check)
(d) write output files

Best regards,
Nobuyuki Tsuchimura

--- tetex-src-2.99.3.20041109-beta/texk/tetex/updmap.orig	2004-11-06 19:25:55.000000000 +0900
+++ tetex-src-2.99.3.20041109-beta/texk/tetex/updmap	2004-11-10 17:58:10.000000000 +0900
@@ -1146,6 +1146,23 @@
 ###############################################################################
 mkMaps()
 {
+  outputFiles="
+    $dvipsoutputdir/download35.map \
+    $dvipsoutputdir/builtin35.map \
+    $dvipsoutputdir/psfonts_t1.map \
+    $dvipsoutputdir/psfonts_pk.map \
+    $pdftexoutputdir/pdftex_dl14.map \
+    $pdftexoutputdir/pdftex_ndl14.map \
+    $dvipdfmoutputdir/dvipdfm_dl14.map \
+    $dvipdfmoutputdir/dvipdfm_ndl14.map \
+    $dvipsoutputdir/ps2pk.map \
+  "
+  touch $outputFiles \
+    $dvipsoutputdir/psfonts.map \
+    $pdftexoutputdir/pdftex.map \
+    $dvipdfmoutputdir/dvipdfm.map
+  $texhashEnabled && { $verbose && texhash || texhash >/dev/null 2>&1; }
+
   mode=`cfgval LW35`
   dvipsPreferOutline=`cfgval dvipsPreferOutline`
   dvipsDownloadBase35=`cfgval dvipsDownloadBase35`
@@ -1188,16 +1205,7 @@
   # files should be world-readable
   umask 022
 
-  for file in \
-    $dvipsoutputdir/download35.map \
-    $dvipsoutputdir/builtin35.map \
-    $dvipsoutputdir/psfonts_t1.map \
-    $dvipsoutputdir/psfonts_pk.map \
-    $pdftexoutputdir/pdftex_dl14.map \
-    $pdftexoutputdir/pdftex_ndl14.map \
-    $dvipdfmoutputdir/dvipdfm_dl14.map \
-    $dvipdfmoutputdir/dvipdfm_ndl14.map \
-    $dvipsoutputdir/ps2pk.map
+  for file in $outputFiles
   do
     rm -f "$file"
     cat > "$file" <<-eof
@@ -1246,20 +1254,10 @@
   verboseMsg
 
   setupSymlinks
-  $texhashEnabled && { $verbose && texhash || texhash >/dev/null 2>&1; }
 
   verboseMsg
   verboseMsg "Files generated:"
-  ls -l \
-    $dvipsoutputdir/download35.map \
-    $dvipsoutputdir/builtin35.map \
-    $dvipsoutputdir/psfonts_t1.map \
-    $dvipsoutputdir/psfonts_pk.map \
-    $pdftexoutputdir/pdftex_dl14.map \
-    $pdftexoutputdir/pdftex_ndl14.map \
-    $dvipdfmoutputdir/dvipdfm_dl14.map \
-    $dvipdfmoutputdir/dvipdfm_ndl14.map \
-    $dvipsoutputdir/ps2pk.map | verboseCat
+  ls -l $outputFiles | verboseCat
   verboseMsg
 
   verboseMsg "Map file links:"