FS#60013 - [texlive] 2018.48566-1 Texdoc fails because texlive.tlpdb does not exist.
Attached to Project:
Arch Linux
Opened by Bart De Roy (sharethewisdom) - Tuesday, 11 September 2018, 10:30 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 30 May 2023, 06:12 GMT
Opened by Bart De Roy (sharethewisdom) - Tuesday, 11 September 2018, 10:30 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 30 May 2023, 06:12 GMT
|
Details
Description:
Running texdoc fails with this error: [string "/usr/share/texmf-dist/scripts/texdoc/search.t..."]:569: assertion failed! ...because texlive.tlpdb should be packaged. see https://github.com/TeX-Live/texdoc/issues/20 Additional info: $ uname -a Linux libreboot 4.18.5-arch1-1-ARCH #1 SMP PREEMPT Fri Aug 24 12:48:58 UTC 2018 x86_64 GNU/Linux $ pacman -Qi texlive-core|grep Version Version : 2018.48566-1 Reproduce: $ texdoc --debug cjhebrew` https://pastebin.com/raw/syWWNdVk |
This task depends upon
Closed by Antonio Rojas (arojas)
Tuesday, 30 May 2023, 06:12 GMT
Reason for closing: Fixed
Additional comments about closing: texlive-bin 2023.66984-2
Tuesday, 30 May 2023, 06:12 GMT
Reason for closing: Fixed
Additional comments about closing: texlive-bin 2023.66984-2
texlive-core /usr/share/texmf-dist/scripts/texlive/lua/texlive/tlpdb.tlu
texlive-core /usr/share/texmf-dist/scripts/texlive/test-tlpdb.tlu
The issue lies within the texdoc v3 (file /usr/share/texmf-dist/scripts/texdoc/search.tlu) itself as init_tlp_database (line 434) attempts to access the "//tlpkg/texlive.tlpdb". This path is obviously wrong. This happens because get_tlroot (line 405) references SELFAUTOPARENT kpsewhich variable which, for whichever reason, equals to "/" on Arch. This can be confirmed via $(kpsewhich --var-value SELFAUTOPARENT).
Pleae note this behaviour has been fixed to some extent in the upstream texdoc repository where TEXMFROOT is referenced instead. This then results in reading from '/usr/share/tlpkg/texlive.tlpdb' which, if supplemented by user, is actually read.
However useful, the updated version has not been released to the current texlive package.
Additional information:
texlive-core 2018.48566-1
Since providing the texlive.tlpdb now makes sense, I put together a simple AUR package (https://aur.archlinux.org/packages/texlive-tlpdb/) that provides the database. Documentation should now work in conjunction with texlive-most-doc (https://aur.archlinux.org/packages/texlive-most-doc/).
Cheers,
n3e
I must confess there is one crucial shortcoming of the PKGBUILD I uploaded to AUR.
As it is now, it simply downloads the current texlive.tlpdb from CTAN. Unfortunately so, this file is regularly (if not continuously) updated as new package versions appear upstream within the texlive distribution. There are two downsides to this, firstly I can't provide any cryptographic signature (while upstream provides a SHA512 I would have to continually update the PKGBUILD - yes I could make that automatized but there is no point, see the next argument) and secondly the contents of texlive.tlpdb diverge from the actual content within archlinux packages.
I have looked at the official texlive-* PKGBUILDs and found the maintainer (Rémy Oudompheng) probably repackages texlive installation, splits it into archlinux-specific packages, versions it and saves it
over at https://sources.archlinux.org/other/texlive, therefore it should be viable to include texlive.tlpdb within, for example, texlive-core during packaging.