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

texlive: bump for latest ctan, texlive.info archive #75080

Closed
wants to merge 1 commit into from

Conversation

@dtzWill
Copy link
Contributor

@dtzWill dtzWill commented Dec 6, 2019

Motivation for this change

For some context, this was previously and recently discussed:

#61469 (comment)
#71419 (comment)

Fortunately it appears, due to developments since those discussion,
that there is now a versioned mirror for ctan contents!!

Naturally this commit is about moving to that mirror:
updating the package lists and regenerating the hashes.

This has two huge advantages:

  • Updating the pinned ctan packages can be done more frequently
    than the current "once a year".
  • We don't have to rely on community members to create a snapshot
    and mirror it indefinitely and at their own cost.

Minor "advantage":

  • I should be writing but instead I was working on this :P

It appears new, I stumbled upon a mention of it here[1]:

Native TL updates ultimately come from a directory named tlnet (on CTAN).
An archive for tlnet is available, with daily updates since
September 2019, and the final yearly release going back about ten years.

[1] https://www.tug.org/texlive/pkginstall.html


Concerns and theirs status:

  • Package integrity:
    There may be concerns about ensuring the package hashes are obtained
    from a trusted source-- I haven't looked into this at all "yet".

  • Mirror reliability and not-abusing-nice-things-from-good-people
    If the mirror is a small operation it may be hostile to point
    the network request fury of the Nixpkgs texlive community ;).
    This doesn't appear to be the case and there's no mention of it,
    and presumably wouldn't be linked from tug.org if wasn't to be used?
    Would be good to chase down an announcement or otherwise ensure
    this is expected usage.
    Time will tell re:mirror reliability (or speed?),
    so far it seems like a solid service meant to be used
    and unlikely to be problematic.

  • Is the archive only updated once a day?
    The archive is organized by date, which is wonderful (!)
    but might mean the contents may see changes during the day.
    I suspect this is not the case but just a thought.
    Regardless, any problems seem easily avoided by simply
    not updating to the current day and use yesterday instead.


If this is the way we move forward,
there are changes/fixes/improvements to be made
in terms of documentation as well as (possibly)
putting together some update automation tooling.


I have only tested this with a single project so far,
and it doesn't have any especially esoteric or demanding
needs. Help testing by checking your projects to see
that they build and produce expected results.
Building against the before/after set and using diffpdf
is how I usually vet these updates, if that's useful.
The diffpdf especially helps identify the minor
appearance changes I usually miss visually-- tweaks
to microtype behavior or slightly different layout/placement
of figures or handling of beamer slides, etc.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @veprbl @vcunat @veprbl @lovek323 @raskin @jwiegley
(texlive maintainers, thanks!)

Discussion, testing, and help wrapping this up requested and
appreciated.

For some context, this was previously and recently discussed:

#61469 (comment)
#71419 (comment)

Fortunately it appears, due to developments since those discussion,
that there is now a versioned mirror for ctan contents!!

Naturally this commit is about moving to that mirror:
updating the package lists and regenerating the hashes.

This has two huge advantages:

* Updating the pinned ctan packages can be done more frequently
  than the current "once a year".
* We don't have to rely on community members to create a snapshot
  and mirror it indefinitely and at their own cost.

Minor "advantage":

* I should be writing but instead I was working on this :P

It appears new, I stumbled upon a mention of it here[1]:

> Native TL updates ultimately come from a directory named tlnet (on CTAN).
> An archive for tlnet is available, with daily updates since
> September 2019, and the final yearly release going back about ten years.

[1] https://www.tug.org/texlive/pkginstall.html

----

Concerns and theirs status:

* Package integrity:
There may be concerns about ensuring the package hashes are obtained
from a trusted source-- I haven't looked into this at all "yet".

* Mirror reliability and not-abusing-nice-things-from-good-people
If the mirror is a small operation it may be hostile to point
the network request fury of the Nixpkgs texlive community ;).
This doesn't appear to be the case and there's no mention of it,
and presumably wouldn't be linked from tug.org if wasn't to be used?
Would be good to chase down an announcement or otherwise ensure
this is expected usage.
Time will tell re:mirror reliability (or speed?),
so far it seems like a solid service meant to be used
and unlikely to be problematic.

* Is the archive only updated once a day?
The archive is organized by date, which is wonderful (!)
but might mean the contents may see changes during the day.
I suspect this is not the case but just a thought.
Regardless, any problems seem easily avoided by simply
not updating to the current day and use yesterday instead.

----

If this is the way we move forward,
there are changes/fixes/improvements to be made
in terms of documentation as well as (possibly)
putting together some update automation tooling.

---

I have only tested this with a single project so far,
and it doesn't have any especially esoteric or demanding
needs.  Help testing by checking your projects to see
that they build and produce expected results.
Building against the before/after set and using `diffpdf`
is how I usually vet these updates, if that's useful.
The `diffpdf` especially helps identify the minor
appearance changes I usually miss visually-- tweaks
to microtype behavior or slightly different layout/placement
of figures or handling of beamer slides, etc.
@veprbl
Copy link
Member

@veprbl veprbl commented Dec 6, 2019

Did you see #74305?

@veprbl
Copy link
Member

@veprbl veprbl commented Dec 7, 2019

@dtzWill I merged my PR as it updates documentation comments. I propose we have some test period first to make sure users can use the new mirror. I'm a bit concerned with its speed also. From your motivation section, I assume that you don't have a specific problem that you are trying to address with the version bump. We can, of course, do the bump now if we really need to.

@dtzWill
Copy link
Contributor Author

@dtzWill dtzWill commented Dec 9, 2019

Ha! No I didn't see that PR, that is great. Sorry for the dup, looking through that PR now.

@dtzWill dtzWill closed this Dec 9, 2019
@dtzWill
Copy link
Contributor Author

@dtzWill dtzWill commented Dec 9, 2019

From your motivation section, I assume that you don't have a specific problem that you are trying to address with the version bump. We can, of course, do the bump now if we really need to.

That's correct, and if we want to be careful about this I'm in favor of testing the mirror switch by itself (as we're now doing) and we can bump later as deemed useful or desirable.

The update was for only minor ctan package updates, nothing critical or likely to be of importance beyond my own projects.

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

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.