[tldistro] tl file available specifying symlinks for scripts
Karl Berry
karl at freefriends.org
Sun Dec 8 19:00:13 CET 2024
Hi Florian and all - per the thread starting at
https://tug.org/pipermail/tldistro/2024q3/000485.html ...
I finally got around to creating a file containing both the link targets
and the link names for TL (r73071). It's scripts-targets.lst in the
Build/source/texk/texlive/linked_scripts/ directory, i.e., a sibling
file to the existing scripts.lst. (scripts.lst is still being created
and I don't plan to ever get rid of it.)
The first word is the link target and the second word is the link name
(to be created in a bindir). E.g., one line in the file is:
texmf-dist/scripts/texlive/fmtutil.pl fmtutil
I didn't include all the "../"s that are necessary to make it a relative
link since I know this varies among distributions.
Here's what I wrote about it in tlbuild.texi. Comments welcome. --thanks, karl.
-----------------------------------------------------------------------------
As part of the 'make install' in the 'linked_scripts' directory, a
file 'scripts-targets.lst' is created to record all the links that are
created this way, so that distros and others can reproduce them. The
file has one line per link. The first word is the target of the link
(e.g., 'texmf-dist/scripts/texlive/fmtutil.pl'), and the second word is
the name of the link to be placed in the bindir (e.g., 'fmtutil').
Determining the relative link target (how many '../'s) is left to the
users of this file, since it varies among distributions. It can be
assumed there is no whitespace in these filenames.
A few links are within bindir; in that case, the first word of the
line is just a base name, e.g., the file 'fmtutil mktexfmt' means that
doing the equivalent of 'ln -s fmtutil mktexfmt' in the bindir.
Be aware that although extensions are usually stripped (as with
'fmtutil'), there are exceptions, such as 'memoize-extract.pl' and
'listings-ext.sh'.
The 'scripts-targets.lst' file started being created as of the
TeX Live 2025 release. Historically, another file 'scripts.lst' has
been (and still is) created, containing only the link targets, and using
a Bourne shell syntax.
More information about the tldistro
mailing list.