In #6807, the FormulaInstaller began to rescue from
FormulaInstallationAlreadyAttemptedError but there is the
potential for tmp kegs to remain unlinked in the cellar.
I've merged the rescue statements so they both re-link tmp
kegs, but it doesn't raise for
FormulaInstallationAlreadyAttemptedError.
- This also required auto-fixes for Layout/EmptyLinesAroundBlockBody and
Layout/InconsistentIndentation once the auto-fixer had got rid of the
"redundant begin"s.
Only install the bottle depenencies when a bottle was in fact poured.
In particular, if the dependencies are already satisfied,
then there's no need to install the bottle dependencies.
This API is used internally correctly and externally mostly correctly
but #6230 reveals the external usage is fairly confusing and a bit
unsafe by default. Preserve the existing API while verifying the
checksum by default and providing an opt-out. Using the existing, safe
method will result in a double verification of the checksum which is
harmless. A Homebrew/homebrew-core PR will follow shortly to address
those cases.
Fixes#6230
Combined with https://github.com/Homebrew/homebrew-test-bot/pull/247
this will test Homebrew's use of frozen strings in CI. After this we
will then enable it for Homebrew developers and eventually all Homebrew
users.
Integration tests are useful in detecting breakages but much slower so
let's only use one per command and install formula outside the
integration test framework (which is also slow).
Certain casks in the main cask repository may be invalid, for whatever
reason. Without handling this exception, the user will get a cask-related
exception while the formula of the same name is installed, and their
installation will abort half-completed.
Fixes#5709.
If you have the `emacs` or `docker` formulae and casks both
installed the formula will fail to link. Skip trying to link the formula
if the cask is already installed.
Fixes https://github.com/Homebrew/homebrew-core/issues/36310.
- Make `gist-logs` perform more checks
- Don't complain about a non-/usr/local install at install time unless
actually building from source.
- Show more checks output on a build error
- Improve naming of checks methods