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
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 10
Private No

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
Comment by Bart De Roy (sharethewisdom) - Tuesday, 11 September 2018, 10:37 GMT
output of pacman -Ql texlive-core|grep tlpdb

texlive-core /usr/share/texmf-dist/scripts/texlive/lua/texlive/tlpdb.tlu
texlive-core /usr/share/texmf-dist/scripts/texlive/test-tlpdb.tlu
Comment by n3e (n3e) - Sunday, 23 September 2018, 16:04 GMT
Introducing texlive.tlpdb into the system (as suggested by https://github.com/TeX-Live/texdoc/issues/20) does not help.

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
Comment by Benedikt (wisperwind) - Sunday, 23 June 2019, 16:53 GMT
The new (2019) TexLive release does include the upstream fix that n3e mentions. Would it be possible to include texlive.tlpdb in texlive-core at this point? Or is there a specific reason not to? Unfortunately, documentation on this file an its generation is still pretty sparse...
Comment by n3e (n3e) - Monday, 24 June 2019, 00:43 GMT
Yes, the current texlive-core (2019) indeed includes fixed texdoc (TEXMFROOT referenced properly). As far as I can tell the texlive package database (tlpdb) is provided upstream (http://tug.ctan.org/systems/texlive/tlnet/tlpkg/, resp. http://tug.ctan.org/systems/texlive/tlnet/tlpkg/texlive.tlpdb to be precise) and can not be easily generated.

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
Comment by Benedikt (wisperwind) - Tuesday, 02 July 2019, 20:11 GMT
That does work, I had written a similar PKGBUILD (which also patched search.tlu) some time ago, too (thanks for putting this up on the AUR, though!). I was hoping it would be feasible to include texlive.tlpdb in texlive-core such that texdoc would be functional out of the box.
Comment by n3e (n3e) - Thursday, 04 July 2019, 07:48 GMT
I agree with your hopes.
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.

Loading...