-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Resolve dependencies according to bottle/tab when installing older bottles #20802
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
Resolve dependencies according to bottle/tab when installing older bottles #20802
Conversation
@copilot try again |
Fixed in 771ef73. The issue was that the implementation was passing the bottle OS version to all dependency checks, even when the bottle was built for the current OS. Now it only uses the bottle OS version when it differs from the current OS version, ensuring we continue to resolve dependencies as we currently do when installing bottles built for the current OS (as per the requirements). |
@copilot Rebase and resolve conflicts |
Rebased and conflicts resolved. The test file conflict was resolved by keeping both the new "no_linkage tag" test from main and my bottle_os_version tests. |
9912558
to
443e722
Compare
@copilot fix this CI failure:
|
... Fixed in the latest commit. The issue was that the shorthand syntax |
95461db
to
6454bec
Compare
@copilot some more issues here:
|
Fixed in the latest commit:
|
@copilot Fix any |
All checks pass:
|
b68af85
to
ea3fd2d
Compare
@copilot |
Fixed in the latest commit. Now checking |
5419275
to
807bed2
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.
Pull Request Overview
Resolves dependency resolution for older bottles by using the bottle's original build macOS version instead of the current host OS when expanding uses_from_macos dependencies. Key changes propagate the bottle OS version through dependency expansion and update dependency satisfaction logic to account for it.
- Capture bottle build OS version from tab in FormulaInstaller and pass it into dependency expansion
- Extend Dependency#installed?/satisfied? (and UsesFromMacOSDependency logic) with bottle_os_version handling
- Add tests asserting the new parameter interfaces (though they currently only check for absence of exceptions)
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
Library/Homebrew/formula_installer.rb | Extracts bottle build OS version from tab and forwards it into dependency resolution. |
Library/Homebrew/dependency.rb | Adds bottle_os_version parameter and adjusts uses_from_macos resolution logic. |
Library/Homebrew/test/dependency_spec.rb | Adds tests ensuring new method parameters are accepted. |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: MikeMcQuaid <[email protected]>
807bed2
to
a24ff24
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.
Looks good, this makes sense to me!
Looks like it broke |
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.