[tex-live] Has anything changed in the order TL searches for packages?

Norbert Preining preining at logic.at
Thu May 17 10:37:06 CEST 2018


Hi all,

first of all, this is NOT a problem with Debian, it happens the same way
in normal TeX Live

$ kpsewhich lyluatex.sty
/home/norbert/texmf/tex/latex/latex-git/lyluatex/lyluatex.sty
$ lualatex
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
 restricted system commands enabled.
**\relax
LaTeX2e <2018-04-01> patch level 4
(using write cache: /home/norbert/tl/2018/texmf-var/luatex-cache/generic)(using read cache: /home/norbert/tl/2018/texmf-var/luatex-cache/generic /home/norbert/.texlive2018/texmf-var/luatex-cache/generic)
luaotfload | main : initialization completed in 0.135 seconds
*\documentclass{article}\relax
(/home/norbert/tl/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/home/norbert/tl/2018/texmf-dist/tex/latex/base/size10.clo(load luc: /home/nor
bert/tl/2018/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc)))
*\usepackage{lyluatex}\relax
(/home/norbert/tl/2018/texmf-dist/tex/luatex/lyluatex/lyluatex.sty
...


The reason is simple:
$ kpsewhich -progname=luatex -expand-braces='$TEXINPUTS' | sed -e 's/:/\n/g'
.
/home/norbert/.texlive2018/texmf-config/tex/luatex//
/home/norbert/.texlive2018/texmf-var/tex/luatex//
/home/norbert/texmf/tex/luatex//
!!/usr/local/share/texmf/tex/luatex//
!!/home/norbert/tl/2018/texmf-config/tex/luatex//
!!/home/norbert/tl/2018/texmf-var/tex/luatex//
!!/home/norbert/tl/2018/texmf-dist/tex/luatex//
/home/norbert/.texlive2018/texmf-config/tex/plain//
/home/norbert/.texlive2018/texmf-var/tex/plain//
/home/norbert/texmf/tex/plain//
!!/usr/local/share/texmf/tex/plain//
!!/home/norbert/tl/2018/texmf-config/tex/plain//
!!/home/norbert/tl/2018/texmf-var/tex/plain//
!!/home/norbert/tl/2018/texmf-dist/tex/plain//
/home/norbert/.texlive2018/texmf-config/tex/generic//
/home/norbert/.texlive2018/texmf-var/tex/generic//
/home/norbert/texmf/tex/generic//
!!/usr/local/share/texmf/tex/generic//
!!/home/norbert/tl/2018/texmf-config/tex/generic//
!!/home/norbert/tl/2018/texmf-var/tex/generic//
!!/home/norbert/tl/2018/texmf-dist/tex/generic//
/home/norbert/.texlive2018/texmf-config/tex///
/home/norbert/.texlive2018/texmf-var/tex///
/home/norbert/texmf/tex///
!!/usr/local/share/texmf/tex///
!!/home/norbert/tl/2018/texmf-config/tex///
!!/home/norbert/tl/2018/texmf-var/tex///
!!/home/norbert/tl/2018/texmf-dist/tex///


Which clearly shows that 
  !!/home/norbert/tl/2018/texmf-dist/tex/luatex//
comes *before*
  /home/norbert/texmf/tex//

Because the engine specific dirs are searched first through all the
trees, and then the more general one.


Moving the file from 
  ~/texmf/tex/latex/latex-git/lyluatex/lyluatex.sty
to
  texmf/tex/luatex/latex-git/lyluatex/lyluatex.sty
it immediatly works out of the box:

$ lualatex minimal.tex
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
 restricted system commands enabled.
(./minimal.tex
LaTeX2e <2018-04-01> patch level 4
(using write cache: /home/norbert/tl/2018/texmf-var/luatex-cache/generic)(using
 read cache: /home/norbert/tl/2018/texmf-var/luatex-cache/generic /home/norbert
/.texlive2018/texmf-var/luatex-cache/generic)
luaotfload | main : initialization completed in 0.125 seconds
(/home/norbert/tl/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/home/norbert/tl/2018/texmf-dist/tex/latex/base/size10.clo(load luc: /home/nor
bert/tl/2018/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc)))
(/home/norbert/texmf/tex/luatex/latex-git/lyluatex/lyluatex.sty)
....


So the explanation is simply by reading texmf.cnf:
  TEXINPUTS.luatex        = .;$TEXMF/tex/{luatex,plain,generic,}//
  TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
And the expansion seems to first expand the
  {luatex,plain,generic,}
and then the
  TEXMF
part



This has always been like this, the only change was that lyluatex moved
to the luatex hierarchy, and thus is found before the one in $HOME.

Solution, follow the same TDS as the original package.


Norbert

--
PREINING Norbert                               http://www.preining.info
Accelia Inc.     +    JAIST     +    TeX Live     +    Debian Developer
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13


More information about the tex-live mailing list