Re: Problem with kpsewhich on a new instal
Paulo Ney de Souza <[email protected]> Sun, 17 May 2026 22:26:24 -0700
| Newsgroups | gmane.comp.tex.live |
|---|---|
| Message-ID | <CAFVhNZNVWrEf-aSLmdu7q+V4PgajWbO837daVmyKCU1xVLCBAg@mail.gmail.com> |
Hi Max, But why would the TL installer take it in and proceed with the entire installation? PN On Sun, May 17, 2026 at 9:58 PM Max Chernoff <[email protected]> wrote: > Hi Paulo, > > On Sun, 2026-05-17 at 18:10 -0700, Paulo Ney de Souza wrote: > > I do need to use a PATH relative to my home directory because the admin's > > on the machine move users home directories frequently... and in fact, > most > > things are broken: > > > > $ which lualatex > > ~/usr/local/texlive/2026/bin/x86_64-linux/lualatex > > Tilde expansion is a shell feature, so I'm rather surprised that this > ever worked at all. You never mentioned what your $PATH is exactly, but > I'm guessing that your ".<shell>rc" file has something like the > following in it: > > export PATH=~/some/path:/usr/bin > > I'd suggest that you replace that with > > export PATH=$HOME/some/path:/usr/bin > > then your $PATH will always only have absolute paths, while still > adapting to any changes in the location of your home directory. > > On Sun, May 17, 2026 at 5:51 PM Paulo Ney de Souza <[email protected]> > wrote: > > I thought I had seen this some 20 years ago ... is this something that > > will be fixed? > > Karl will be the one who decides what to do here, but I'd argue that the > current behaviour is correct, since this matches the GNU coreutils's > behaviour: > > $ mkdir -p ~/testing > $ cd ~/testing/ > $ printf '#!/bin/sh\necho "Hello, world!"\n' > test.sh > $ chmod a+x test.sh > $ PATH="/usr/bin/:~/testing" env test.sh > env: ‘test.sh’: No such file or directory > $ PATH="/usr/bin/:$HOME/testing" env test.sh > Hello, world! > > Plus, "~" is a perfectly valid character to use in a filename (and is > notably used in Windows for short path names), so if we were to expand > it, we would need to make sure to only expand it if it's at the start of > a $PATH component. The path parsing code in kpathsea is > security-sensitive since it's what ultimately determines if a program is > allowed to run when restricted shell-escape is active, so the fewer > special cases we need there, the better. > > Thanks, > -- Max >