FS#74404 - [texlive-core] tlmgr Master "fix"

Attached to Project: Arch Linux
Opened by David Gustavsson (gustaphe) - Friday, 08 April 2022, 13:02 GMT
Last edited by Antonio Rojas (arojas) - Monday, 29 May 2023, 22:15 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Rémy Oudompheng (remyoudompheng)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

The Wiki page for TeX Live, https://wiki.archlinux.org/title/TeX_Live, lists a "fix" for a bug in the arch version of tlmgr. The fix is fairly trivial, essentially
```
sed -i 's/\$Master = "\$Master\/..\/..";/\$Master = "\$Master\/..\/..\/..";/' $TEXMFDIST/scripts/texlive/tlmgr.pl
```
but it's annoying to have to redo manually after every update. I couldn't find a bug report on here about it.
This task depends upon

Closed by  Antonio Rojas (arojas)
Monday, 29 May 2023, 22:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  texlive-bin 2023.66984-2
Comment by Ziyang Lin (NullPointerError) - Thursday, 18 August 2022, 13:45 GMT
Is it possible to put this in PKGBUILD?
Comment by Bryan Lai (bryango) - Friday, 16 December 2022, 13:30 GMT Comment by Curvature (Curvature) - Saturday, 24 December 2022, 06:19 GMT
I'm interested in getting tlmgr fixed because it's necessary to install Latex packages. Two comments.

1. tlmgr is never linked into bin, but it probably should be. To fix this, add the line

ln -s tlmgr "${pkgdir}"/usr/bin/tlmgr

approximately here, https://github.com/bryango/arch-packages/blob/packages/texlive-core/trunk/PKGBUILD#L335.

2. After Bryan's fix is applied, tlmgr in "user mode" does work, i.e.

$ /usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode init-usertree
TLPDB: not a directory, not loading: /home/user1/texmf
$ /usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode install geometry
tlmgr.pl: package repository https://mirror.ox.ac.uk/sites/ctan.org/systems/texlive/tlnet (verified)
[1/1, ??:??/??:??] install: geometry [9k]
running mktexlsr ...
done running mktexlsr.
tlmgr.pl: package log updated: /home/user1/texmf/web2c/tlmgr.log
tlmgr.pl: command log updated: /home/user1/texmf/web2c/tlmgr-commands.log

but not in "system mode," for example

$ /usr/share/texmf-dist/scripts/texlive/tlmgr.pl --dry-run install geometry
/usr/share/texmf-dist/scripts/texlive/tlmgr.pl: open(/usr/share/texmf-dist/scripts/texlive/../../../tlpkg/texlive.tlpdb) failed: No such file or directory at /usr/share/texmf-dist/scripts/texlive/../../../tlpkg/TeXLive/TLPDB.pm line 387.

This is because tlmgr knows how to find the user .tlpdb file ~/texmf/tlpkg/texlive.tlpdb, but doesn't know how to find the system .tlpdb file. I don't think it's ever created. Many commands in tlmgr.pl also return the same error. If someone can confirm this behavior, we should probably consider fixing #2 as well.
Comment by Curvature (Curvature) - Monday, 26 December 2022, 22:32 GMT
#1 is easily fixed, here's the patch.

#2 is tricky. TUG's installer, https://www.tug.org/texlive/quickinstall.html, seems to immediately pull a copy of the remote .tlpdb. So we have two options, 1. Call "tlmgr recreate-tlpdb > texlive.tlpdb" into some reasonable folder location, or 2. Curl the remote's .tlpdb and save it to a resonable location. I think we'll need a TeX expert to comment.
Comment by Andrew Martens (mrtilo) - Monday, 15 May 2023, 13:21 GMT
Can we merge this? tlmgr is still not in path after a TexLive installation

Loading...