termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.33k stars 3.07k forks source link

[Bug]: TexLive documentation not installing #19606

Open b9Joker108 opened 7 months ago

b9Joker108 commented 7 months ago

Problem description

There was a recent TexLive update in Termux. Upon installation, there was a terminal output that recommended:

Add /data/data/com.termux/files/usr/share/texlive/texmf-dist/doc/man to MANPATH. Add /data/data/com.termux/files/usr/share/texlive/texmf-dist/doc/info to INFOPATH. Most importantly, add aarch64-linux to your PATH for current and future sessions.

So, I added the necessary code to my Zsh configuration file (.zshrc) and sourced. I then executed: man texlive and info texlive, but no manpages or infopages were discoverable for texlive. So, I inspected all three of these directory paths, but none of them contained the directories.

I endeavored to problem solve. I checked to make sure man and info are working, and they are, just to be sure. I tried to just install the textive documentation manually, but the tlmgr didn't work. So, even though texlive was installed, I uninstalled it completely, and reinstalled it. This time tlmgr is working, but there is still no man or info documentation, and when I tried to install it with tlmgr, it couldn't locate it in the Termux repository.

I read:

https://wiki.termux.com/wiki/TeX_Live

I then executed: tlmgr update --all

And it worked.

I then executed:

termux-patch-texlive, and got the following output:

Checking if $PREFIX/opt/texlive/TLUtils.pm.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/crossrefware.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/pdfjam.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/texconfig.sh.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/texdef.pl.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/tlmgr.pl.diff can be applied.. Nope

By the way, with the fresh texlive install, there was no recommendation, to add those three directory paths to the three Path environment variables, that I mentioned above, which I added to .zshrc

Also, with the fresh install, there was the following welcome message:

Welcome to TeX Live! See /data/data/com.termux/files/usr/share/texlive/2024/index.html for links to documentation.

But, when I investigated, there is no:

/data/data/com.termux/files/usr/share/texlive/2024/index.html

How do I get the TexLive man, info and documentation locally?

Any assistance, is greatly appreciated.

Thank you

What steps will reproduce the bug?

I have provided details of the context of the bug.

What is the expected behavior?

To have the documentation locally installed.

System information

termux-info:

❯ termux-info
Termux Variables:
TERMUX_API_VERSION=0.50.1
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=26375
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://mirrors.aliyun.com/termux/termux-main stable main
# sources.list.d/pointless.list
deb https://its-pointless.github.io/files/21 termux extras
# sources.list.d/ivam3-termux-packages.list
deb [trusted=yes arch=all] https://ivam3.github.io/termux-packages stable extras
# x11-repo (sources.list.d/x11.list)
deb https://mirrors.aliyun.com/termux/termux-x11 x11 main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
# root-repo (sources.list.d/root.list)
deb https://mirrors.aliyun.com/termux/termux-root root stable
Updatable packages:
All packages up to date
termux-tools version:
1.41.2
Android version:
14
Kernel build information:
Linux localhost 5.15.94-android13-8-27940245-abX910XXU1BWL1 #1 SMP PREEMPT Mon Dec 4 10:05:43 UTC 2023 aarch64 Android
Device manufacturer:
samsung
Device model:
SM-X910
LD Variables:
LD_LIBRARY_PATH=:/data/data/com.termux/files/home/install/lib:/data/data/com.termux/files/home/install/lib
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.widget versionCode:13
com.termux.x11 versionCode:14
com.termux.api versionCode:51
com.termux.styling versionCode:31
com.termux.window versionCode:15
AminurAlam commented 7 months ago

I then executed: man texlive and info texlive

texlive isnt really a command so it makes sense manpage for it doesnt exist. manpage for termux-install-tl exists but only accessable by doing termux-install-tl --help.

other manpages are working fine for me. for example:

$ man -w tex
/data/data/com.termux/files/usr/share/man/man1/tex.1.gz

try running makewhatis $MANPATH to index the manpages manually

Grimler91 commented 7 months ago

tlmgr update --all won't work for a major update like 2023 -> 2024.

Please install the texlive-bin and texlive-installer packages with version 20240310, and then run the termux-install-tl command to install 2024 version.

For reference see this page for texlive's recommended steps for major updates, but those steps won't work for termux in any case since we use non-standard binaries and non-standard paths.

Note that our texlive 2024 package installs to $PREFIX/share/texlive/2024, while our texlive 2023 installed to $PREFIX/share/texlive. Probably you have updated texlive-bin, and it now expects texlive installation to be in $PREFIX/share/texlive/2024

Grimler91 commented 7 months ago

Oh, and we only have a sh profile script for texlive at the moment (great opportunity for someone to open a PR to add a profile script for zsh as well, hint hint, wink wink), for zsh you will want to add some lines similar to these to your zshrc.

abdolhamiid commented 6 months ago

Problem description

There was a recent TexLive update in Termux. Upon installation, there was a terminal output that recommended:

Add /data/data/com.termux/files/usr/share/texlive/texmf-dist/doc/man to MANPATH. Add /data/data/com.termux/files/usr/share/texlive/texmf-dist/doc/info to INFOPATH. Most importantly, add aarch64-linux to your PATH for current and future sessions.

So, I added the necessary code to my Zsh configuration file (.zshrc) and sourced. I then executed: man texlive and info texlive, but no manpages or infopages were discoverable for texlive. So, I inspected all three of these directory paths, but none of them contained the directories.

I endeavored to problem solve. I checked to make sure man and info are working, and they are, just to be sure. I tried to just install the textive documentation manually, but the tlmgr didn't work. So, even though texlive was installed, I uninstalled it completely, and reinstalled it. This time tlmgr is working, but there is still no man or info documentation, and when I tried to install it with tlmgr, it couldn't locate it in the Termux repository.

I read:

https://wiki.termux.com/wiki/TeX_Live

I then executed: tlmgr update --all

And it worked.

I then executed:

termux-patch-texlive, and got the following output:

Checking if $PREFIX/opt/texlive/TLUtils.pm.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/crossrefware.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/pdfjam.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/texconfig.sh.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/texdef.pl.diff can be applied.. Nope Checking if $PREFIX/opt/texlive/tlmgr.pl.diff can be applied.. Nope

By the way, with the fresh texlive install, there was no recommendation, to add those three directory paths to the three Path environment variables, that I mentioned above, which I added to .zshrc

Also, with the fresh install, there was the following welcome message:

Welcome to TeX Live! See /data/data/com.termux/files/usr/share/texlive/2024/index.html for links to documentation.

But, when I investigated, there is no:

/data/data/com.termux/files/usr/share/texlive/2024/index.html

How do I get the TexLive man, info and documentation locally?

Any assistance, is greatly appreciated.

Thank you

What steps will reproduce the bug?

I have provided details of the context of the bug.

What is the expected behavior?

To have the documentation locally installed.

System information

termux-info:

❯ termux-info
Termux Variables:
TERMUX_API_VERSION=0.50.1
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=26375
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://mirrors.aliyun.com/termux/termux-main stable main
# sources.list.d/pointless.list
deb https://its-pointless.github.io/files/21 termux extras
# sources.list.d/ivam3-termux-packages.list
deb [trusted=yes arch=all] https://ivam3.github.io/termux-packages stable extras
# x11-repo (sources.list.d/x11.list)
deb https://mirrors.aliyun.com/termux/termux-x11 x11 main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
# root-repo (sources.list.d/root.list)
deb https://mirrors.aliyun.com/termux/termux-root root stable
Updatable packages:
All packages up to date
termux-tools version:
1.41.2
Android version:
14
Kernel build information:
Linux localhost 5.15.94-android13-8-27940245-abX910XXU1BWL1 #1 SMP PREEMPT Mon Dec 4 10:05:43 UTC 2023 aarch64 Android
Device manufacturer:
samsung
Device model:
SM-X910
LD Variables:
LD_LIBRARY_PATH=:/data/data/com.termux/files/home/install/lib:/data/data/com.termux/files/home/install/lib
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.widget versionCode:13
com.termux.x11 versionCode:14
com.termux.api versionCode:51
com.termux.styling versionCode:31
com.termux.window versionCode:15