Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update README.md to indicate which texlive gets installed? #39

Open
Pomax opened this issue Jun 27, 2020 · 27 comments
Open

update README.md to indicate which texlive gets installed? #39

Pomax opened this issue Jun 27, 2020 · 27 comments

Comments

@Pomax
Copy link

Pomax commented Jun 27, 2020

I need the base texlive and texlive-xetex for a github action, which definitely should not install the 5GB texlive-full, so: is that possible? The README.md does not indicate which version of texlive gets installed, making it impossible to tell whether additional components need to be installed with tlmgr or not, and whether this script is even a viable option (because if it can only grab texlive-full that makes it unsuitable for github actions)

@scottkosty
Copy link
Owner

You're right, it would be nice to have this info on README.md. Does the following output from --help answer your question?

  -p, --profile    FILE       Instead of a default installation, use FILE to specify the
                                configuration (e.g. which packages are installed) of the TeX Live
                                installation. This can be used if space is a concern, for example. To
                                see the format that this file should take, see example.profile. Note
                                that you might need to manually edit the Debian control file so that
                                apt does not think that you have a full TeX Live installation.

@Pomax
Copy link
Author

Pomax commented Jun 28, 2020

close to, although it would be nice if the example.profile was explicit about its use. It's reasonable to assume 1 means "install" and 0 means "don't". but putting that in the heading documentation would remove any uncertainty.

@scottkosty
Copy link
Owner

That's a good idea. Let's leave this issue open as a reminder to do that whenever I work on this again.

@csrabak
Copy link

csrabak commented May 29, 2022

Taking a ride on the thread:

Could it be possible to have the version of TeX Live effectively installed in the deb package created?

Right now on my Ubuntu 20.04 the package manager says "A full "vanilla" TeX Live 2016" whereas the report from install-tl-ubuntu and versions from /opt/texbin are positive about being 2022!

@scottkosty
Copy link
Owner

Taking a ride on the thread:

Welcome!

Could it be possible to have the version of TeX Live effectively installed in the deb package created?

Right now on my Ubuntu 20.04 the package manager says "A full "vanilla" TeX Live 2016" whereas the report from install-tl-ubuntu and versions from /opt/texbin are positive about being 2022!

Just to make sure I understand, what command do you run that shows 2016? If you are using a GUI, can you post a screenshot?

@csrabak
Copy link

csrabak commented May 31, 2022

Here's a screenshot:

Captura de tela de 2022-05-31 16-29-35

This the result of an inquiry in my recent installation:

~$ kpsewhich article.sty
/usr/local/texlive/2022/texmf-dist/tex/latex/base/article.sty
csrabak@salada:~$ tex --version
TeX 3.141592653 (TeX Live 2022)
kpathsea version 6.3.4
Copyright 2022 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.

Also, if I issue:

~$ dpkg-query -s texlive-local
Package: texlive-local
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 12
Maintainer: Scott Kostyshak <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 2016-1~9
Provides: asymptote, asymptote-doc, asymptote-x11, biber, biblatex, biblatex-dw, chktex, cm-super, cm-super-minimal, context, dvipng, dvisvgm, feynmf, fragmaster, jadetex, lacheck, latex-beamer, latex-cjk-all, latex-cjk-chinese, latex-cjk-chinese-arphic-bkai00mp, latex-cjk-chinese-arphic-bsmi00lp, latex-cjk-chinese-arphic-gbsn00lp, latex-cjk-chinese-arphic-gkai00mp, latex-cjk-common, latex-cjk-japanese, latex-cjk-japanese-wadalab, latex-cjk-korean, latex-cjk-thai, latex-sanskrit, latex-xcolor, latexmk, lcdf-typetools, lmodern, luatex, m-tx, makejvf, mendexk, musixtex, pdfjam, pgf, pmx, preview-latex-style, prosper, ps2eps, psutils, purifyeps, t1utils, tex-gyre, tex4ht, tex4ht-common, texlive, texlive-base, texlive-base-bin, texlive-bibtex-extra, texlive-binaries, texlive-common, texlive-doc-base, texlive-doc-bg, texlive-doc-cs+sk, texlive-doc-de, texlive-doc-en, texlive-doc-es, texlive-doc-fi, texlive-doc-fr, texlive-doc-it, texlive-doc-ja, texlive-doc-ko, texlive-doc-mn, texlive-doc-nl, texlive-doc-pl, texlive-doc-pt, texlive-doc-ru, texlive-doc-si, texlive-doc-th, texlive-doc-tr, texlive-doc-uk, texlive-doc-vi, texlive-doc-zh, texlive-extra-utils, texlive-font-utils, texlive-fonts-extra, texlive-fonts-extra-doc, texlive-fonts-recommended, texlive-fonts-recommended-doc, texlive-formats-extra, texlive-games, texlive-generic-extra, texlive-generic-recommended, texlive-humanities, texlive-humanities-doc, texlive-lang-african, texlive-lang-all, texlive-lang-arabic, texlive-lang-armenian, texlive-lang-cjk, texlive-lang-croatian, texlive-lang-cyrillic, texlive-lang-czechslovak, texlive-lang-danish, texlive-lang-dutch, texlive-lang-finnish, texlive-lang-french, texlive-lang-german, texlive-lang-greek, texlive-lang-hebrew, texlive-lang-hungarian, texlive-lang-indic, texlive-lang-italian, texlive-lang-japanese, texlive-lang-korean, texlive-lang-latin, texlive-lang-latvian, texlive-lang-lithuanian, texlive-lang-mongolian, texlive-lang-norwegian, texlive-lang-other, texlive-lang-polish, texlive-lang-portuguese, texlive-lang-spanish, texlive-lang-swedish, texlive-lang-tibetan, texlive-lang-vietnamese, texlive-latex-base, texlive-latex-base-doc, texlive-latex-extra, texlive-latex-extra-doc, texlive-latex-recommended, texlive-latex-recommended-doc, texlive-latex3, texlive-luatex, texlive-math-extra, texlive-metapost, texlive-metapost-doc, texlive-music, texlive-omega, texlive-pictures, texlive-pictures-doc, texlive-plain-extra, texlive-plain-generic, texlive-pstricks, texlive-pstricks-doc, texlive-publishers, texlive-publishers-doc, texlive-science, texlive-science-doc, texlive-xetex, texpower, thailatex, tipa, ttf-freefont, ttf-gfs-artemisia, ttf-gfs-baskerville, ttf-gfs-bodoni-classic, ttf-gfs-didot, ttf-gfs-didot-classic, ttf-gfs-gazis, ttf-gfs-neohellenic, ttf-gfs-olga, ttf-gfs-porson, ttf-gfs-solomos, ttf-gfs-theokritos, ttf-sil-gentium, xindy, xindy-rules, xmltex
Description: A local installation of TeX Live 2016.
 A full "vanilla" TeX Live 2016
 http://tug.org/texlive/debian#vanilla
 installed with
 https://github.com/scottkosty/install-tl-ubuntu

My understanding of the line :
Version: 2016-1~9
is that the package manager will "believe" a forthcoming 'newer' version of TeX Live would be candidate for upgrade.

This situation may arise as the 22.04 upgrade be installed.

IIUC Canonical decided to do a match of package versions to their distributions and for Focal Fossa no upgrades for TeX Live 2016 are being offered.

As a further argument please see this result:

$ dpkg-query -l texlive-local
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nome           Versão       Arquitectura Descrição
+++-==============-============-============-==================================>
ii  texlive-local  2016-1~9     all          A local installation of TeX Live 2>

@scottkosty
Copy link
Owner

Thanks for that info!

My understanding of the line :
Version: 2016-1~9
is that the package manager will "believe" a forthcoming 'newer' version of TeX Live would be candidate for upgrade.

I don't think texlive-local is in the Ubuntu repositories. That's just a "fake" package that "provides" the other packages, so I don't think Ubuntu will try to update them. However, the description is definitely misleading and it would be nice to correct this.

@csrabak
Copy link

csrabak commented Jun 1, 2022

I agree about the "fake" part, and think the idea is to have a documentation the least in need of "interpretation".

If we find automating this too complicated (sometimes the knitting of sed, awk, etc., may not bring ROI for the effort) we can have the string changed to "to check your TeX Live version issue 'tex --version' in the command line".

HTH & pls accept my kudos for this nice script and giving it to the community!

@scottkosty
Copy link
Owner

I agree about the "fake" part, and think the idea is to have a documentation the least in need of "interpretation".

+1

If we find automating this too complicated (sometimes the knitting of sed, awk, etc., may not bring ROI for the effort) we can have the string changed to "to check your TeX Live version issue 'tex --version' in the command line".

Good idea! I embarrassingly didn't even think of that alternative.

HTH & pls accept my kudos for this nice script and giving it to the community!

It's quite hackish by nature ("tricking" Ubuntu's package manager) but strangely has held up pretty well.

I still have no idea when I will make another round of changes and comprehensive tests for this repository. But I think I have enough information logged here that whenever I get to it I'll know what to do.

@csrabak
Copy link

csrabak commented Jun 2, 2022

I see.

If no reason happens to me avoid it, in the next months my 20.04 will be offered to 'upgrade' to 22.04.

If by that time you came with some thing, I can check "test" install-tl-ubuntu in this new environment.

Probably the updater will get stuck but let's see what will happen.

Regards.

@scottkosty
Copy link
Owner

Thanks for the offer! I prefer to test on "virtual machines" so that way if anything goes wrong, it doesn't cause any problems.

@Pomax
Copy link
Author

Pomax commented Jun 5, 2022

Might be useful to have a minimal docker file that bootstraps a slim ubuntu with your script.

@scottkosty
Copy link
Owner

@Pomax I think that would be useful. And it would be faster for testing things. I've previously only relied on virtual boxes. Do you by chance have the time and interest to set one up? I have not used docker before.

@Pomax
Copy link
Author

Pomax commented Jun 5, 2022

putting one together for you right now.

@Pomax
Copy link
Author

Pomax commented Jun 5, 2022

Looks like the need for sudo all over the script is causing some problems - if sudo is already required to run the script, is explicitly running in-script commands prefixed with sudo actually needed anywhere? (the only place it might make sense is the BAD_VARS check, but that should probably not rely on sudo for that information...)

scottkosty added a commit that referenced this issue Jun 5, 2022
These are not needed and cause problems with a docker file [1].

[1] #39 (comment)
@scottkosty
Copy link
Owner

@Pomax Ah dang. I've been wanting to change the script to limit sudo for a while to only the parts where it's needed. Ideally we would do a user installation so that sudo isn't even needed for the TeX Live installation. We would still need it for apt-get stuff, but it would be nice to limit it to that. It seems this is coming back to bite.

Indeed, I don't think sudo has any effect in the following two lines:

  sudo rm -rf /usr/local/texlive/texmf-local/tex/generic/ivritex &&
  sudo rm -rf /usr/local/texlive/texmf-local/bibtex/ivritex &&

From what I understand, we can just remove those without changing anything else. I just pushed this change at 6bda341.

If the sudo in the BAD_VARS check is causing problems, perhaps we could do that check conditionally (e.g., on an environment variable). Would that help? That's not ideal but not sure how else to fix it without invasive changes.

Any other sudo causing problems?

@Pomax
Copy link
Author

Pomax commented Jun 8, 2022

Hiya, got pulled away for a few days, picking this back up =)

@Pomax
Copy link
Author

Pomax commented Jun 8, 2022

That leaves the BAD_VARS sudo, if there's a way to get rid of that one we should be entirely sudo-less and dockerizing should be a bit easier.

@Pomax
Copy link
Author

Pomax commented Jun 8, 2022

So I'm seeing some interesting wget fails while trying to run the docker file now:

#9 0.903 install-tl-ubuntu: running apt and dpkg commands...
#9 199.7 install-tl-ubuntu: determining the fastest repository...
#9 202.7 install-tl-ubuntu: trying automatic detection with a longer timeout and smaller file...
#9 202.8 install-tl-ubuntu: WARNING: automatic repo detection failed. We will use the default repo:
#9 202.8   http://mirror.utexas.edu/ctan/
#9 202.8 install-tl-ubuntu: downloading and extracting install-tl for time number 1...
#9 202.9 install-tl-ubuntu: WARNING: wget failed
#9 202.9 tar: This does not look like a tar archive

Which makes sense: if I try to load http://mirror.utexas.edu/ctan/ in the browser that's a hard nope.

@csrabak
Copy link

csrabak commented Jun 17, 2022

Please bear with me as it may look anal retentive, but I think that the installations scripts if they fail to find a mirror should always be directed to CTAN main repo.

My 0.019999....

@scottkosty
Copy link
Owner

Please bear with me as it may look anal retentive, but I think that the installations scripts if they fail to find a mirror should always be directed to CTAN main repo.

My 0.019999....

That does seem logical, but I remember reading a plea from someone knowledgeable that we don't use that repository and really try to use a mirror. If you ask CTAN for permission to use the main repo as the default and forward their response to me, I'll be happy to do that since indeed it is probably the most robust.

scottkosty added a commit that referenced this issue Jun 18, 2022
The previous one does not seem to be valid anymore, at least not for
the past week.

Thanks to @Pomax [1].

[1] #39 (comment)
@scottkosty
Copy link
Owner

Which makes sense: if I try to load http://mirror.utexas.edu/ctan/ in the browser that's a hard nope.

Thanks for reporting this. It still doesn't work. It's also not listed in the CTAN mirrors anymore. I changed this fallback at c306305.

However, I wonder why the automatic detection failed.

@scottkosty
Copy link
Owner

That leaves the BAD_VARS sudo, if there's a way to get rid of that one we should be entirely sudo-less and dockerizing should be a bit easier.

@Pomax Would it be sufficient if I put in an argument (e.g., --no-safety-checks) that would skip that part of the code?

@Pomax
Copy link
Author

Pomax commented Jun 19, 2022

that would certainly be enough to see if we can get docker to complete a run!

@scottkosty
Copy link
Owner

Sounds good, I'll do that next week. Sorry for my slow responses and fixes. Thanks for sticking with me on this!

@Pomax
Copy link
Author

Pomax commented Jun 19, 2022

No worries, unless someone pays you to do the work, your time is your always your own ;)

scottkosty added a commit that referenced this issue Jul 21, 2022
By using this new option, the 'sudo -u' call is not used. This is a
step towards trying to get docker working.

See:

  #39 (comment)
scottkosty added a commit that referenced this issue Jul 21, 2022
By using this new option, the 'sudo -u' call is not used. This is a
step towards trying to get docker working.

See:

  #39 (comment)
@scottkosty
Copy link
Owner

@Pomax sorry again it took me so long. No problem if you don't have time anymore to take a look. I just pushed a branch called "docker" where I made the commit. Now if you use the option "--no-safety-checks", the "sudo -u" will not be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants