[tex-live] luaotfload-tool writes database to TEXMFSYSVAR if writable

jfbu jfbu at free.fr
Mon May 16 10:54:14 CEST 2016


Hi

this is also a TeXLive issue in so far as it concerns
TEXMFVAR/TEXMFSYSVAR

I have observed that doing "luaotfload-tool -fu -vvv"
puts its output in TEXMFSYSVAR if the corresponding
location is writable by the account issuing the command

For example on a test with user XXX I have
TEXMFSYSVAR=/usr/local/texlive/2016b/texmf-var
TEXMFVAR=/Users/XXX/.texlive2016b/texmf-var

and I see on doing luaotfload -fu -vvv for user 
XXX who actually owns 2016b/texmf-var

luaotfload | db : Gzip: /usr/local/texlive/2016b/texmf-var/luatex-cache/generic/names/luaotfload-names.lua.gz
luaotfload | db : Byte: /usr/local/texlive/2016b/texmf-var/luatex-cache/generic/names/luaotfload-names.luc



With user YYY, which has only read-access I get the expected

luaotfload | db : Gzip: /Users/YYY/.texlive2016b/texmf-var/luatex-cache/generic/names/luaotfload-names.lua.gz
luaotfload | db : Byte: /Users/YYY/.texlive2016b/texmf-var/luatex-cache/generic/names/luaotfload-names.luc

but if I open write access to YYY for repertory 2016b/texmf-var,
for example because
both YYY and XXX are in admin group, and I change the group
to admin for all of 2016b/texmf-var, then the invocation of
luaotfload by user YYY will produce the database in the 
/usr/local/texlive/2016b/texmf-var repertory as it was for
XXX who actually owned the repertory.

This looks wrong because each user may have its own fonts, 
and it is not because one user has write-access to

/usr/local/texlive/2016b/texmf-var

that it should mean that its personal config has to be made
generally available.

I expect that account ZZZ with no write access will have LuaLaTeX
use .texlive2016b/texmf-var/luatex-cache/generic/names/luaotfload-names.luc
but there is an issue if both accounts XXX and YYY with write access
to /usr/local/texlive/2016b/texmf-var exist, and have no .texlive2016b/texmf-var
then XXX font config will overwrite the YYY one and vice versa.


My question to TeXLive generally is: is this behaviour of luaotfload
the expected one, are executables expected to write to the first
repertory where they have write access ?

otherwise stated, it seems luaotfload acts a bit like a luaotfload-sys
would. Is this normal ?

I will open a ticket only if needed on luaotfload github repo 
depending on answers received here.

Best

Jean-François


More information about the tex-live mailing list