-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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: mirroring is bad #10026
Comments
I just built
|
It was giving me "Access denied", a little investigation revealed that some DOS protection mechanism on the servers was getting in my way. It's also weird that the two mirrors I tried had that exact behavior. Probably some default configuration on their FTP servers. Giving This is rather annoying that increasing I'm closing this issue, thanks @peti . |
Or, I'll just rephrase the issue as "Can't compile dblatex when Can we do anything about this? |
As I noted in #287, we would have to mirror it ourselves. TAN only decently mirrors the latest TeX Live packages, not yearly releases. |
|
Maybe, but not all hosts behave the same, e.g. for cache.nixos.org we do want to utilize many more parallel requests. (At least for checking whether paths are in the cache, though there is a separate setting for that already, |
Now the generic URL doesn't work anymore but http://ftp.math.utah.edu still does (pushed commits to use that). I'm afraid they might be taking action as a result of nixpkgs causing lots of downloads from them, which might end up in this sole source being cut away in future. I believe I still have the full archive on some computer if that happens (in nix store, after I was generating the hashes after unpacking). |
We could just update the package list daily-ish and use the CTAN mirror system; TeXLive holds back most of the updates to core packages, so at least the minimal set will work on old channel versions (and probably more). |
I would prefer to avoid updating faster than once a year, perhaps except some important bug fixes. Well, the core stuff should be mirrored by us already. I think the critical point was between committing and getting to channels (and hashed-mirror, perhaps), so we might be good in that already, but I haven't really checked, I think. There's also the advantage that the unpacked stuff is made fixed-output, so updates are no-op even if stdenv changes (except for the binaries, but those are small and from a single tarball). |
It occured to me again:
|
No working mirror anymoreNow the situation got much worse. The upstream package archive was recently overwritten by the final state of TeX Live 2015, so there is nowhere to download from, except for the packages that are in our binary cache (mainly the closure of I suppose we would best import it all into our binary cache. Upstream just mirrors the daily-changing state and expects distros to solve anything else on their own. Even the unpacked packages are fixed-output derivations (by sha1); I found locally all packages required for running but not those with documentation or sources. @edolstra: is it acceptable to mirror these at least? They're not too big:
It's likely other users have the other types of packages as well. We all know the fixed hashes, so trust shouldn't be an issue in this step... Any other ideas? |
Hm, I tried mirroring to the tarball cache, but
Uploading to the binary cache won't work very well, because the tarballs will probably get garbage-collected (not being referenced by a release). |
The expression assumed you're in a nixpkgs tree. I assume that's the problem. Otherwise you can substitute |
The actual problem appears to be that the |
Ah, well, I don't/didn't know how |
Anyway, if someone has the tarballs, I composed:
These are fixed-output by their md5. |
@edolstra: do you have those tarballs and can upload them? Or should we be searching for someone who has them? |
No, I don't think so. I checked the old Hydra server (lucifer), hoping it still has them, but that's apparently not the case. |
If noone here has a better idea, I suppose I'll post a question on the mailing-list to find if someone still has the original tarballs, as uploading them seems the easiest way to fix stuff including all old branches. (EDITed: readability) |
I have the following ~3800 tarballs available at hydra.cryp.to: http://pastebin.com/Q8SEyr5P. It's not much, but I hope it helpls. |
@peti Thanks! I'll try to use those. |
@peti Trying to use
|
Oops. I broke access to the key file when I fixed the uid collision between |
I'm also hitting this on 16.03, are there any workarounds until we have mirrored the old tarballs? |
This is really unfortunate. 😿 |
@namore, please do. |
@namore, can you share the commit? I'm in need of installing the |
I've committed a (slightly modified) patch in 7abe192. These hashes get out of sync fast! I just hope that our source tarball mirroring works now or we'll have the exact same problem again in a couple of days. |
I don't think it works in this case: #10026 (comment) BTW, over the long term, we might better use a combination of package versions as close as possible to what's released upstream, instead of a snapshot at some random moment. |
Hi @namore, can you share the code you used to generate |
Note: the source files in master contain shell fragments I used to get all the generated stuff. They're in comments at the point where the generated file is included from the rest. |
@vcunat, I could not successfully use the commands in the comments and gave up trying after a while. I had the impression that they were out of date, but I may be wrong.
I ran the script a few times until all hash related errors were resolved. |
Well, yes, it is possible they changed the format of tlpdb. |
Texlive is broken in nixos currently, see: - NixOS/nixpkgs#15039 - NixOS/nixpkgs#10026 Best solution is to just locally copy things needed until this gets fixed.
Interested parties can pre-test texlive-2016: #16391 |
Let's close this texlive 2015 discussion. Problems around mirroring the current 2016 version can be discussed on #24683. |
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
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
I can not build
dblatex
(a dependency ofnix
) on nixpkgs master. It can't download some required archives. Changing mirror toftp.math.utah.edu
inpkgs/tools/typesetting/tex/texlive-new/default.nix
also doesn't solve the problem.It's not a specific dependency, on every run, a different dependency fails(depends on download order).
Steps to reproduce:
nix-shell -I ~/nixpkgs -p dblatex
onnixpkgs/master
The text was updated successfully, but these errors were encountered: