diff options
author | Norbert Preining <preining@logic.at> | 2018-01-17 00:55:32 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2018-01-17 00:55:32 +0000 |
commit | f3836c4a04ab445b2d3935c9742886747a9aeea6 (patch) | |
tree | 808699f0a36d2a1c16cf728efcd8db41b0ed0dd0 | |
parent | a9f3323d7b51bc2dc022e421d134cac02a665272 (diff) |
mktexlsr (treefile): use mktemp with fallback option
git-svn-id: svn://tug.org/texlive/trunk@46343 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/kpathsea/ChangeLog | 4 | ||||
-rwxr-xr-x | Build/source/texk/kpathsea/mktexlsr | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog index 519a539ee41..ad1756b462c 100644 --- a/Build/source/texk/kpathsea/ChangeLog +++ b/Build/source/texk/kpathsea/ChangeLog @@ -1,3 +1,7 @@ +2018-01-17 Norbert Preining <norbert@preining.info> + + * mktexlsr (treefile): use mktemp with fallback option for temporary file. + 2018-01-16 Karl Berry <karl@freefriends.org> * kpathsea.pc.in (Cflags): remove -I${libdir} per Debian. diff --git a/Build/source/texk/kpathsea/mktexlsr b/Build/source/texk/kpathsea/mktexlsr index 8d4a38018f9..bd3eb50d6e4 100755 --- a/Build/source/texk/kpathsea/mktexlsr +++ b/Build/source/texk/kpathsea/mktexlsr @@ -73,7 +73,18 @@ if tty -s; then verbose=true; else verbose=false; fi dry_run=false trees= -treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.tmp" +# initialize treefile by either mktemp or some random name +# code taken from pdfjam and adjusted +{ + treefile=` + (umask 077 && mktemp "${TMPDIR-/tmp}/mktexlsrtrees.XXXXXXXXXX") 2>/dev/null + ` && test -n "$treefile" && test -f "$treefile" +} || { + ## We'll use awk to make random number, for portability + random=`awk 'END { srand(); printf ("%d\n", rand()*1000000); }' /dev/null` + treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.$random" +} || exit $? + trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp"; exit' 0 1 2 3 7 13 15 |