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: 2017 -> 2017-final #40826

Merged
merged 3 commits into from
Aug 10, 2018
Merged

texlive: 2017 -> 2017-final #40826

merged 3 commits into from
Aug 10, 2018

Commits on Aug 9, 2018

  1. texlive: 2017 -> 2017-final

    This commit rebuilds texlive 2017 with the final release of 2017. As described
    in these issues [1][2][3], the upstream CTAN mirrors are a continuously moving
    rolling release without historical archives.
    
    This particular FTP server is also a rolling release folling CTAN for the latest
    version, but it has snapshots of the final texlive releases; it appears that the
    2017 distribution has been unmodified since texlive-2018 was released earlier
    this year.
    
    Along the way, we needed to fix several issues:
    - xindy: if $HOME is unset, it will try to mkdir /homeless-shelter, which fails
      due to insufficient permissions.
    - scheme-infraonly: this scheme had symlinks into other releases that were
      read-only, so it couldn't patch and modify the scripts. This commit removes it
      for now, but that's not a particularly satisfying solution. Ideas?
    
    This also adds some documentation on the upgrade process to prepare for
    texlive-2018 [4].
    
    This commit also replaces the sha1 hashes with upstream's standard sha512 hashes.
    It appears the motivation for the shorter hashes was to save disk space in the
    derivations; in master, the size of this directory is 1012K; in this commit it
    is 1600K. The difference is not particularly large, and the downsides to using
    our own sha1 hashes are:
    
    - More nix code to maintain
    - Multi-step upgrade process for maintainers: the maintainer first has to
      download all upstream tarballs by sha512 hash, then run the fix script, then
      rebuild with sha1 hashes.
    - Less transparent. If we use the upstream sha512 hashes, any user can
      immediately verify that the hashes we're providing match upstream, or match
      the snapshot in time.
    - Easier to debug. Since upstream is rolling and packages may disappear or fail
      to build, it's useful to be able to determine if the sha mismatch is because
      of an update or not; if we have a sha1 mismatch and no tarball to pull, we
      can't figure out which sha512sum would have produced that sha1.
    - Less trust required. Due to the above, users don't have to trust the
      content-addressed mirrors on IPFS and @veprbl's servers as much.
    - Easier to cobble together a source distribution from a variety of sources. It
      seems some FTP servers have more/less than others, or older/newer packages. If
      we know what we're looking for beforehand and we're just missing a few
      packages whose hashes match the advertised hashes upstream, it's easier to find.
    
    [1] NixOS#24683
    [2] NixOS#10026
    [3] NixOS#34490
    [4] NixOS#40232
    bhipple authored and xeji committed Aug 9, 2018
    Configuration menu
    Copy the full SHA
    7c5fd68 View commit details
    Browse the repository at this point in the history
  2. Set xindy HOME to .

    bhipple authored and xeji committed Aug 9, 2018
    Configuration menu
    Copy the full SHA
    c9d55ae View commit details
    Browse the repository at this point in the history
  3. biber: 2.7 -> 2.10

    2.10 is the appropriate version for latest texlive 2017.
    xeji committed Aug 9, 2018
    Configuration menu
    Copy the full SHA
    28dc72f View commit details
    Browse the repository at this point in the history