Bug#240231: mktexmf creates tempfiles in working dir (was: Bug#240231: tetex-bin: mktextfm fails to create font)
> mktexmf does the following - I copy only the important lines:
>
> cat > "mf$$.tmp" <<END
> design_size := $realsize;
> input $rootname;
> END
This is done inside a new temporary directory. From texmf/web2c/mktex.opt:
if test -n "$TMPDIR"; then
TEMPDIR="${TMPDIR}/mt$$.tmp"
else
TEMPDIR="/tmp/mt$$.tmp"
fi
...
(umask 077 && mkdir "$TEMPDIR") || exit 1
cd "$TEMPDIR" || exit 1
> obviously not always. It would be better to create the temporary file in
> /tmp (or $TMPDIR if set).
This already happens. I just have done:
mkdir /tmp/foo
chmod 555 /tmp/foo
cd /tmp/foo
mktexmf ecrm1095
and it worked.
> Probably some checks should be done - or at least the script should be
> "set -e".
Special things have to be done to make scripts "set -e" safe... I prefer
to check important return values individually which gives more control
and avoids things like
# see if foo exists
ret=`kpsewhich foo || true`
...
which are quite ugly.
Thomas
Reply to: