| Age | Commit message (Collapse) | Author |
|
|
|
|
|
formula.bottled? is false when the bottle has no sha256,
as with a local bottle.
|
|
Warn if a more recent version of this formula is available in the tap.
|
|
Factor Utils::Bottles.formula_contents out of BottleLoader.
|
|
formula.bottle is nil when bottle.compatible_cellar? is false.
Use formula.bottle_specification.compatible_cellar? rather
than formula.bottle.compatible_cellar?.
|
|
|
|
|
|
- `brew update` should try to install `curl` before `git` on older
versions of Mac OS X where it is needed for accessing modern SSL
certificates.
- We don't need an HTTP mirror for `git` because `curl` will already be
installed before it is downloaded.
- Don't recommend GCC on Mac OS X versions where it can't be built with
the default system compiler.
- Start using the Homebrew `curl` on Mac OS X versions where it is
needed as soon as it is installed.
|
|
Pouring a local bottle for a formula without a bottle sha256
in the formula for that OS would unexpectedly install from
source instead.
|
|
Don't ignore f.pour_bottle? and compatible_cellar? when pouring
a local bottle. --force-bottle may be used to pour a local
bottle that is incompatible, as it is for remote bottles.
|
|
We’re always using the sandbox where possible now so this is just
noise for the vast majority of our users.
|
|
|
|
This also helpfully avoids always building all dependencies from source
when passing `--build-bottle` or forcing all bottles when passing
`--force-bottle`.
|
|
Treat a `brew install` command as normal i.e. link by default unless
keg-only and only specify whether a keg should be linked when upgrading
or reinstalling. Also, adjust the naming accordingly so it's more
obvious that this is the case.
|
|
|
|
Preserve link status on reinstall/upgrade.
|
|
formula_installer: use default_formula for bottles
|
|
This was the original, intended functionality before this was broken
in fe117bf79b244c42b7e4049d353c3c003eae4880.
Fixes https://github.com/Homebrew/homebrew-core/issues/13680.
|
|
This means if a user has manually `brew unlink` or `brew link --force`d
something then that status will be preserved after they `brew upgrade`
or `brew reinstall` that formula.
This generally should make things that are keg-only by default easier
to swallow.
|
|
formula_installer: simplify callers.
|
|
keg: correctly cleanup old aliases.
|
|
There's a bunch of duplication going on that's not really necessary.
|
|
Only check runtime dependencies for version conflicts to avoid
having to create unnecessary duplicate formulae.
For example, a formula that needs to be built with ghc@8.0 should still
be allowed to have a build-time dependency on a cabal-install that was
itself built with ghc@8.2.
|
|
Including aliases in the tab allows e.g. `brew switch` to correctly
handle switching between different keg’s aliases.
|
|
|
|
so don't consider their absence fatal if we're pouring a bottle.
|
|
Without this it's not easy to make much sense of these failures.
|
|
We didn't end up using the `screenview` and `exception` analytics as
much as expected so let's remove them and focus on stuff that's
formula-specific.
|
|
MikeMcQuaid/formula-installer-show-upgrade-revision
formula_installer: display full upgrade version.
|
|
Previously this omitted the revision which meant the currently
installed and upgrade version showed as the same.
|
|
|
|
|
|
|
|
|
|
Improve the messaging around `brew install` when there's a possible user
action such as an `upgrade` or `link` and don't tell people to
`install --force` when it's unnecessary.
While I did this, tweak the output and function usage in a couple of
related places.
Some example output before this change:
```
Warning: openssl is a keg-only and another version is linked to opt.
Use `brew install --force` if you want to install this version
Warning: mysql@5.6 is a keg-only and another version is linked to opt.
Use `brew install --force` if you want to install this version
Warning: analog-6.0_1 already installed
Warning: bash-completion@2-2.5 already installed, it's just not linked.
```
Some example output after this change:
```
Error: openssl 1.0.2k is already installed
To upgrade to 1.0.2l, run `brew upgrade openssl`
Warning: mysql@5.6 5.6.36_1 is already installed
Warning: analog 6.0_1 is already installed
Warning: bash-completion@2 2.5 is already installed, it's just not linked.
You can use `brew link bash-completion@2` to link this version.
```
|
|
This may result in a slightly varied build but it’s generally just far
less annoying to be able to access all your e.g. shell configuration.
|
|
Attempt to improve Travis CI. This time without any vendoring gems
nonsense.
|
|
Also, don't delete them after that. This means that `brew postinstall`
becomes a way to easily reinstall configuration files for any formula
without needing any changes to any bottles or requiring a reinstall.
|
|
If you `brew install` a formula that's already installed you get:
Warning: ripgrep-0.5.1 already installed
If you `brew install` an outdated formula that's installed you get:
Error: ripgrep-0.5.1 already installed. To install this version, first
`brew unlink ripgrep`
Instead, suggest that the user should `brew upgrade` in this case. If
the formula isn't outdated use the previous message.
|
|
Fix those that can be done so without tearing Homebrew to pieces and
remove the comments for those that can never be done.
|
|
We've been testing the recursive dependency check and allowing unlinked
dependencies in CI for a while with no adverse consequences so enable
them globally now for all users.
|
|
Add `--only` and `--except` methods which can be used to selectively
enable or disable audit groups.
|
|
Rather than just checking if a requirement's dependency is installed or
not check if the requirement was actually satisfied by a particular
formula rather than e.g. just having a `default_formula` defined.
|
|
This makes them behave consistently to other dependencies. Otherwise
other checks for them being `installed?` will fail.
Fixes #2333
Closes #2302
Fixes https://github.com/Homebrew/homebrew-science/issues/5247
|
|
Detect recursive dependencies and refuse to install them providing
instruction on exactly what is depending on what.
Fixes #1933.
|
|
formula_installer: add env to allow unlinked deps.
|
|
Discussed in
https://github.com/Homebrew/brew/pull/1987/files#r100693581.
This was originally ommitted because it wasn't compatible with Ruby 1.8.
(See https://github.com/Homebrew/legacy-homebrew/pull/48144#r49928971).
|
|
We can enable this locally and/or in `brew test-bot` to see if this
code is needed any more. If we can remove it we can start doing much
more interesting things with linking keg-only, versioned formulae and
system dupe formulae.
|
|
|