Add padded bottle build prefixes - #23693
Open
MikeMcQuaid wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds platform-specific padded bottle prefixes and metadata across Homebrew鈥檚 bottle creation, merging, and pouring pipeline.
Changes:
- Defines canonical 64-byte prefixes and records padded-prefix eligibility in bottle tabs.
- Uses bottle metadata to validate and relocate padded bottles.
- Prevents padded platform bottles from collapsing into
:allbottles and adds coverage.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
Library/Homebrew/global.rb |
Defines padded prefix constants. |
Library/Homebrew/utils/bottles.rb |
Maps bottle tags to padded prefixes. |
Library/Homebrew/tab/tab.rb |
Serializes padded-prefix metadata. |
Library/Homebrew/bottle_specification.rb |
Checks padded bottle compatibility. |
Library/Homebrew/bottle.rb |
Applies tab metadata to bottle locations. |
Library/Homebrew/formula_installer.rb |
Fetches metadata and relocates padded bottles. |
Library/Homebrew/dev-cmd/bottle.rb |
Generates and merges padded bottle metadata. |
Library/Homebrew/plans/relocatable-bottles.md |
Updates the migration plan. |
Library/Homebrew/test/utils/bottles/tag_spec.rb |
Tests padded tag prefixes. |
Library/Homebrew/test/tab_spec.rb |
Tests metadata serialization. |
Library/Homebrew/test/formula_installer_spec.rb |
Tests padded bottle pouring. |
Library/Homebrew/test/dev-cmd/bottle_spec.rb |
Tests output and merge behavior. |
Library/Homebrew/test/bottle_specification_spec.rb |
Tests padded location compatibility. |
馃挕 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
MikeMcQuaid
force-pushed
the
padded-bottle-prefixes
branch
2 times, most recently
from
August 29, 2026 07:21
b8e2258 to
eb5efa5
Compare
- Record padded-prefix eligibility in bottle tab metadata while formulae retain their tag-default cellars. - Fetch tab metadata before rejecting a location-incompatible bottle and retain that bottle for dependency resolution. - Keep platform-specific padded bottles as separate tags instead of collapsing them into `:all`. This change is part of [`plans/relocatable-bottles.md`](https://github.com/Homebrew/brew/blob/HEAD/Library/Homebrew/plans/relocatable-bottles.md)
MikeMcQuaid
force-pushed
the
padded-bottle-prefixes
branch
from
August 29, 2026 07:53
eb5efa5 to
f01c0ec
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
built_prefix.:all.This change is part of
plans/relocatable-bottles.mdbrew benchmarkresults.brewcommands to reproduce the bug?brew lgtm(style, typechecking and tests) locally?Codex with GPT 5.6-sol at Extra High effort, with local review and testing.