Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37538382
en ru br
ALT Linux repos
D:3.0-alt1
5.0: 2.0-alt5
4.1: 2.0-alt4
4.0: 2.0-alt3
3.0: 2.0-alt2.1

Group :: Publishing
RPM: tetex

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: teTeX-2.0-updmap-cnfdir-alt.patch
Download


--- teTeX-src-2.0-rc1/texk/tetex/updmap.updmap-cnfdir-alt	2003-01-03 00:14:59 +0200
+++ teTeX-src-2.0-rc1/texk/tetex/updmap	2003-01-14 01:06:03 +0200
@@ -76,7 +76,7 @@
 Usage: updmap [option] ... [command]
 
 Valid options:
-  --cnffile file             specify configuration file
+  --cnfdir directory         specify configuration files directory
   --outputdir directory      specify output directory
   --nohash                   do not run texhash
   --nomkmap                  do not recreate map files
@@ -129,7 +129,7 @@
 ###############################################################################
 cfgval()
 {
-  cat $cnfFile | sed -n 's/^'"$1"'[	 =][	 =]*//p' | tail -1
+  cat $cnfFiles | sed -n 's/^'"$1"'[	 =][	 =]*//p' | tail -1
 }
 
 ###############################################################################
@@ -187,12 +187,15 @@
 ###############################################################################
 catMaps()
 {
-  egrep "$1" $cnfFile \
-    | sed 's@#.*@@' \
+
+  for i in $cnfFiles ; do
+    egrep "$1" $i \
+       | sed 's@#.*@@' \
        | awk '{print $2}' \
        | sort \
        | uniq \
-       | grep . > $tmp4
+       | grep . 
+  done > $tmp4
 
   while read map; do
     file=`locateMap "$map"`
@@ -259,7 +262,9 @@
       ;;
   esac
 
-  configReplace "$cnfFile" "^$opt[ 	]" "$opt $val"
+  for i in $cnfFiles ; do
+    configReplace "$i" "^$opt[ 	]" "$opt $val"
+  done
 }
 
 ###############################################################################
@@ -281,7 +286,9 @@
   disableMap "$2"
 
   # now enable with the right type:
-  configReplace "$cnfFile" "^#![ 	]*$1[ 	]*$2" "$1 $2"
+  for i in $cnfFiles ; do
+    configReplace "$i" "^#![ 	]*$1[ 	]*$2" "$1 $2"
+  done
 }
 
 ###############################################################################
@@ -290,10 +297,13 @@
 ###############################################################################
 disableMap()
 {
-  mapType=`awk '($1 == "MixedMap" || $1 == "Map") && $2 == map { print $1 }' \
-             map=$1 <"$cnfFile" | sort | uniq`
-  for type in $mapType; do
-    configReplace "$cnfFile" "^$type[ 	]*$1" "#! $type $1"
+
+  for i in $cnfFiles ; do
+    mapType=`awk '($1 == "MixedMap" || $1 == "Map") && $2 == map { print $1 }' \
+             map=$1 <"$i" | sort | uniq`
+    for type in $mapType; do
+      configReplace "$i" "^$type[ 	]*$1" "#! $type $1"
+    done
   done
 }
 
@@ -539,20 +549,20 @@
   verbose=true
   needsCleanup=false
 
-  cnfFileShort=updmap.cfg
-  cnfFile=
-  outputdir=
+  cnfFileShort=00updmap.cfg
+  cnfFileOriginal=updmap.cfg
+  cnfFiles=
+  outputdir=/etc/tex-fonts/
   TEXMFMAIN=`kpsewhich --expand-var='$TEXMFMAIN'`
 
-  tmpdir=${TMP-/tmp}/$progname.$$
-  tmp1=$tmpdir/a
-  tmp2=$tmpdir/b
-  tmp3=$tmpdir/c
-  tmp4=$tmpdir/d
-  tmp5=$tmpdir/e
-  tmp6=$tmpdir/f
-  tmp7=$tmpdir/g
-  tmp8=$tmpdir/h
+  tmp1=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp2=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp3=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp4=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp5=`mktemp -d /tmp/updmap.XXXXXXXXXXXXX`
+  tmp6=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp7=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
+  tmp8=`mktemp /tmp/updmap.XXXXXXXXXXXXX`
 }
 
 ###############################################################################
@@ -562,8 +572,16 @@
 cleanup()
 {
   rc=$?
-  $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
-    && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
+  if test -n "$needsCleanup" ; then
+    test -n "$tmp1" && rm -f "$tmp1"
+    test -n "$tmp2" && rm -f "$tmp2"
+    test -n "$tmp3" && rm -f "$tmp3"
+    test -n "$tmp4" && rm -f "$tmp4"
+    test -n "$tmp5" && rm -rf "$tmp5"
+    test -n "$tmp6" && rm -f "$tmp6"
+    test -n "$tmp7" && rm -f "$tmp7"
+    test -n "$tmp8" && rm -f "$tmp8"
+  fi
   exit $rc
 }
 
@@ -577,7 +595,6 @@
 
   trap 'cleanup' 1 2 3 7 13 15
   needsCleanup=true
-  mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
 }
 
 ###############################################################################
@@ -614,6 +631,17 @@
 {
   if test -z "$outputdir"; then
 
+    # Try TEXFONTSCNF tree. Use it if variable is set and dvips/config can
+    # be written. Copy config file if it does not exist there.
+    tf=`kpsewhich -expand-var='$TEXFONTSCNF'`
+    if test -n "$tf"; then
+      $TEXMFMAIN/web2c/mktexdir "$tf" >/dev/null
+      if test ! -d "$tf" || test ! -w "$tf"; then
+        # forget about TEXF tree...
+        tf=
+      fi
+    fi
+
     # Try VARTEXMF tree. Use it if variable is set and dvips/config can
     # be written. Copy config file if it does not exist there.
     tf=`kpsewhich -expand-var='$VARTEXMF'`
@@ -625,10 +653,9 @@
       fi
     fi
       
-    # Try something relative to config file, fall back to $TEXMFMAIN.
+    # fall back to $TEXMFMAIN.
     if test -z "$tf"; then
-      tf=`echo $cnfFile | sed -n 's@/web2c/[^/]*$@@p'`
-      test -z "$tf" && tf=$TEXMFMAIN
+      tf=$TEXMFMAIN
     fi
 
     outputdir=$tf/dvips/config
@@ -647,21 +674,26 @@
 setupCfgFile()
 {
 
-  if test -z "$cnfFile"; then
+  if test -z "$cnfFiles"; then
 
-    tf=`kpsewhich -expand-var='$VARTEXMF'`
-    if test -n "$tf" && test ! -f "$tf/web2c/$cnfFileShort"; then
-      test -d "$tf/web2c" || $TEXMFMAIN/web2c/mktexdir "$tf/web2c" 2>/dev/null
-      if test -d "$tf/web2c" && test -w "$tf/web2c"; then
-        rm -f "$tf/web2c/$cnfFileShort"
-        cp $TEXMFMAIN/web2c/$cnfFileShort "$tf/web2c/$cnfFileShort"
-        $TEXMFMAIN/web2c/mktexupd "$tf/web2c" "$cnfFileShort"
+    if test -z "$cnfDir" ; then
+
+    tf=`kpsewhich -expand-var='$TEXFONTSCNF'`
+    if test -n "${tf}.d" && test ! -f "${tf}.d/$cnfFileShort"; then
+      test -d "${tf}.d" || $TEXMFMAIN/web2c/mktexdir "${tf}.d" 2>/dev/null
+      if test -d "${tf}.d" && test -w "${tf}.d"; then
+        rm -f "${tf}.d/$cnfFileShort"
+        cp $TEXMFMAIN/web2c/$cnfFileOriginal "${tf}.d/$cnfFileShort"
+        $TEXMFMAIN/web2c/mktexupd "${tf}.d" "$cnfFileShort"
       fi
     fi
-
-    cnfFile=`locateWeb2c $cnfFileShort`
+    else
+	tf="$cnfDir"
+    fi
+    cnfFile="/etc/tex-fonts.d/$cnfFileShort"
     if test -n "$cnfFile"; then
       verboseMsg "using config file $cnfFile"
+      cnfFiles=`ls -1 ${tf}.d/*.cfg`
     else
       abort "config file $cnfFileShort not found"
     fi
@@ -678,10 +710,10 @@
     case $1 in
       --quiet|-q)
           verbose=false;;
-      --cnffile)
-          cfgparam=1; cnfFile=$2; shift;;
-      --cnffile=*)
-          cfgparam=1; cnfFile=`echo "$1" | sed 's/--cnffile=//'`;;
+      --cnfdir)
+          cfgparam=1; cnfDir=$2; shift;;
+      --cnfdir=*)
+          cfgparam=1; cnfDir=`echo "$1" | sed 's/--cnfdir=//'`;;
       --outputdir)
           outputdirparam=1; outputdir=$2; shift;;
       --outputdir=*)
@@ -717,7 +749,7 @@
   do test $# -gt 0 && shift; done
 
   if test -n "$cfgparam"; then
-    if test -z "$cnfFile" || test ! -f "$cnfFile"; then
+    if test -z "$cnfDir" || test ! -d "$cnfDir"; then
       abort "config file \`$cnfFileShort' not found"
     fi
   fi
@@ -737,7 +769,9 @@
 ###############################################################################
 listMaps()
 {
-  egrep '^(#! *)?(Mixed)?Map' $cnfFile
+    for i in $cnfFiles ; do
+	egrep '^(#! *)?(Mixed)?Map' $i
+    done
 }
 
 ###############################################################################
@@ -892,16 +926,16 @@
 
   setupCfgFile
   case "$cmd" in
-    listmaps) listMaps; exit;;
+    listmaps) listMaps; cleanup; exit;;
   esac
 
   # keep a copy of config file, so that we can see if the file was modified
   setupTmpDir
-  cp $cnfFile $tmp5
+  cp $cnfFiles $tmp5
 
   case "$cmd" in
     edit)
-      ${VISUAL-${EDITOR-vi}} $cnfFile;;
+      ${VISUAL-${EDITOR-vi}} $cnfFiles;;
     setoption)
       setOption "$setoptionOpt" "$setoptionVal";;
     enable)
@@ -910,10 +944,21 @@
       disableMap "$disableMapFile";;
   esac
 
-  if test -n "$cmd" && cmp $cnfFile $tmp5 >/dev/null 2>&1; then
-    verboseMsg "$cnfFile unchanged. Map files not recreated."
-    return
-  fi
+    if test -n "$cmd" ; then
+	changed=
+	for i in $cnfFiles ; do
+	    if test -n "$cmd" && cmp $i $tmp5/`basename $i` >/dev/null 2>&1; then
+		verboseMsg "$i unchanged."
+	    else
+		changed=1
+    	    fi
+	done
+   
+	if test -n "$changed" ; then
+	    verboseMsg "Configuration files unchanged, maps wouldn't be recreated"
+	    return
+	fi
+    fi
 
   $mkmapEnabled || return
   setupDestDir
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin