install-tl-ubuntu icon indicating copy to clipboard operation
install-tl-ubuntu copied to clipboard

New debian-control-texlive-in.txt for Ubuntu 16.04 and higher

Open legg33 opened this issue 7 years ago • 5 comments

Hi, how were the packages for the current debian-control-texlive-in.txt in the repo chosen? I installed texlive on my Ubuntu 17.04 system and read the warning. Then I thought that it may just be all the packages contained in texlive-full. Running apt install texlive-full on my system would install all the following packages:

aglfn asymptote biber blt chktex cm-super cm-super-minimal context dvidvi dvipng feynmf fonts-arphic-bkai00mp
fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-baekmuk fonts-cabin fonts-comfortaa
fonts-croscore fonts-crosextra-caladea fonts-crosextra-carlito fonts-ebgaramond fonts-ebgaramond-extra
fonts-font-awesome fonts-freefont-otf fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-complutum fonts-gfs-didot
fonts-gfs-neohellenic fonts-gfs-olga fonts-gfs-porson fonts-gfs-solomos fonts-hosny-amiri fonts-ipaexfont-gothic
fonts-ipaexfont-mincho fonts-ipafont-gothic fonts-ipafont-mincho fonts-junicode fonts-linuxlibertine fonts-lobster
fonts-lobstertwo fonts-oflb-asana-math fonts-roboto-hinted fonts-sil-gentium fonts-sil-gentium-basic
fonts-sil-gentiumplus fonts-sil-gentiumplus-compact fonts-stix fonts-unfonts-core fonts-unfonts-extra fragmaster
freeglut3 lacheck 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 latexdiff latexmk lcdf-typetools libalgorithm-c3-perl
libautovivification-perl libb-hooks-endofscope-perl libbtparse1 libbusiness-isbn-data-perl libbusiness-isbn-perl
libbusiness-ismn-perl libbusiness-issn-perl libclass-c3-perl libclass-factory-util-perl libclass-singleton-perl
libdata-compare-perl libdata-dump-perl libdata-optlist-perl libdata-uniqid-perl libdate-simple-perl
libdatetime-calendar-julian-perl libdatetime-format-builder-perl libdatetime-format-strptime-perl
libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdevel-stacktrace-perl libencode-eucjpms-perl
libencode-hanextra-perl libencode-jis2k-perl libeval-closure-perl libexception-class-perl libexporter-tiny-perl
libfile-find-rule-perl libfile-slurp-perl libfile-slurp-tiny-perl libfile-slurp-unicode-perl libipc-run3-perl
liblist-allutils-perl liblist-moreutils-perl liblist-someutils-perl liblist-utilsby-perl liblog-log4perl-perl
libmodule-implementation-perl libmodule-runtime-perl libmro-compat-perl libnamespace-autoclean-perl
libnamespace-clean-perl libnumber-compare-perl libosp5 libostyle1c2 libpackage-deprecationmanager-perl
libpackage-stash-perl libparams-classify-perl libparams-util-perl libparams-validate-perl
libparams-validationcompiler-perl libplot2c2 libpoppler-qt4-4 libpstoedit0c2a libreadonly-perl libregexp-common-perl
librole-tiny-perl libscalar-list-utils-perl libsort-key-perl libspecio-perl libsub-exporter-perl
libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl libtest-fatal-perl libtext-bibtex-perl
libtext-csv-perl libtext-csv-xs-perl libtext-glob-perl libtext-roman-perl libtext-unidecode-perl libtie-cycle-perl
libtry-tiny-perl libunicode-collate-perl libvariable-magic-perl libxml-libxml-simple-perl libxml-libxslt-perl
libxml-writer-perl openjade pfb2t1c2pfb prerex preview-latex-style prosper pstoedit psutils purifyeps python-pil
python-pil.imagetk python-tk tex-gyre texinfo texlive-base texlive-bibtex-extra texlive-binaries texlive-extra-utils
texlive-font-utils texlive-fonts-extra texlive-fonts-extra-doc texlive-fonts-recommended
texlive-fonts-recommended-doc texlive-formats-extra texlive-full texlive-games texlive-generic-extra
texlive-generic-recommended texlive-htmlxml texlive-humanities texlive-humanities-doc texlive-lang-african
texlive-lang-arabic texlive-lang-chinese texlive-lang-cjk texlive-lang-cyrillic texlive-lang-czechslovak
texlive-lang-english texlive-lang-european texlive-lang-french texlive-lang-german texlive-lang-greek
texlive-lang-indic texlive-lang-italian texlive-lang-japanese texlive-lang-korean texlive-lang-other
texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-latex-base texlive-latex-base-doc
texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex
texlive-metapost texlive-metapost-doc texlive-music texlive-omega texlive-pictures texlive-pictures-doc
texlive-plain-extra texlive-pstricks texlive-pstricks-doc texlive-publishers texlive-publishers-doc texlive-science
texlive-science-doc texlive-xetex tipa tk8.6-blt2.5 ttf-adf-accanthis ttf-adf-gillius ttf-adf-universalis vprerex

Would it be appropiate to update the debian-control-texlive-in.txt to contain these packages for Ubuntu 16.04 and higher or are some packages in there that cannot get statisfied by the vanilla texlive installation and that are special to the apt-package?

legg33 avatar Apr 17 '17 22:04 legg33

The packages were chosen using the script in findEquivs/findEquivs. Basically, it sees which binaries are installed by TeX Live and finds the packages in Ubuntu that contain those binaries. It's a far from perfect process.

We cannot just replace all packages that texlive-full depends on because not all of those are installed by TeX Live.

I hope to find time in the next few months to update the packages for 16.04.

scottkosty avatar Apr 20 '17 02:04 scottkosty

What are the negative consequences of running this script on 16.04 and 18.04?

mathuin avatar May 08 '18 16:05 mathuin

@mathuin I haven't heard of many users having problems (although not many have tried it on 18.04 yet), but the main problem that could arise is that install-tl-ubuntu in some sense tricks Ubuntu into thinking that certain packages have been installed (this way, Ubuntu will not try to install them). But it is complicated to figure out which packages the script should tell Ubuntu are installed, because it is not a one-to-one correspondence.

scottkosty avatar May 08 '18 16:05 scottkosty

Ah okay that does make sense. If the control file represents a translation between "bits of TeX Live that can be installed by this script" and "bits of TeX Live that can be installed by Ubuntu", you would definitely want to tell Ubuntu "hey the equivalent to these files are already installed, please do not overwrite them" and AFAIK the only way to do that is to fake the installation of the relevant packages.

I imagine that at least one of the complications comes from files which may not be installed by TeX Live but would have been installed by the Ubuntu packages. Tricky! Almost worth building TeX Live in an Alpine container or something. :-) Thanks for making an awesome package.

mathuin avatar May 08 '18 16:05 mathuin

@mathuin yes exactly what you said. I'm sure there are better ways to do it. I'm actually surprised that I have not seen more problems reported, since this script is admittedly a hack. But it's a hack that seems to work surprisingly well. Unfortunately, the fact that it's a hack also means that I want to be very careful when updating it, and this delays things.

scottkosty avatar May 08 '18 17:05 scottkosty