Package: texlive-base-bin Version: 2007.dfsg.2-3 Severity: normal Tags: patch
The mktexpk script fails if it tries to build a .pk in a directory with space (tested), tab or some backslash-character combinations (obvious from the code). I traced the space problem down to a single cd with unquoted argument. However I also noticed use of echo+sed dirname replacement (with comment "can't rely on dirname" -- basename was relied on on the next line though), which would have problems with spaces at the end (backquote expansion eats them) and backslashes in some shells (the rules for backslash processing in echo differ from shell to shell). So my patch additionally includes a replacement of those two statements with ${var##pattern} and ${var%pattern} expansions. These expansions are POSIX and should thus be reasonably portable. ################################## patch (standard patch -p1 unified diff) --- old/build/source/texk/kpathsea/mktexpk 2006-01-17 22:41:51.000000000 +0100 +++ new/build/source/texk/kpathsea/mktexpk 2008-07-08 21:49:14.000000000 +0200 @@ -199,8 +199,8 @@ IFS=$OIFS PKDEST="$1" -PKDESTDIR=`echo "$PKDEST" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname -PKNAME=`basename "$PKDEST"` +PKDESTDIR=${PKDEST%/*} +PKNAME=${PKDEST##*/} GFNAME=$NAME.${DPI}gf if test -r "$PKDESTDIR/$PKNAME"; then @@ -250,7 +250,7 @@ # Use cp when mv fails, since DOS will fail mv for deeply-nested directories. mv $PKNAME "$PKDESTDIR/pk$$.tmp" 2>/dev/null \ || cp $PKNAME "$PKDESTDIR/pk$$.tmp" || exit 1 -cd $PKDESTDIR || exit 1 +cd "$PKDESTDIR" || exit 1 chmod `kpsestat -xst,go-w .` pk$$.tmp test -r $PKNAME || mv pk$$.tmp $PKNAME || exit 1 ################################## minimal input file No specific TeX input. The problem can be reproduced by putting any .mf font source in a directory with spaces in name and using mktexpk to generate a .pk from it. ################################## other files ###################################### List of ls-R files -rw-r--r-- 1 root root 1503 29. čen 13.37 /var/lib/texmf/ls-R lrwxrwxrwx 1 root staff 25 25. pro 2007 /usr/local/share/texmf/ls-R -> /var/lib/texmf/ls-R-LOCAL lrwxrwxrwx 1 root root 29 17. dub 19.55 /usr/share/texmf/ls-R -> /var/lib/texmf/ls-R-TEXMFMAIN lrwxrwxrwx 1 root root 27 29. čen 13.29 /usr/share/texmf-texlive/ls-R -> /var/lib/texmf/ls-R-TEXLIVE lrwxrwxrwx 1 root root 27 29. čen 13.29 /usr/share/texmf-texlive/ls-R -> /var/lib/texmf/ls-R-TEXLIVE ###################################### Config files lrwxrwxrwx 1 root root 20 17. dub 19.55 /usr/share/texmf/web2c/texmf.cnf -> /etc/texmf/texmf.cnf -rw-r--r-- 1 root root 7618 29. čen 13.37 /var/lib/texmf/web2c/fmtutil.cnf -rw-r--r-- 1 root root 8073 29. čen 13.37 /var/lib/texmf/web2c/updmap.cfg -rw-r--r-- 1 root root 4781 29. čen 13.37 /var/lib/texmf/tex/generic/config/language.dat ###################################### Files in /etc/texmf/web2c/ total 0 ###################################### md5sums of texmf.d 42c20d7e8bd343542772b5a145bf8ad8 /etc/texmf/texmf.d/05TeXMF.cnf 5f7f6652cc8b8071c9e4ea6ba9e9f0a1 /etc/texmf/texmf.d/15Plain.cnf f68e5add6afd6585b982f2f78e2e6a92 /etc/texmf/texmf.d/45TeXinputs.cnf ea33127256c6a9f37145ae5b16fdb80c /etc/texmf/texmf.d/55Fonts.cnf afccf1d3f87057411166a77c58e00bd1 /etc/texmf/texmf.d/65BibTeX.cnf 9da7c1c7b1eaf06f941af91f48a23068 /etc/texmf/texmf.d/75DviPS.cnf 8fee79ccdd5d1f56b1563dabfd53c717 /etc/texmf/texmf.d/85Misc.cnf a8952d594677235951d447665ec46e9c /etc/texmf/texmf.d/90TeXDoc.cnf 30f4f13357c2761ed01a6a15f28725a5 /etc/texmf/texmf.d/95NonPath.cnf 1df66bc319cec731e202eaf39f5d85e1 /etc/texmf/texmf.d/96JadeTeX.cnf -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (100, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24-1-amd64 (SMP w/1 CPU core) Locale: LANG=C, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages texlive-base-bin depends on: ii ed 0.7-1 The classic unix line editor ii libc6 2.7-12 GNU C Library: Shared libraries ii libgcc1 1:4.3.1-5 GCC support library ii libkpathsea4 2007.dfsg.2-3 TeX Live: path search library for ii libncurses5 5.6+20080621-2 shared libraries for terminal hand ii libpng12-0 1.2.27-1 PNG library - runtime ii libpoppler3 0.8.4-1 PDF rendering library ii libstdc++6 4.3.1-5 The GNU Standard C++ Library v3 ii libx11-6 2:1.1.4-2 X11 client-side library ii libxaw7 2:1.0.4-2 X11 Athena Widget library ii libxmu6 2:1.0.4-1 X11 miscellaneous utility library ii libxpm4 1:3.5.7-1 X11 pixmap library ii libxt6 1:1.0.5-3 X11 toolkit intrinsics library ii mime-support 3.44-1 MIME files 'mime.types' & 'mailcap ii perl 5.10.0-11 Larry Wall's Practical Extraction ii texlive-common 2007.dfsg.1-2 TeX Live: Base component ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime Versions of packages texlive-base-bin recommends: ii perl-tk 1:804.028-1+b1 Perl module providing the Tk graph ii texlive-base-bin-doc 2007.dfsg.2-3 TeX Live: Documentation files for Versions of packages tex-common depends on: ii debconf 1.5.22 Debian configuration management sy ii ucf 3.007 Update Configuration File: preserv Versions of packages texlive-base-bin is related to: pn tetex-base <none> (no description available) pn tetex-bin <none> (no description available) pn tetex-extra <none> (no description available) ii tex-common 1.11 common infrastructure for building -- debconf information: tex-common/check_texmf_wrong: tex-common/check_texmf_missing: tex-common/singleuser: false -- Jan 'Bulb' Hudec <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]