14723 Commits

Author SHA1 Message Date
L. E. Segovia
d442905719
Upgrade: implement linkage repair
After upgrading existing kegs, we now search and upgrade their
dependents as well. If any are detected that have broken linkage, they
are reinstalled from source.

If there are any formulae in the dependents tree that are pinned, they
are only reinstalled if they're not outdated; in all cases, a suitable
message is printed detailing the kegs that will be acted upon.
2018-09-12 19:28:02 +00:00
Mike McQuaid
23da378dd8
Merge pull request #4882 from Homebrew/dependabot/bundler/Library/Homebrew/test/parser-2.5.1.2
Bump parser from 2.5.1.0 to 2.5.1.2 in /Library/Homebrew/test
2018-09-12 08:31:37 +01:00
Mike McQuaid
3983db700f
Merge pull request #4881 from Homebrew/dependabot/bundler/Library/Homebrew/test/rspec-expectations-3.8.1
Bump rspec-expectations from 3.8.0 to 3.8.1 in /Library/Homebrew/test
2018-09-12 08:31:23 +01:00
Mike McQuaid
9e9845a5d4
Merge pull request #4879 from Homebrew/dependabot/bundler/Library/Homebrew/test/docile-1.3.1
Bump docile from 1.3.0 to 1.3.1 in /Library/Homebrew/test
2018-09-12 08:30:57 +01:00
dependabot[bot]
727b1e5ec8
Bump ruby-progressbar from 1.9.0 to 1.10.0 in /Library/Homebrew/test
Bumps [ruby-progressbar](https://github.com/jfelchner/ruby-progressbar) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/jfelchner/ruby-progressbar/releases)
- [Changelog](https://github.com/jfelchner/ruby-progressbar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jfelchner/ruby-progressbar/compare/releases/v1.9.0...releases/v1.10.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-09-12 05:26:09 +00:00
dependabot[bot]
1ce9c3841c
Bump parser from 2.5.1.0 to 2.5.1.2 in /Library/Homebrew/test
Bumps [parser](https://github.com/whitequark/parser) from 2.5.1.0 to 2.5.1.2.
- [Release notes](https://github.com/whitequark/parser/releases)
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v2.5.1.0...v2.5.1.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-09-12 05:26:07 +00:00
dependabot[bot]
e75ed35a44
Bump rspec-expectations from 3.8.0 to 3.8.1 in /Library/Homebrew/test
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/master/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-09-12 05:26:05 +00:00
dependabot[bot]
0c1fea35ff
Bump docile from 1.3.0 to 1.3.1 in /Library/Homebrew/test
Bumps [docile](https://github.com/ms-ati/docile) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/ms-ati/docile/releases)
- [Changelog](https://github.com/ms-ati/docile/blob/master/HISTORY.md)
- [Commits](https://github.com/ms-ati/docile/compare/v1.3.0...v1.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-09-12 05:25:41 +00:00
Shaun Jackman
3c4f9c746e Elide prefix "/usr/local" in bottle block
brew test-bot --ci-upload is run on a Linux machine.
The macOS bottles have a prefix of "/usr/local".
The default prefix on Linux is /home/linuxbrew/.linuxbrew.
Elide prefix "/usr/local" in the bottle block, even it does not match
the default prefix. Ditto for cellar.
2018-09-11 14:21:33 -07:00
Shaun Jackman
f6093961ef Add Homebrew::DEFAULT_PREFIX for Linux
The default prefix is /usr/local on macOS
and /home/linuxbrew/.linuxbrew on Linux.
2018-09-11 09:57:08 -07:00
Markus Reiter
5cff91ac75 Don’t add error when changing checksum to :no_check. 2018-09-11 14:02:53 +02:00
Mike McQuaid
88e69f5a88
Merge pull request #4868 from MikeMcQuaid/update-follow-redirect
cmd/update: follow GitHub API redirects.
2018-09-10 14:56:13 +01:00
Vítor Galvão
80fb4d8374
Merge pull request #4865 from ericmarkmartin/upgrade-dispay-prev-vsn
Cask: show previous verison in cask upgrade
2018-09-09 19:21:31 +01:00
Eric Mark Martin
c62d2e6918 Cask: rename block argument f -> cask 2018-09-09 13:37:42 -04:00
Mike McQuaid
dc7b73171c
cmd/update: follow GitHub API redirects.
Fixes #4867
2018-09-09 17:55:09 +01:00
Mike McQuaid
1fe8cf7079
Merge pull request #4858 from cblecker/bump-pr-protocol
Determine remote_url using git config
2018-09-09 15:18:49 +01:00
Eric Mark Martin
28061369dc Cask: show previous verison in cask upgrade 2018-09-09 00:47:31 -04:00
Claudia
45bbf043c3
Merge pull request #4852 from amyspark/quarantine-per-install
Cask: fixes for quarantining
2018-09-08 22:47:50 +02:00
L. E. Segovia
124a8109ce
Cask: rename no-translocation-bit changer function 2018-09-08 20:20:55 +00:00
L. E. Segovia
c7c14e1333
Cask: split quarantine/release functions 2018-09-08 14:00:44 +00:00
Markus Reiter
7bb35e1683
Merge pull request #4847 from reitermarkus/range-support
Check for range support instead of rescuing error.
2018-09-08 15:50:03 +02:00
Shaun Jackman
922843f047
Merge pull request #4849 from jamescostian/shellenv
Add brew shellenv - see #4780
2018-09-07 13:28:42 -07:00
Christoph Blecker
5f18f0bb03
Determine remote_url using git config 2018-09-07 11:08:35 -07:00
L. E. Segovia
53b95c6260
Cask: use native chmod to set write permissions
Ruby chmod follows symlinks, which can point to non-existent files. This
should fix quarantining Casks e.g. disk-inventory-x.
2018-09-07 16:57:00 +00:00
James Costian
18d38d7b76
Add brew shellenv - see #4780 2018-09-07 11:37:14 -05:00
L. E. Segovia
ab31af2b4b
Cask: fixes for quarantining
Gatekeeper's Path Randomization is currently making automated
installation a nightmare. Let's manually toggle the (undocumented) app
translocation bit in the `com.apple.quarantine` extended attribute.

While we're at it, let's also toss in some fixes:

- zip downloads with improper permissions that prevent us from
quarantining
- quarantine/release/skip downloads as requested by the user
2018-09-07 15:37:31 +00:00
Mike McQuaid
2d71299675
keg: don't require Caskroom to be writable.
This isn't the case on our CI for now.
2018-09-07 09:39:32 +01:00
Mike McQuaid
a2f5355ca8
Merge pull request #4844 from MikeMcQuaid/improve-writable-directory-handling
Improve writable directory handling
2018-09-07 08:28:42 +01:00
Mike McQuaid
7615d3a812
Improve writable directory handling
Consolidate the handling of which directories need to exist and which
need to be writable. Additionally, add a fatal check for formula
installations to ensure that any directories that need to be writable
are so before attempting an installation.

Fixes #4626.
2018-09-06 18:38:43 +01:00
Mike McQuaid
8778cc308a
Merge pull request #4832 from sjackman/linkage-checker
LinkageChecker: Report linkage of unwanted system libraries [Linux]
2018-09-06 16:44:56 +01:00
Markus Reiter
072127197a Check for range support instead of rescuing error. 2018-09-06 16:25:22 +02:00
Mike McQuaid
c60fe60377
cmd/info: display analytics data.
When users don't have `HOMEBREW_NO_ANALYTICS` or
`HOMEBREW_NO_GITHUB_API` set let's display some analytics data in
`brew info`. This should be useful for both maintainers and for users of
Homebrew.

Note this by default combines all installs across options for a single
number; for formulae with lots of options it's a bit overwhelming to
print the installs per-option. However, for `HOMEBREW_DEVELOPER`s print
the full output.

Sample non-developer output:

```console
$ brew info wget
wget: stable 1.19.5 (bottled), HEAD
Internet file retriever
https://www.gnu.org/software/wget/
/usr/local/Cellar/wget/1.19.5 (49 files, 3.7MB) *
  Built from source on 2018-09-03 at 20:46:32
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb
==> Dependencies
Build: pkg-config ✔
Required: libidn2 ✔, openssl ✔
Optional: pcre ✔, libmetalink ✘, gpgme ✘
==> Options
--with-debug
	Build with debug support
--with-gpgme
	Build with gpgme support
--with-libmetalink
	Build with libmetalink support
--with-pcre
	Build with pcre support
--HEAD
	Install HEAD version
==> Analytics
install: 84638 (30d), 353800 (90d), 1372775 (365d)
install_on_request: 77926 (30d), 291305 (90d), 1044898 (365d)
build_error: 11 (30d)
```

Sample developer output:
```console
$ brew info wget
wget: stable 1.19.5 (bottled), HEAD
Internet file retriever
https://www.gnu.org/software/wget/
/usr/local/Cellar/wget/1.19.5 (49 files, 3.7MB) *
  Built from source on 2018-09-03 at 20:46:32
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb
==> Dependencies
Build: pkg-config ✔
Required: libidn2 ✔, openssl ✔
Optional: pcre ✔, libmetalink ✘, gpgme ✘
==> Options
--with-debug
	Build with debug support
--with-gpgme
	Build with gpgme support
--with-libmetalink
	Build with libmetalink support
--with-pcre
	Build with pcre support
--HEAD
	Install HEAD version
==> Analytics
==> install (30d)
wget: 84516
wget --with-debug: 51
wget --with-libressl: 16
wget --with-pcre: 14
wget --with-pcre --with-libmetalink --with-gpgme: 12
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 8
wget --HEAD: 3
wget --HEAD --with-debug --with-libmetalink --with-gpgme: 3
wget --with-gpgme: 3
wget --with-libmetalink: 3
wget --with-pcre --with-libmetalink: 3
wget --with-debug --with-pcre: 2
wget --with-libmetalink --with-gpgme: 2
wget --with-pcre --with-gpgme: 2
==> install (90d)
wget: 353131
wget --with-debug: 188
wget --with-pcre: 138
wget --with-pcre --with-libmetalink --with-gpgme: 118
wget --with-libressl: 81
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 47
wget --with-pcre --with-libmetalink: 31
wget --HEAD: 13
wget --with-pcre --with-gpgme: 12
wget --with-gpgme: 11
wget --with-debug --with-pcre: 10
wget --with-libmetalink: 8
wget --HEAD --with-pcre --with-libmetalink --with-gpgme: 4
wget --with-debug --with-pcre --with-libmetalink: 4
wget --with-libmetalink --with-gpgme: 4
==> install (365d)
wget: 1369530
wget --with-pcre: 810
wget --with-debug: 649
wget --with-pcre --with-libmetalink --with-gpgme: 554
wget --with-libressl: 479
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 235
wget --with-pcre --with-libmetalink: 184
wget --with-gpgme: 67
wget --with-pcre --with-gpgme: 67
wget --with-debug --with-pcre: 65
wget --HEAD: 54
wget --with-libmetalink: 30
wget --with-libmetalink --with-gpgme: 27
wget --with-debug --with-pcre --with-libmetalink: 24
==> install_on_request (30d)
wget: 77827
wget --with-debug: 48
wget --with-pcre: 12
wget --with-pcre --with-libmetalink --with-gpgme: 11
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 8
wget --HEAD: 3
wget --HEAD --with-debug --with-libmetalink --with-gpgme: 3
wget --with-gpgme: 3
wget --with-libmetalink: 3
wget --with-debug --with-pcre: 2
wget --with-libmetalink --with-gpgme: 2
wget --with-pcre --with-gpgme: 2
wget --with-pcre --with-libmetalink: 2
==> install_on_request (90d)
wget: 290818
wget --with-debug: 157
wget --with-pcre --with-libmetalink --with-gpgme: 101
wget --with-pcre: 100
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 42
wget --with-pcre --with-libmetalink: 30
wget --HEAD: 13
wget --with-pcre --with-gpgme: 11
wget --with-gpgme: 10
wget --with-debug --with-pcre: 8
wget --with-libmetalink: 7
wget --HEAD --with-pcre --with-libmetalink --with-gpgme: 4
wget --with-debug --with-pcre --with-libmetalink: 4
==> install_on_request (365d)
wget: 1042845
wget --with-pcre: 504
wget --with-debug: 458
wget --with-pcre --with-libmetalink --with-gpgme: 432
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 201
wget --with-pcre --with-libmetalink: 158
wget --with-gpgme: 61
wget --HEAD: 54
wget --with-pcre --with-gpgme: 49
wget --with-debug --with-pcre: 47
wget --with-debug --with-pcre --with-libmetalink: 24
wget --with-libressl: 23
wget --with-libmetalink: 22
wget --with-libmetalink --with-gpgme: 20
==> build_error (30d)
wget: 9
wget --HEAD: 1
wget --with-debug: 1
```
2018-09-06 14:18:30 +01:00
Mike McQuaid
6fe61a00d0
Merge pull request #4840 from MikeMcQuaid/minimum-git-version
Update minimum Git version.
2018-09-06 13:41:22 +01:00
Mike McQuaid
7a58305711
Merge pull request #4843 from MikeMcQuaid/edit-simplify
dev-cmd/edit: simplify project view handling.
2018-09-06 13:14:23 +01:00
Mike McQuaid
25b4d94b5c
Update minimum Git version.
This forces the use of Homebrew's Git on El Capitan and below.
Normally I'd remove the need for this but given we're weeks away from
El Capitan being unsupported it doesn't seem worth the effort to remove
useful functionality. Instead, let's warn about an old Git and
autoinstall Homebrew's Git wherever needed.

Fixes #4818.
2018-09-06 12:38:20 +01:00
Mike McQuaid
38b54df55e
Merge pull request #4841 from MikeMcQuaid/os-mac-install-bump
os/mac: also update install on version bumps.
2018-09-06 12:32:22 +01:00
Mike McQuaid
c6b6fc678e
dev-cmd/edit: simplify project view handling.
The way Homebrew is structured now there’s no need to manually
specify a few different directories here.
2018-09-06 12:31:29 +01:00
Mike McQuaid
bb5166b3c7
os/mac: also update install on version bumps.
I also just remembered this today so let’s add a comment reminder.
2018-09-06 11:48:13 +01:00
Mike McQuaid
a2febc8971
Revert "std: use HOMEBREW_ARCH env var on Linux" 2018-09-06 09:16:13 +01:00
Mike McQuaid
132aa14320
Merge pull request #4838 from reitermarkus/cask-module
Rename `Hbc` module to `Cask`.
2018-09-06 09:15:44 +01:00
Mike McQuaid
0770e0bb67
Merge pull request #4814 from zdcthomas/upgrade_greedy_verbose_response
removes auto updates warning if greedy flag is included
2018-09-06 09:07:59 +01:00
Mike McQuaid
eaa1eb4bdb
Merge pull request #4831 from alebcay/homebrew-arch
std: use HOMEBREW_ARCH env var on Linux
2018-09-06 08:59:39 +01:00
Mike McQuaid
11ac4db05e
Merge pull request #4796 from amyspark/quarantine-swift-clt
Cask: check that the tools for quarantining are available
2018-09-06 08:56:04 +01:00
Markus Reiter
a84a1c63db Rename Hbc module to Cask. 2018-09-06 09:30:52 +02:00
Markus Reiter
171ea3fe56 Ensure Pkg is namespaced correctly. 2018-09-06 09:30:00 +02:00
Markus Reiter
78d4db2755 Use classes for instance doubles. 2018-09-06 09:13:21 +02:00
Markus Reiter
cf49788d3a Rename test/cask/cli to test/cask/cmd. 2018-09-06 08:33:51 +02:00
Markus Reiter
f64e0d8dbe
Merge pull request #4834 from reitermarkus/cask-version
Deprecate `brew cask --version`.
2018-09-06 07:53:42 +02:00
Markus Reiter
ac2cd67861 Deprecate brew cask --version. 2018-09-06 07:05:22 +02:00
Markus Reiter
33ce424399 Remove redundant namespacing. 2018-09-06 06:47:29 +02:00