Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Posted Feb 2, 2023 17:48 UTC (Thu) by mathstuf (subscriber, #69389)In reply to: Git archive generation meets Hyrum's law by geert
Parent article: Git archive generation meets Hyrum's law
What should have happened is that the creation of a release has an option to permalink the "Source code" links Github provides. Note that this is not suitable for projects using things like autoconf (as it would lack `configure`) or having submodules (as `git archive` just ignores them).
Posted Feb 3, 2023 1:33 UTC (Fri)
by himi (subscriber, #340)
[Link] (4 responses)
Posted Feb 3, 2023 1:46 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (3 responses)
Even when we patch stuff, I try to grab a tag and cherry-pick fixes we need back to it instead of following "random" development commits. But then we also try to rehost everything because customers can have pretty draconian firewall policies and they allow our hosting through to avoid downloading things from $anywhere.
Posted Feb 3, 2023 2:43 UTC (Fri)
by himi (subscriber, #340)
[Link] (2 responses)
Github obviously isn't intending to support that kind of usage - if they were this change wouldn't have happened, or they'd have implemented the archive download in a reliably verifiable way from the start. But the service that Github /does/ provide is very easy to use/abuse for things Github isn't explicitly intending to support, and that's what's bitten people here. Github did nothing wrong, and neither did the people using their service in a way it wasn't really intended to support, but that's kind of the point of Hyrum's law, isn't it . . .
Posted Feb 3, 2023 10:49 UTC (Fri)
by nim-nim (subscriber, #34454)
[Link]
A release manager knows intimately that converging on a stable and secure state is hard and will try to pin everything on official stable releases (except for the bugfix/security fixup releases that need to be fast-tracked and propagated as fast as possible).
A developper will use whatever random git commit he checkouted last and will try to pin everything to this commit to avoid the hassle of testing something else than his last workstation state (including freezing out security fixes). The more obscure bit of code he depends on the less he will want to update it (even though because it is obscure he has no idea what dangers lurk in there).
One consequence of github promoting proeminently the second workflow is that instead of serving a *small* number of trusted releases that can be cached once generated (compression included) it needs to generate on the fly archives for all the random not-shared code states it induced developpers to depend on.
No one one sane will depend on github release links. When you need to release something that depends on hundreds of artifacts you use the system which is the same for those hundred of artifacts (dynamicaly generated archives), not the one-of-a-kind release links which are not available for all projects, do not work the same when they are available, and may not even keep being available for a given artifact (as soon as a dev decides to pin a random git hash all bets are of).
Another consequence of the dev-oriented nature of github is any workflow that depend on archives is a second thought. Developpers use git repositories not the archived subset that goes into releases.
Posted Feb 16, 2023 14:31 UTC (Thu)
by mrugiero (guest, #153040)
[Link]
I like the idea of randomizing file ordering inside the tar to avoid people relying on checksumming the compressed archive. Relying on that makes the producer overly restricted: imagine what would happen if I needed to reduce my bandwidth consumption and I was unable to switch compression levels at will. Or the heuristic used to find long matches change.
Posted Feb 3, 2023 10:44 UTC (Fri)
by jengelh (guest, #33263)
[Link]
Speaking of it…
Posted Feb 5, 2023 1:31 UTC (Sun)
by poki (guest, #73360)
[Link]
And also back then, `walters` suggested the same solution as now in the other thread; for posterity:
Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Git archive generation meets Hyrum's law
Using the file upload feature would sidestep the issues of verification of an on-the-fly (re-)generated archive (at the cost of diskspace at the hoster).
Git archive generation meets Hyrum's law
https://lists.fedoraproject.org/archives/list/devel@lists...