14757 Commits

Author SHA1 Message Date
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
Markus Reiter
eac60b0876 Add test for RuboCop $LOAD_PATH. 2018-09-06 01:10:47 +02:00
Markus Reiter
eca488a966 Add $LOAD_PATH for RuboCop cops. 2018-09-06 01:10:47 +02:00
Shaun Jackman
5cbddd2aca LinkageChecker: Report linkage of unwanted system libraries [Linux]
gcc and glibc are implicit dependencies on Linux.
No other linkage to system libraries is expected or desired.
2018-09-05 15:32:06 -07:00
Caleb Xu
90c25bf913 std: use HOMEBREW_ARCH env var on Linux
Unlike macOS, Linux installations can be installed/deployed on a
variety of hardware. The HOMEBREW_ARCH environment variable
allows the end user to set a custom -march=... option for the
compiler. If the variable is not set, it defaults to "native".

This only applies on Linux; on macOS, behavior remains unchanged.
2018-09-05 16:06:11 -04:00
zdcthomas
5cca3315cf fixes trailing whitespace 2018-09-05 09:19:39 -06:00
zdcthomas
f71f74da4a removes auto updates warning if greedy flag is included 2018-09-05 09:19:39 -06:00
commitay
88bf60d589
Merge pull request #4815 from commitay/cargo-cache
rust/cargo: enable caching
2018-09-05 21:22:03 +10:00
Xu Cheng
6aa7b47ae1
scm shim: handle edge case
Since #4748 `HOMEBREW_GIT` is set by the `brew.sh`, whose value is default to be `git`.
As a result, it completely bypasses the logic of the shims/scm/git.

This fixes the issue by checking whether `HOMEBREW_GIT` and
`HOMEBREW_SVN` are set to be `git` and `svn` respectively.

Fixes #4825.
2018-09-05 16:01:36 +08:00
Markus Reiter
3a4914664e
Merge pull request #4824 from reitermarkus/content-disposition-regex
Change regex to match `filename` if header also contains `filename*`.
2018-09-05 04:14:03 +02:00
William Woodruff
eacdca872e
Merge pull request #4819 from woodruffw/error-pipe
utils: Use JSON to marshal child errors
2018-09-04 21:02:29 -04:00
Markus Reiter
17c3a66265 Change regex to match filename if header also contains filename*. 2018-09-05 02:28:35 +02:00
Markus Reiter
46230d4429
Merge pull request #4823 from reitermarkus/verify
Refactor `Hbc::Verify`.
2018-09-05 02:27:28 +02:00
Markus Reiter
0e03b46899 Refactor Hbc::Verify. 2018-09-05 01:39:30 +02:00
Markus Reiter
eccbc4ea4b
Merge pull request #4822 from reitermarkus/downloads-dir
Fix `downloads` directory not being created.
2018-09-05 00:59:06 +02:00
Markus Reiter
2ca3439ada Fix downloads directory not being created. 2018-09-05 00:38:19 +02:00
Markus Reiter
b00b1f5ecd Fix detecting P7Zip from symbol. 2018-09-05 00:27:22 +02:00