-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
Improve :all
bottle coverage
#191352
Comments
Alternative take: |
This seems like a per-formula/file decision
|
Yeah it will totally depend on the formula. There's definitely a fair number though that already read |
Other situations I recall for missing
There are also formulae that are only |
I guess these are hacks to the extent that parts of our existing prefix-relocation scheme is a hack. I actually wouldn't mind relocating automatically a
I've noticed this too. Some Go formulae might even work as |
Having |
We currently have a few hundred
:all
bottles in this repository. I count another 200 or so more (see candidate formulae below) that could have an:all
bottle but don't currently have one.These are typically due to
/usr/local
references inside that bottles that are relocated on x86_64 macOS but not on arm64 macOS or Linux. To fix these, we typically only need a fewinreplace
lines. See below for example PRs.Example PRs
:all
bottle #191327:all
bottle #191316:all
bottle #191252:all
bottle #191251:all
bottle #191250:all
bottle #191249Candidate Formulae
:all
bottle #191545How do I identify the files to `inreplace`?
diffoscope
is your best friend here (install it withbrew intall diffoscope
).If you're trying to fix formula
foo
, you'll want to first checkfoo
for which bottles have different checksums, e.g., withbrew cat foo
(if you havehomebrew/core
tapped), or withTypically, the Intel macOS bottles will all have the same checksums, but these will be different from the arm64 macOS bottles and Linux bottles (which often all have the same checksums as well).
Pull down the relevant bottles with:
and then examine them using
diffoscope
:diffoscope
will tell you which files differ, and these are the ones you'll want toinreplace
.Why do we care about `:all` bottles?
An
:all
bottle can be installed by any Homebrew user, regardless of theirHOMEBREW_PREFIX
or OS version, so having more:all
bottles mean that more users can benefit from bottle usage.Moreover,
:all
bottles are a signal that our builds are (somewhat) reproducible, which is important when providing pre-built packages. See https://reproducible-builds.org for more on this.The text was updated successfully, but these errors were encountered: