12215 Commits

Author SHA1 Message Date
Alyssa Ross
49310667b4 Revert "uninstall: remove nil requireds/dependents"
This reverts commit d7e72899e6f24dca5e02a734d5a4e64e39fc680e.
2016-12-31 12:23:53 +00:00
Alyssa Ross
b0a38c06bf docs: improve Keg.find_some_installed_dependencies
See https://github.com/Homebrew/brew/pull/1752#discussion_r94257147
2016-12-30 22:22:13 +00:00
Mike McQuaid
760a4601aa Merge pull request #1754 from MikeMcQuaid/audit-fix-uncommitted-version-scheme
formula_versions: handle uncommitted formulae.
2016-12-30 22:08:34 +00:00
Mike McQuaid
b1e27d689d Merge pull request #1701 from MikeMcQuaid/deprecate-std-superenv-stuff
ENV: deprecate old methods.
2016-12-30 20:43:27 +00:00
Mike McQuaid
9e2a8248a6 Merge pull request #1725 from MikeMcQuaid/curl-homepage-reliablity
audit: improve reliability of homepage audit.
2016-12-30 20:42:18 +00:00
Alyssa Ross
d998a3fcce tab: remove #reliable_runtime_dependencies?
See https://github.com/Homebrew/brew/pull/1750#discussion_r94243825 for
discussion.

Removes Tab#reliable_runtime_dependencies? in favour of returning nil
from Tab#runtime_dependencies if the list is unreliable.

Because Homebrew 1.1.6 hasn't been tagged yet, tabs created in tests
aren't created with a homebrew_version that marks the
runtime_dependencies in the Tab as reliable, so there are some tests
that fail. To work around this, I've had to add a line to some tests
that explicitly overrides the homebrew_version in the Tab. This is
really ugly though, so they should be removed as soon as possible after
1.1.6 is released.
2016-12-30 20:34:14 +00:00
Mike McQuaid
e50102d91e ENV: deprecate old methods.
These should have been deprecated long ago but we didn’t really have
the necessary framework to do so.
2016-12-30 20:20:13 +00:00
Mike McQuaid
b3c6334d3c audit: use new curl_args form.
This will use Curl’s default user agent to reduce homepage errors and
provides a function that can be used for other audits to perform
similar tests on URLs.
2016-12-30 20:17:34 +00:00
Mike McQuaid
c29a458dc1 Merge pull request #1751 from alyssais/uninstall_message
uninstall: a couple of dependency error/warning message improvements
2016-12-30 18:51:43 +00:00
Mike McQuaid
35ae78f43d formula_versions: handle uncommitted formulae.
Otherwise an uncommitted formula can trigger an invalid `brew audit`
result.

Fixes #1731.
2016-12-30 18:43:50 +00:00
Alyssa Ross
01e1f7d49e keg: fix fallback dependencies with multiple kegs
Fixes #1524.
2016-12-30 18:41:14 +00:00
Alyssa Ross
4322c1c562 tests: explain Homebrew version checking in tabs 2016-12-30 18:19:26 +00:00
Alyssa Ross
c41d1d8148 tab: remove #homebrew_tag
This method isn't used any more
2016-12-30 18:16:49 +00:00
Alyssa Ross
ce454bd141 tab: parse full Homebrew version string
It didn't occur to me that this would work, but it does! Magic.
2016-12-30 18:15:35 +00:00
Alyssa Ross
bbf53ad4ab uninstall: don't comma-seperate kegs in example
The example command given in the dependency errors/warnings previously
comma-seperated the kegs, which was incorrect syntax. This fixes that.
2016-12-30 17:45:37 +00:00
Alyssa Ross
ea3a41e213 uninstall: better example in dependency warning
Previously, this only included a subset of all the kegs the user was
trying to uninstall. With this change, all named formulae/kegs will be
included in the example command.
2016-12-30 17:44:18 +00:00
Markus Reiter
e2689a697c Merge pull request #1690 from reitermarkus/brew-cask-update
Deprecate `brew cask update`.
2016-12-30 18:00:11 +01:00
Mike McQuaid
c087c530ae Merge pull request #1749 from MikeMcQuaid/optional-check-recursive-dependencies
formula_installer: optional deps version check.
2016-12-30 16:37:28 +00:00
Alyssa Ross
e5db7927c9 keg: fall back for dependencies of buggy tabs
Fixes #1554.
2016-12-30 16:16:53 +00:00
Alyssa Ross
bdbc19c614 tab: implement #reliable_runtime_dependencies? 2016-12-30 16:16:28 +00:00
Alyssa Ross
a69997cab0 tests: include homebrew version in receipt fixture 2016-12-30 16:15:04 +00:00
Mike McQuaid
340000ce87 Merge pull request #1746 from MikeMcQuaid/always-filter-flags-deps
cc: always filter flags on deps.
2016-12-30 15:51:38 +00:00
Markus Reiter
c31f959ec1 Hide update from brew cask help. 2016-12-30 16:46:27 +01:00
Markus Reiter
cea1d18f45 Do not require compat/hbc/cli/update when —no-compat is specified. 2016-12-30 16:13:09 +01:00
Mike McQuaid
7f75b02133 formula_installer: optional deps version check.
Require `HOMEBREW_CHECK_RECURSIVE_VERSION_DEPENDENCIES` to be specified
(which will be by `brew test-bot`) to avoid this being inflicted on
end-users unnecessarily.
2016-12-30 14:36:53 +00:00
Mike McQuaid
e4497a2b42 cc: always filter flags on deps.
This has been tested by `brew test-bot` since March and there’s been no
issues so let’s turn it on by default.
2016-12-30 14:31:05 +00:00
Markus Reiter
ddaf17396e Remove brew cask update from ZSH completions. 2016-12-30 14:01:43 +01:00
Markus Reiter
b11f38659a Add warning to brew cask help. 2016-12-30 14:01:43 +01:00
Markus Reiter
1745997a30 Remove brew cask update from manpage. 2016-12-30 14:01:43 +01:00
Markus Reiter
a1154e9fab Deprecate brew cask update. 2016-12-30 14:01:43 +01:00
Markus Reiter
0f8cb4ba27 Add option to disable methods on specific date. 2016-12-30 14:01:43 +01:00
Mike McQuaid
4ca2eaf8df Merge pull request #1682 from MikeMcQuaid/tap_migrations_rename
tap_migrations: support renaming to/from casks.
2016-12-29 14:34:56 +00:00
Mike McQuaid
758de6b454 Merge pull request #1694 from rwhogg/add-kabylake
Add Kaby Lake to Linux hardware list
2016-12-29 14:32:12 +00:00
Mike McQuaid
7148370ad8 Merge pull request #1723 from alyssais/runtime_dependencies
formula: don't expand unused optional dependencies
2016-12-29 14:31:41 +00:00
Mike McQuaid
577bf628e8 Merge pull request #1737 from alyssais/tap_dependents
keg: installed dependencies of unknown formulae
2016-12-29 14:28:59 +00:00
Mike McQuaid
c3a2bf34a2 tap_migrations: support renaming to/from casks.
Allow `tap_migrations` entries to have a `user/repo/formula` or
`user/repo/cask` format for migration of formulae to/from casks.
2016-12-29 13:37:28 +00:00
Mike McQuaid
05f35d763b Merge pull request #1681 from MikeMcQuaid/refuse-install-mixed-dependency-tree
formula_installer: prevent version mismatched deps
2016-12-29 12:58:05 +00:00
Mike McQuaid
e6fb3c3114 curl: make curl_args more configurable.
Allow configuring whether output should be shown or the default the
default user agent is used.
2016-12-29 12:51:12 +00:00
Mike McQuaid
59180ec370 audit: improve reliability of homepage audit.
- Don't run on Yosemite where the system Curl is too old for some modern
  HTTPS homepages
- Try up to 3 times in case of transient failures.
2016-12-29 12:51:12 +00:00
Mike McQuaid
6f44dc41d5 development_tools: remove unused method. 2016-12-29 12:51:12 +00:00
Mike McQuaid
27695ffeeb Merge pull request #1700 from MikeMcQuaid/no-libressl-and-openssl
audit: don't allow openssl & libressl dependency.
2016-12-29 12:32:39 +00:00
Mike McQuaid
85f62afae6 Merge pull request #1733 from vladshablinsky/rb_in_name
Don't drop .rb suffix for formula names
2016-12-29 12:32:12 +00:00
Mike McQuaid
d7d5581b19 Merge pull request #1739 from amckinlay/patch-1
Correct location of taps (doc)
2016-12-29 12:25:53 +00:00
Mike McQuaid
8ffe231f44 audit: don't allow openssl & libressl dependency.
Formulae should not depend on both OpenSSL and LibreSSL (even
optionally). This is to avoid descending into madness where every
formulae that could use LibreSSL has to have option and switching logic.

Homebrew has standardised on OpenSSL and will do so everywhere that
LibreSSL is not a hard requirement.
2016-12-29 11:46:51 +00:00
Nathan Toone
6d318761d2 Delete pkgutil directories that are really files.
Sometimes, pkgutil will return actual files (usually .nib files) as if they were part of the directory.  Microsoft Office is an example of this: in a recent update the file `/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/SharedSupport/Microsoft Error Reporting.app/Contents/Resources/en.lproj/MainWindowAlt.nib` was returning from `/usr/sbin/pkgutil --only-dirs --files com.microsoft.package.component` even though it should have been a file instead of a directory.  This caused the `rmdir` command to fail.

This patch will check if we are trying to delete a “directory” that is really a “file” - and if we are, we just delete the file instead.  This will allow packages that get in this state to be uninstalled.  A unit test which can be run using `brew cask-tests` is also included.
2016-12-28 11:57:47 -07:00
Andrew Janke
6648ff1307 Merge pull request #1706 from apjanke/deps-all-full-name
brew deps: support --full-name in --installed, --all, and --tree modes
2016-12-28 00:05:33 -05:00
Andrew Janke
0097dbe4ee brew deps: support --full-name in --installed, --all, and --tree modes 2016-12-27 23:41:16 -05:00
Alyssa Ross
3a27d81219 keg: fix dependents with unavailable formulae
Because of an accidental use of `=` instead of `==`, the source formula
check would be skipped when determining if a keg depended on another one
(so only the versions would be compared).

Fixed that comparison, and updated the corresponding test.

Glad I caught that!
2016-12-27 22:58:44 +00:00
Andrew McKinlay
4c379dffb7 Correct location of taps (doc) 2016-12-27 16:35:40 -05:00
Alyssa Ross
e5d7e13c63 keg: installed dependencies of unknown formulae
Previously, trying to resolve the dependencies of a keg would raise an
exception if the formulae for any of the dependencies could not be found
(e.g. if it had been moved to another tap).

This commit updates the dependency finding logic to catch these
exceptions, and fall back to comparing names and taps of formulae, which
should give the correct behaviour.

Fixes #1586.
2016-12-27 18:03:05 +00:00