Mike McQuaid
746e7000e3
Improve --force-bottle behaviour.
...
- set `Formula#force_bottle` from `FormulaInstaller`
- refuse to install non-bottled formulae with `--force-bottle`
- raise exceptions on fetch/pour failures if `--force-bottle is passed.
While we're here:
- use `CannotInstallFormulaError` for some `RuntimeError`/`odie`
Fixes https://github.com/Homebrew/brew/issues/8866 .
2020-11-06 11:25:31 +00:00
Mike McQuaid
dcba99c7d1
Revert "Revert "Improve @-versioned formulae linking.""
2020-11-02 11:20:09 +00:00
Shaun Jackman
099af8cf9c
Revert "Improve @-versioned formulae linking."
2020-10-30 10:40:10 -07:00
Mike McQuaid
849034c368
Improve @-versioned formulae linking.
...
The way we currently handle @-versioned formulae linking is pretty
labourius:
- it requires extensive use of `link_overwrite` to avoid the `link`
stage failing on certain install/upgrade scenarios
- we teach people to use `brew link --force` whenever they wish to
link a versioned formulae when it's pretty obvious what's expected
in that situation
Instead, let's:
- automatically unlink other versioned formulae when linking a
versioned formula (either through `brew link` or `install`/`upgrade`
/`reinstall`)
- notify the user what we've done (with the same messaging as if
they had run `brew link` manually)
2020-10-29 13:35:03 +00:00
Mike McQuaid
ffe827ad0e
Fix upgrading dependents on missing keg
...
Ensure that we don't try to check for broken linkage in a keg that
doesn't exist. Furthermore, fix the reason we checked for the keg that
doesn't exist by `Formula.clear_cache`.
While here, I noticed that there was other methods of caching at use in
`Formula` so consolidate them to be consistent.
Fixes #8997
2020-10-29 08:31:04 +00:00
Rylan Polster
42d75c2787
formula_installer: fix forbidden license check
...
Convert forbidden licenses to a string before duplicating to have empty
strings instead of `nil`.
2020-10-22 15:15:56 -04:00
Rylan Polster
b06bcf3db1
formula_installer: unfreeze forbidden licenses string
2020-10-22 11:22:06 -04:00
Rylan Polster
24523f8225
utils/spdx: allow other license symbols
2020-10-22 10:01:40 -04:00
Markus Reiter
24ae318a3d
Move type annotations into files.
2020-10-10 14:59:39 +02:00
Rylan Polster
a8bcd92628
deprecate_disable: refactor and add to info
2020-09-07 13:00:02 -04:00
Mike McQuaid
2e5272d04c
Deprecate/disable code for Homebrew 2.5.0.
...
Do the usual "disable deprecations" and "uncomment pending deprecations"
dance and delete/deprecate/disable relevant/related code.
2020-09-03 10:34:22 +01:00
Rylan Polster
e7cf1f4497
fix deprecate! and disable! message
2020-08-31 12:45:55 -04:00
Rylan Polster
4d0a1ff775
deprecate!, disable!: allow symbols for reason
2020-08-31 10:11:08 -04:00
Rylan Polster
689d7eb8f0
disable!, deprecate!: add reason
2020-08-27 10:42:57 -04:00
Markus Reiter
528122638c
Document FormulaInstaller
.
2020-08-26 03:13:58 +02:00
Mike McQuaid
dbe427073d
Merge pull request #8399 from MLH-Fellowship/migrate-to-args-named
...
args: Migrate usage of args loading methods to args.named
2020-08-25 10:07:27 +01:00
William Ma
fa7bd3bff6
args: Migrate usage of args loading methods to args.named
2020-08-23 09:02:20 -04:00
Markus Reiter
3118fedab9
Refactor and document Git
.
2020-08-23 06:40:07 +02:00
Dawid Dziurla
c8c2e38bcb
Consistently use HOMEBREW_RUBY_WARNINGS when calling ruby
...
Adding this in `dev-cmd/ruby.rb` allows us to suppress warnings like:
```
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/language/python.rb:8: warning: Insecure world writable dir /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/scm in PATH, mode 040777
```
2020-08-20 14:59:58 +02:00
Rylan Polster
60ec30d41e
formula: update license specification
2020-08-19 12:48:50 -04:00
Markus Reiter
7fce76d176
Refactor and document Install
.
2020-08-17 19:17:18 +02:00
Markus Reiter
490e503b1b
Replace Homebrew.args
with Context
.
2020-08-06 16:13:14 +02:00
Markus Reiter
bace9ecc34
Pass verbose?
to Formula#verify_download_integrity
.
2020-08-06 16:13:14 +02:00
Markus Reiter
6c964d4a78
Pass verbose?
to Keg#link
, Keg#unlink
and Keg#optlink
.
2020-08-06 16:12:52 +02:00
Markus Reiter
e9d8f09da1
Pass debug?
, quiet?
and verbose?
to FormulaInstaller
.
2020-08-06 16:12:52 +02:00
Markus Reiter
75a692d08b
Make ohai
, oh1
and odebug
use #debug?
and verbose?
of the current object when possible.
2020-08-06 16:12:52 +02:00
Markus Reiter
add10377b8
Pass debug?
and verbose?
to Cleaner
.
2020-08-06 16:12:52 +02:00
Mike McQuaid
fb0268da7e
license: handle "Public Domain".
...
Allow `:public_domain` to be used as a `license` value and ensure that
it's handled correctly by `brew info`, `brew audit` and `brew install`.
2020-08-04 10:47:41 +01:00
Bo Anderson
ab15c97c61
Fix dependents building from source when not requested
2020-08-02 00:46:17 +01:00
Markus Reiter
6b0678e8ed
Remove args
from FormulaInstaller
.
2020-07-30 03:21:12 +02:00
Markus Reiter
05365b5542
Pass args
more explicitly in FormulaInstaller
.
2020-07-30 03:21:12 +02:00
Markus Reiter
c470a6ff43
Pass args
directly to prevent_build_flags
.
2020-07-30 03:21:12 +02:00
Markus Reiter
620ca4177e
Pass args
to FormulaInstaller
instead of using global args
.
2020-07-30 03:21:12 +02:00
Markus Reiter
f8934c0255
Pass args
in Install
and Messages
instead of using global args
.
2020-07-30 03:21:12 +02:00
Lionell Loh Jian An
67a974455b
Apply suggestions from code review
...
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-28 21:01:36 +08:00
Lionell Loh Jian An
52321b4fcd
Apply suggestions from code review
...
Code review changes
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-28 21:01:36 +08:00
lionellloh
3982810eab
brew style --fix
2020-07-28 21:01:36 +08:00
lionellloh
14d18a9731
Forbidden license logic adapt to Array
2020-07-28 21:01:36 +08:00
Markus Reiter
8a1f8ab858
Pass args
to FormulaInstaller
instead of using global args
.
2020-07-25 04:21:21 +02:00
Markus Reiter
25b3632c4c
Pass args
to ENV
instead of using global args
.
2020-07-25 03:57:43 +02:00
Mike McQuaid
a2ae8741a9
Merge pull request #7871 from MLH-Fellowship/license-forbidden
...
License forbidden
2020-07-10 15:38:51 +01:00
Bo Anderson
16049840dc
formula_installer: mv rather than rename on link_overwrite
...
Fixes a cross-device link error if the two locations are on separate partitions.
2020-07-09 15:06:44 +01:00
lionellloh
c1bdbc53ea
include logic for ignore-deps and only-deps
2020-07-09 17:45:04 +08:00
Lionell Loh Jian An
bdb64aa178
Apply suggestions from code review
...
Code review changes
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-09 16:28:00 +08:00
lionellloh
22ef3d5294
brew style --fix
2020-07-09 11:48:09 +08:00
lionellloh
4de020ec6c
adapt to forbidden_license_check method signature
2020-07-09 11:38:23 +08:00
Lionell Loh Jian An
5e99ecfbdb
Apply suggestions from code review
...
Code review changes
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-08 23:55:48 +08:00
lionellloh
f0222c3eb7
Moved code from install -> formula_installer
2020-07-07 21:51:15 +08:00
lionellloh
5449904dde
small refactor to check env variable within function
2020-07-07 21:42:22 +08:00
lionellloh
fdc9dc4333
require cmd/install to include methods methods in scope
2020-07-07 21:34:48 +08:00