Created
April 13, 2009 04:10
-
-
Save ap/94251 to your computer and use it in GitHub Desktop.
Broken dvipdft fix (failed trying to mkdir tempdir that it had already created)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- /usr/share/texmf/bin/dvipdft 2007-06-28 04:50:14.000000000 +0200 | |
+++ dvipdft 2009-04-13 06:13:05.000000000 +0200 | |
@@ -31,7 +31,14 @@ | |
$progname --help | |
$progname --version" | |
-tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` | |
+# before we create the tmpdir, set trap for cleanup | |
+trap 'rm -rf $tmpdir ; exit 1' 1 2 3 7 13 15 | |
+trap 'rm -rf $tmpdir' 0 | |
+ | |
+tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || { | |
+ echo "$progname: failed to create temp directory." >&2 | |
+ exit 1 | |
+} | |
quoteit() | |
{ | |
@@ -85,24 +92,12 @@ | |
exit 1 | |
} | |
-# before we create the tmpdir, set trap for cleanup | |
-trap ' | |
- rm -rf $tmpdir | |
- exit 1 | |
-' 1 2 3 7 13 15 | |
- | |
-mkdir "$tmpdir" || { | |
- echo "$progname: failed to create temp directory." >&2 | |
- exit 1 | |
-} | |
- | |
# if outBase contains a /, we might need to create a directory | |
case $outBase in | |
*/*) | |
fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'` | |
test -d "$fq" || mkdir -p "$fq" || { | |
echo "$progname: failed to create temp thumbnail directory." >&2 | |
- rm -rf $tmpdir | |
exit 1 | |
} | |
;; | |
@@ -113,7 +108,6 @@ | |
gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \ | |
-sOutputFile="$tmpdir/$outBase.%d" "$outfile" || { | |
echo "$progname: gs failed." >&2 | |
- rm -rf $tmpdir | |
exit 1 | |
} | |
@@ -121,10 +115,8 @@ | |
echo "$progname: running dvipdfm -dt $@ $dvifile" >&2 | |
TMP=$tmpdir dvipdfm -dt "$@" "$dvifile" || { | |
echo "$progname: dvipdfm failed." >&2 | |
- rm -rf $tmpdir | |
exit 1 | |
} | |
# nothing failed, so cleanup and report success to caller | |
-rm -rf $tmpdir | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment