Improvements to path resolution in tlmgr and other scripts using kpathsea
daniel.nachun at gmail.com
Tue Sep 21 02:28:07 CEST 2021
We are currently attempting to package TeXLive in Homebrew: https://github.com/Homebrew/homebrew-core/pull/83738. The primary target for this package will be our Linux users, although some macOS users have also expressed interest in using this package instead of MacTeX. One difficulty we’ve encountered is the way that TeXLive installation root is identified in tlmgr and some other scripts (a few for crossrefware, cjk-js-integrate and possibly mtxrun) is through kpsewhich –var-value SELFAUTOPARENT.
On a system with –disable-multiplatform (which is set for us by –disable-native-texlive-build), SELFAUTOPARENT returns the parent directory of the TeXLive root installation rather than the root installation itself, because the directory where the scripts are installed does not have an architecture subdirectory (darwin-universal etc.). Would it be an acceptable change for us to change these cases to TEXMFROOT, which we can configure in texmf.cnf? From what I understand, the places where SELFAUTOPARENT is being used are also trying the find the root installation, and are simply assuming it is SELFAUTOPARENT, rather than querying it with kpsewhich –var-value TEXMFROOT.
Although we want to ship TeXLive as a distro build, we still want tlmgr to be usable in usermode for users to manage a local installation as well, and currently we have to resort to some complicated symlinking to make this work. Making these proposed changes would let us avoid this, and would also make packaging easier for other Linux distros. Please let me know if more explanation is needed.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the tex-live