brew
brew copied to clipboard
bottles: use different tag for newer Linux CI.
This should allow a new tag format while falling back gracefully to the old one.
Review period will end on 2022-09-19 at 12:51:44 UTC.
Can you give an example of how the new tag might look? Also, will different linux versions have different tags now?
I'm trying to decide if this will affect the formula API's variations hash since that's based on bottle tags
Can you give an example of how the new tag might look?
As-is: x86_64_ubuntu2204.
@carlocab can you comment on your other thoughts here?
Review period ended.
Thanks, Mike! I like x86_64_ubuntu2204. I'd like to backfill Homebrew/core and rename the bottles that were recently built from x86_64_linux to x86_64_ubuntu2204 and older bottles from x86_64_linux to x86_64_ubuntu1604.
A future nice-to-have would be to use the tag x86_64_linux for bottles that depend on neither Glibc nor GCC. We'd then know from the bottle tag which version of Glibc and GCC is required for each bottle if any.
A future nice-to-have would be to use the tag
x86_64_linuxfor bottles that depend on neither Glibc nor GCC.
I think we've got some of those already; they're tagged with :all. Example:
bottle do
sha256 cellar: :any_skip_relocation, all: "211fd7f1d58b383e3d64335c08a376a7d8433007ce61410ead0320df34b6f4bd"
end
Thanks, Mike! I like
x86_64_ubuntu2204. I'd like to backfill Homebrew/core and rename the bottles that were recently built fromx86_64_linuxtox86_64_ubuntu2204and older bottles fromx86_64_linuxtox86_64_ubuntu1604.
@sjackman Thanks! I'm happy to move forward with this tag but I don't want to rename old bottles really (or at least: I'm not going to block anyone else doing that but I won't be).
@carlocab @danielnachun any objections to landing something like this so we can rebuild bottles rather than produce new ones? Will need some @Homebrew/linux help testing this, too, as I've coded it without testing (perhaps from @Bo98, from whom I'd welcome any thoughts too).
No objections, though given recent revelations about Ubuntu 22.04 runtime libraries, most (but not all) rebuilding is no longer needed.
No major objections here, but one major question - unlike on macOS, I'm not sure we want to keep the 16.04 bottle if a 22.04 bottle exists, so I think that 16.04 stanza should be deleted once 22.04 is ready.
@danielnachun Note that GitHub Packages is immutable so: we're never actually going to delete these bottles. The main advantage of this different naming scheme is it allows them to be added without rebuilding macOS ones.
Right, I should have said if the bottle line in the formula could be deleted. Certainly the packge itself doesn't have to be removed.
It would be good to have a fully list of where and why we need new bottles. A new bottle tag hints to me to doing mass bottling (like we do on a new macOS version) but in reality what we've been rebuilding so far seems very targeted and a limited subset of formulae.
Passing on this. I don't have access to a Linux machine to finish this off. Anyone interested: feel free to cherry-pick this into your own branch.