-
-
Notifications
You must be signed in to change notification settings - Fork 9.9k
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
Allow platform-specific cellars in bottle blocks #9315
Comments
I mildly disagree. I see one step before that and (at least) two after:
|
- Extract the json reading from the json merging: it makes the code hard to understand. This helps for the separation of concerns: the jsons are read in one method; and merged in a second one - Added a first test to check the merge function No change in behaviour was done, this change is just there to increase code coverage and to prepare for Homebrew#9315
In preparation for Homebrew#9315
In preparation for Homebrew#9315
After a bunch of refactoring and cleanup PR's, test additions around the bottle command, and finally the addition of the reading of the new syntax, I'll start working on step 2. Step 2 consists in writing the new cellars to the respective sha256 lines. |
We are done here, see #10449. Thanks all for the help! |
Woups, re-opening we need to discuss step 3 and 4:
Should we just leave this as-is and let the bottling magic fix the things over the years for us? I think that the old syntax will be gone with the next macOS version, so roughly in one year. This leaves also time to external taps to rebuild stuff naturally without noticing. |
I think it would be ideal to have this as it'll let us deprecate, disable and remove the old behaviour more quickly. Doesn't mean you have to do it, though! One of our other rubocop experts could pick this up CC @SeekingMeaning @Rylan12 @carlocab @GauthamGoli in case any of you are interested. |
Brewsci/bio would be a great third-party tap beta test site for such a tool! I'd happily volunteer to try it out. |
The last remaining step is to:
Does someone want to pick that up? |
I opened a PR to prepare those deprecations: #10547 |
Cool. I'll close this then, and the deprecations will follow the normal process. Thanks all! |
Feature suggestion
A detailed description of the proposed feature
Bottle blocks currently look like this:
The cellar line is often different on Linux, and might be different between Mac OS versions too.
The proposal is to have per-platform cellar lines, for example:
Making this work is mostly rewriting the merge function in bottle.rb.
Backward compatibility is a concern of course and need to be maintained with the old syntax.
The motivation for the feature
This is needed for the linuxbrew-core to homebrew-core migration.
How the feature would be relevant to at least 90% of Homebrew users
Having the right cellars for the right platform makes sure things do not go up in flames when we merge both repositories, so it's probably a good thing.
What alternatives to the feature have been considered
The text was updated successfully, but these errors were encountered: