- Add the same macOS `--build-from-source` default prefix behaviour
now we have ~4000 linuxbrew-core bottles.
- Merge remaining useful linuxbrew-core-Maintainer-Guide into
Homebrew-homebrew-core-Maintainer-Guide
- Don't special-case linuxbrew-core any more in docs
`FormulaInstaller` calls `audit_installed` at install time, which
invokes methods in `FormulaCellarChecks`. One of these methods makes a
call to `tap_audit_exception` (cf. #11750), but this method isn't
visible in `FormulaInstaller`.
Instead of trying to replicate the logic of `tap_audit_exception` in
`FormulaAuditor` (or trying to initialise an instance of one to make the
call to `FormulaAuditor`'s implementation of it), let's just implement a
stub that assumes an exception always exists.
I'll need to think a bit about whether this is the right fix for this,
but currently the missing method error is blocking PRs in Homebrew/core,
so let's go with this for now. [1]
[1] e.g. Homebrew/homebrew-core#81388, Homebrew/homebrew-core#81582
Use the formula file from the Keg if `local_bottle_install` is set,
which means that the formula file from the tap is used for `-s`,
`--HEAD` and normal installs but the formula file present within
formula.prefix/".brew" is used for local bottle installs.
- Both formulae and casks can have caveats, but only formulae caveats
were shown at the end of a bulk install/upgrade/reinstall operation
via `Homebrew.messages.record_caveats`. This fixes that to show Cask
caveats too, for consistency (scrolling up all of the
multi-formulae-and-casks output to see caveats is time-consuming and
users might miss them).
- In doing this I had to change how `Messages#record_caveats` works
since the cask name is just a string, not an object.
Currently, Homebrew recognises only the architectures listed in
`hardware.rb`. [1] Attempting to pass an unrecognised architecture to
`--bottle-arch` while building a bottle returns an error.
Let's change that by passing unrecognised bottle arches to the compiler
instead of immediately failing with a `CannotInstallFormulaError`.
Partially resolves#5815.
[1] 64b6846d60/Library/Homebrew/hardware.rb (L28-L42)
- remove usage on macOS as we don't care about it there
- don't error out on incompatibility but still store stdlib on Linux
- remove (now) unused methods
- Write a subset of the tab required for bottles as an annotation.
- Add option on new bottle creation to skip writing tab into bottle
and instead add it (and other useful metadata) to bottle JSON.
- Read formula information and tab from bottle JSON.
- Write prettier JSON to disk.
- Don't write `HEAD` to tab; this duplicates `HOMEBREW_VERSION`.
- Allow `brew bottle` to use `--json` to generate JSON files from a
local bottle file.