[tlbuild] linked scripts when script names only differ by their extensions

Robert Alessi alessi at robertalessi.net
Sun Mar 24 09:21:17 CET 2024


Hi Karl,

Many thanks for looking into this!

> 1) Nothing about the content, but to mention a naming discrepancy: The
> latter page uses the name "mktexobsdsymlinks", which seems better than
> "mksymlinks" (which could be anything).

Actually, tl-build.sh "install'ed -m -755" mksymlinks into
mkobsdsymlinks.  But I've renamed this file for clarity.

> 2) Looking at the script, it seems fragile to essentially duplicate the
> (il:)logic wrt memoize-&listings-ext.sh in linked_scripts/Makefile.am.
> Instead, what if I generate a separate file scripts-targets.lst that
> contains both the symlink name and its target, like:
> 
> a2ping ../../texmf-dist/scripts/a2ping/a2ping.pl
> ..
> memoize-clean.pl ../../texmf-dist/scripts/memoize/memoize-clean.pl
> 
> Then your script wouldn't need any logic, just
> check/update/create/remove the symlinks according to the list.

As OpenBSD was unsupported, what I did is try to make the most of what
I could find on svn without asking you and others to adapt to what I
would need or use, but yes, I definitely see a separate,
auto-generated scripts-targets.lst file as a desideratum!

> (I don't know why I didn't do it that way in the first place; the list
> of bare names seems only half-useful.  I surmise that no one else is
> thinking about updates to a custom binary set, or they would have had
> this exact problem. Or maybe they just didn't take the time to write
> about it.)

I guess that's why, one or the other.  But TL's logic is more about
keeping it constantly updated throughout the year, not working only
with the original image, isn't it?

> 3) Another idea: provide the binaries not just as a tarball, but as a
> repo (updated via your script). Then users could update their bin/custom
> dir just by doing a git pull? Is that viable? I'm not sure.

I admit I hadn't considered this solution.  It would require users
first to "tlmgr update --all", then cd to tlbindir and finally do a
git pull.  I'm not sure how many users would do this, perhaps it
should be wrapped up in a command?

Grateful thanks,

-- Robert


More information about the tlbuild mailing list.