On 10/26/24 1:03 AM, Robin H. Johnson wrote: > This does not actually do it "last" as you claim. > > Portage shuffles the list of thirdpartymirrors: > https://gitweb.gentoo.org/proj/portage.git/tree/lib/portage/package/ebuild/fetch.py#n1140 > > While it increases mirror burden; this should likely be done as a > distinct thirdpartymirror: > apache-historical https://archive.apache.org/dist/
Thanks for pointing this out. It's disappointing but my opinion is that this changes nothing other than the commit message I should use when committing it. > And that gets used in ebuilds when distfiles fall off the main mirrors > [until such time as strictly ordered behavior is available]. This is an unreasonable and irrational burden on ebuild maintainers, and regardless of your choice of remediation, if it isn't automatically and transparently handling it via the thirdpartymirrors handling itself, nobody wins. Not ebuild maintainers (who have to both know the quirks of apache and watch more closely than usual for updates), not bug triagers (who run the risk of getting trivially solvable issues to sort through), and not users (who run a supported configuration and end up with availability issues). It's a bug (albeit low priority) if SRC_URI doesn't point to a valid download location -- why should the fact that thirdpartymirrors has no priority selection change that fact? The suggestion downthread about extending this somehow in EAPI 9 is clever -- we should do it, but we also shouldn't leave the current state of affairs broken until some unspecified time years in the future. > In likelihood, unless the ebuild has RESTRICT=mirror, I'd hope that that > the primary request is made to Gentoo's mirrors before the upstreams: so > that we are better open-source participants. Yes. This is why I think any change to thirdpartymirrors is low risk. > Users who are also trying to use old ebuilds, where the distfile is no > longer on the Gentoo mirrors should also consider thirdpartymirrors in > their profiles, in which case inserting this entry locally would be > appropriate. Unacceptable. This isn't about old ebuilds. It's about the very latest ebuilds. Distfiles go missing from the upstream CDN and are only available via long-term archival, the same minute (AFAIK, based on their documentation) that a new patchlevel release is tagged upstream. It is physically impossible for Gentoo to be that fast in packaging new versions, and it doesn't matter anyway because it won't help for another month due to stabilization. And that is assuming it gets packaged as fast as the maintainer can package it -- forgive me for being skeptical about that one, we are all human after all. :) It is reasonable, expected, normal use of computers, and reasonable, expected, normal use of Gentoo, to download and install "old" versions of a program minutes or hours after another patch release is out. We must not penalize those users by requiring them to manually implement this patch at global scope, running the risk that they will get it wrong and list only the slow site which they then overload for *all* traffic rather than at least having shuffle(). For indeed, overriding a mirror in /etc/portage/mirrors is just going to force that to be used first for ALL packages using mirror://apache/ at all. At least it respects your listed ordering I guess... -- Eli Schwartz
OpenPGP_signature.asc
Description: OpenPGP digital signature