-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Retry loading formulae from keg files again #20830
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
base: main
Are you sure you want to change the base?
Conversation
62eb1e4
to
5834158
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thoughts on getting this merged (and not reverted) quicker: can this be split into as many small PRs as possible instead? Thanks for all the work here @Rylan12 🙇🏻
@Rylan12 Another thought: merge at a time you and I are both around for 2-4 more hours and aim to fix forward in |
If there's any information from my setup that would be helpful for trying to identify the exact issue that occurred previously, let me know and I can provide it. I just checked out this branch and can confirm that with the current PR, |
@alebcay |
@alebcay can you also post the install receipt for cat "$(brew --prefix golangci-lint)/INSTALL_RECEIPT.json" |
The debug+verbose output was too long to fit, attached as a file. I didn't see anything of interest, it just shows a bunch of formulae/casks being loaded but no additional output about resolving which formulae/casks are being selected for autoremove.
|
@alebcay thanks! Can also send the same for the cat "$(brew --prefix go)/INSTALL_RECEIPT.json" Do you have Can you post the output of the following commands: brew ruby -rutils/autoremove -e 'puts Utils::Autoremove.removable_formulae([Formulary.resolve("go"), Formulary.resolve("golangci-lint")], []).inspect' brew ruby -rutils/autoremove -e 'puts Utils::Autoremove.send(:bottled_formulae_with_no_formula_dependents, [Formulary.resolve("go"), Formulary.resolve("golangci-lint")]).inspect' |
|
Huh, interesting. A few more for you if you don't mind @alebcay: brew ruby -rutils/autoremove -e 'puts Utils::Autoremove.removable_formulae(Formula.installed, Cask::Caskroom.casks).inspect' brew ruby -rcleanup -e 'puts Homebrew::Cleanup.autoremove(dry_run: true).inspect' |
|
Hmm, I am pretty confused and struggling to figure out how to reproduce. It seems like there must be some other brew uses --installed go brew uses --installed golangci-lint |
Retry #20603 again
Once again, the changes since the last attempt can be seen in
5834158
(#20830)I realized that the root cause of the bottling issues was actually that the wrong path was being written to the bottle JSON files with
brew bottle --json
. This PR actually fixes this by adding a newtap_path
method to formulae that returns the path that a formula would have if it was tapped, even if it's not. This allows us to write the correct path even withFormulary.resolve
.Additionally, I caught another issue where the bottle rebuild wasn't being calculated correctly (for essentially the same reason) which is also fixed.
I've also manually gone through
brew bottle
and thebrew pr-*
commands, and there are no more calls toFormula#path
.I wonder, would it be better to update
Formula#path
to always return the tap path and then useFormula#specified_path
when the actual specified path is needed?I'm making this a draft because I still haven't reproduce the issue @alebcay ran into, so that is not fixed
Also, to try to make this smoother for everyone, let's plan to merge this when I'm around to monitor and try to fix forward