aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_installer.rb
AgeCommit message (Collapse)Author
2018-02-14formula_installer: also run audit_installed for keg_only formulaeilovezfs
2018-01-28Don't suggest install from bottle if not availableAlyssa Ross
It only makes sense to tell a user to try installing from a bottle if there are bottles available for them to install for all the formulae they specified.
2018-01-18Merge pull request #3661 from MikeMcQuaid/deprecate-default-formulaMike McQuaid
Deprecate default_formula Requirement DSL
2018-01-14Deprecate default_formula Requirement DSLMike McQuaid
This has been a nightmare in terms of the complexity to our dependency system and the whack-a-mole required on bugs. If a Requirement resolves to a Formula it should just use `depends_on "formula"` instead. This matches the effective behaviour all users of bottles (the vast majority of users and installs) and what we're doing in Homebrew/homebrew-core.
2018-01-10reinstall/upgrade: stop unlinked kegs being stickyMike McQuaid
It's not possible to determine the difference between a non-keg-only keg that failed to link and one that wasn't linked by us intentionally. To avoid additional complexity of storing this logic in another place let's back out this relatively new functionality; sticky keg-only links is a better and more desirable behaviour anyway.
2018-01-10Merge pull request #3654 from sjackman/check_install_sanityMike McQuaid
check_install_sanity: Use formula.runtime_dependencies
2018-01-09check_install_sanity: Use formula.runtime_dependenciesShaun Jackman
Fix Error: wget contains conflicting version recursive dependencies: openssl, openssl@1.1
2018-01-09Preserve installed_on_request for dependenciesAlyssa Ross
Fixes https://github.com/Homebrew/brew/issues/3642.
2017-12-30Merge pull request #3613 from ↵Mike McQuaid
ilovezfs/allow-install-mixed-python-dependency-tree formula_installer: allow version mismatched python deps
2017-12-30formula_installer: allow version mismatched python depsilovezfs
Dependency trees with both python@2 and python@3 are not inherently problematic.
2017-12-10Merge pull request #3510 from MikeMcQuaid/remove-bottle-hooksMike McQuaid
hooks/bottles: remove bottle hooks.
2017-12-09Revert "formula_installer: tweak dependent requirements."Mike McQuaid
This reverts commit cc752e97f6dcfb3e58c9e753262926672edeb571. Fixes #1585. I will open a new issue for the actual underlying bug here (that requirements aren't being handled correctly based on the stable/devel spec used at installation time).
2017-12-07Merge pull request #3539 from MikeMcQuaid/nil_req_depMike McQuaid
formula_installer: handle nil req_dependency.
2017-12-07formula_installer: handle nil req_dependency.Mike McQuaid
Closes #3538.
2017-12-07formula_installer: avoid irrelevant build deps.Mike McQuaid
If dependents are already installed ensure their build dependencies (and requirements) don't end up in the dependency/requirement tree. Fixes #3033.
2017-12-07formula_installer: fix default formula prune.Mike McQuaid
Only prune it if it's not already installed. Fixes bug with https://github.com/Homebrew/brew/pull/3479 Closes https://github.com/Homebrew/brew/pull/3535.
2017-12-01hooks/bottles: remove bottle hooks.Mike McQuaid
These were removed from Boxen in: https://github.com/boxen/puppet-homebrew/pull/108
2017-11-27More environment filtering fixesMike McQuaid
- Make `brew pull` pass through Git environment variables - Whitelist all `TRAVIS_` variables.
2017-11-25formula_installer: force fewer default formulaeMike McQuaid
Don't force a default formulae install if a requirement is satisfied if we're building a bottle and it's a build-time dependency.
2017-11-13environment filtering: pass through TRAVIS vars.Mike McQuaid
We use these internally so let's map them to `HOMEBREW_` variables.
2017-10-18Use “squiggly” heredocs.Markus Reiter
2017-10-08Clean up code style and remove `.rubocop_todo.yml`.Markus Reiter
2017-09-30pour_bottle?: Check bottle.compatible_cellar?Shaun Jackman
formula.bottled? is false when the bottle has no sha256, as with a local bottle.
2017-09-28FormulaInstaller: Warn when tap version is newerShaun Jackman
Warn if a more recent version of this formula is available in the tap.
2017-09-28Fix installing a local bottle from sourceShaun Jackman
Factor Utils::Bottles.formula_contents out of BottleLoader.
2017-09-28pour_bottle?: Fix when formula.bottle is nilShaun Jackman
formula.bottle is nil when bottle.compatible_cellar? is false. Use formula.bottle_specification.compatible_cellar? rather than formula.bottle.compatible_cellar?.
2017-09-24Rubocop: manual rule fixes.Mike McQuaid
2017-09-24Rubocop: automatic rule fixes.Mike McQuaid
2017-09-16Tweaks for older Mac OS X versions.Mike McQuaid
- `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.
2017-08-30pour_bottle?: Pour local bottles without sha256Shaun Jackman
Pouring a local bottle for a formula without a bottle sha256 in the formula for that OS would unexpectedly install from source instead.
2017-08-30pour_bottle?: Ensure local bottles are compatibleShaun Jackman
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.
2017-08-07sandbox: stop printing message.Mike McQuaid
We’re always using the sandbox where possible now so this is just noise for the vast majority of our users.
2017-08-05formula_installer: restore build_bottle defaults.Mike McQuaid
2017-07-31formula_installer: never build dependency bottles.Mike McQuaid
This also helpfully avoids always building all dependencies from source when passing `--build-bottle` or forcing all bottles when passing `--force-bottle`.
2017-07-30Tweak preserve link status on reinstall/upgrade.Mike McQuaid
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.
2017-07-30formula_installer: fix typo.Mike McQuaid
2017-07-30Merge pull request #2961 from MikeMcQuaid/preserve-link-on-upgrade-reinstallMike McQuaid
Preserve link status on reinstall/upgrade.
2017-07-30Merge pull request #2969 from MikeMcQuaid/default-formula-bottlesMike McQuaid
formula_installer: use default_formula for bottles
2017-07-30formula_installer: use default_formula for bottlesMike McQuaid
This was the original, intended functionality before this was broken in fe117bf79b244c42b7e4049d353c3c003eae4880. Fixes https://github.com/Homebrew/homebrew-core/issues/13680.
2017-07-30Preserve link status on reinstall/upgrade.Mike McQuaid
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.
2017-07-30Merge pull request #2959 from MikeMcQuaid/formula-installer-duplicationMike McQuaid
formula_installer: simplify callers.
2017-07-30Merge pull request #2923 from MikeMcQuaid/alias-fixesMike McQuaid
keg: correctly cleanup old aliases.
2017-07-28formula_installer: simplify callers.Mike McQuaid
There's a bunch of duplication going on that's not really necessary.
2017-07-27formula_installer: allow version mismatched build depsilovezfs
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.
2017-07-21tab: include aliases.Mike McQuaid
Including aliases in the tab allows e.g. `brew switch` to correctly handle switching between different keg’s aliases.
2017-06-28Refactor using `Forwardable` and `DelegateClass`.Markus Reiter
2017-06-23formula_installer: runtime reqs of build deps are build reqsilovezfs
so don't consider their absence fatal if we're pouring a bottle.
2017-06-09BuildError: report options to analytics.Mike McQuaid
Without this it's not easy to make much sense of these failures.
2017-06-07analytics: remove unused analytics.Mike McQuaid
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.
2017-06-03Merge pull request #2722 from ↵Mike McQuaid
MikeMcQuaid/formula-installer-show-upgrade-revision formula_installer: display full upgrade version.