linkage_checker: allow cyan extras#21740
Conversation
There was a problem hiding this comment.
Pull request overview
Updates Homebrew’s linkage checker allowlist to accommodate cyan’s bundled IPA “extras” that reference iOS-only system frameworks (not present on macOS), preventing false-positive broken-linkage failures in CI.
Changes:
- Refactors
broken_dylibs_allowed?to gate by formula name via acase. - Adds a
cyan-specific path matcher to allow broken dylibs undersite-packages/cyan/extras/.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fdf5bce to
04ee99f
Compare
This is necessary because cyan injects in an IPA some frameworks that link to iOS system frameworks. These system frameworks are not on macOS but they are not needed because the IPA is to be sideloaded on an iPhone, these frameworks will never be used on macOS itself. This is required to fix Homebrew/homebrew-core#271929 CI.
04ee99f to
168e058
Compare
MikeMcQuaid
left a comment
There was a problem hiding this comment.
Thanks!
Could these dylibs be either 1) stripped or 2) moved to a location that the linkage checker doesn't look (can't remember if this is a thing or not, excuse me if it isn't) instead?
|
@MikeMcQuaid Unfortunately no…
Code ref: brew/Library/Homebrew/os/mac/mach.rb Line 107 in 4d4adf0
The checker logic for ignoring things: brew/Library/Homebrew/linkage_checker.rb Lines 145 to 160 in 4d4adf0 |
|
@MikeMcQuaid Thank you! |
This is necessary because cyan injects in an IPA some frameworks that link to iOS system frameworks. These system frameworks are not on macOS but they are not needed because the IPA is to be sideloaded on an iPhone, these frameworks will never be used on macOS itself.
This is required to fix Homebrew/homebrew-core#271929 CI.
brew lgtm(style, typechecking and tests) with your changes locally?