Code Monkey home page Code Monkey logo

Comments (5)

koppor avatar koppor commented on August 19, 2024

Feel free to provide a fix using a PR.

from docker-texlive.

rzippo avatar rzippo commented on August 19, 2024

As I understand, this issue with tlmgr installed via apt is by design, as you are supposed to choose between the two distribution/update methods.

Thus the fix would be to install via install-tl script insted of apt, which makes builds last an hour - I am not sure how feasible it would be to run them as frequently as you do.

I have modified the Dockerfile here and uploaded a new docker image here.

from docker-texlive.

koppor avatar koppor commented on August 19, 2024

Thank you for sharing!

I thought, there could be some hacks:

A) Convince tlmgr to update nevertheless
B) Use apt-pin to have tex packages from Debian did

Maybe, it's worth to sneak into https://github.com/reitzig/texlive-docker/blob/master/README.md. - I like full latex installations as users can focus on their document. Maybe, a "good" Texlivefile would be a solution. The last years, that was too hard for me...

Maybe, we can speed up local pulls by publishing a "base" image each month and a daily build basing on that image each day. That way, the build time and pull time will decrease. The cost is more space on the users side, which is IMHO acceptable.

from docker-texlive.

rzippo avatar rzippo commented on August 19, 2024

I like full latex installations as users can focus on their document

I absolutely agree, that is why I used this docker image in the first place. It contains additional software that packages may use, like inkscape.

I thought, there could be some hacks:

A) Convince tlmgr to update nevertheless
B) Use apt-pin to have tex packages from Debian did

I am not sure trying to get Debian packages to work like a manual installation is a proper solution. As I understand, that tlmgr is modified to be always in --usermode, so all it does is local to the user and does not modify what apt installed.

Maybe, we can speed up local pulls by publishing a "base" image each month and a daily build basing on that image each day. That way, the build time and pull time will decrease. The cost is more space on the users side, which is IMHO acceptable.

This is far more doable, in my opinion. The daily build would just pick up from the base image and run tlmgr update --all and apt update && apt upgrade -y.

Maybe, it's worth to sneak into https://github.com/reitzig/texlive-docker/blob/master/README.md

From what I understand, that requires manual configuration to decide which packages to include. Images are smaller, but then you have to manage what you need. As an example, my workflow is based in this extension where I just put danteex/texlive in the settings and let it build automatically while I edit. I far prefer a no-thoughts image.
Something that could be taken however is the version selection (20xx) to make complete images of past frozen distributions.

The question now is whether the current solution, which uses Debian's pre-built packages, is preferable in some use cases and thus it would be better to maintain both this and my solution.

from docker-texlive.

koppor avatar koppor commented on August 19, 2024

We switched to island of tex's base image, which does a weekly build using most recent texlive. Thus, no need to update any more.

from docker-texlive.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.