3352 Commits

Author SHA1 Message Date
Mike McQuaid
c2cb2c7868 Merge pull request #2682 from MikeMcQuaid/improve-installed-messaging
Improve some `brew install` messaging.
2017-05-29 09:15:15 +01:00
Markus Reiter
54c4580871 Use XDG_CACHE_HOME for RuboCop. 2017-05-29 01:31:38 +02:00
Mike McQuaid
ef59a751f4 Improve some brew install messaging.
Improve the messaging around `brew install` when there's a possible user
action such as an `upgrade` or `link` and don't tell people to
`install --force` when it's unnecessary.

While I did this, tweak the output and function usage in a couple of
related places.

Some example output before this change:
```
Warning: openssl is a keg-only and another version is linked to opt.
Use `brew install --force` if you want to install this version
Warning: mysql@5.6 is a keg-only and another version is linked to opt.
Use `brew install --force` if you want to install this version
Warning: analog-6.0_1 already installed
Warning: bash-completion@2-2.5 already installed, it's just not linked.
```

Some example output after this change:
```
Error: openssl 1.0.2k is already installed
To upgrade to 1.0.2l, run `brew upgrade openssl`
Warning: mysql@5.6 5.6.36_1 is already installed
Warning: analog 6.0_1 is already installed
Warning: bash-completion@2 2.5 is already installed, it's just not linked.
You can use `brew link bash-completion@2` to link this version.
```
2017-05-27 10:15:37 +01:00
Misty De Meo
6453c81dac
vendor-install: fix array syntax for old bash 2017-05-23 18:39:35 -07:00
Misty De Meo
b8fee7fe4d
vendor-install: check -x on output of which
This works around older versions of `which`, which return a
string on failure.
2017-05-23 18:36:25 -07:00
Markus Reiter
df1864ee43 Add CLI::Options DSL. 2017-05-22 02:51:17 +02:00
Markus Reiter
f0dc1d96c5 Merge pull request #2537 from reitermarkus/pathname-to_str
Remove `to_s` from some `Pathname`s.
2017-05-18 09:39:07 +02:00
Mike McQuaid
2b726383f1 info: fix conflicts formatting. 2017-05-16 10:05:05 +01:00
Mike McQuaid
aeaf9af711 Merge pull request #2470 from johnhawkinson/conflicts-info
Display formula conflict reasons
2017-05-16 08:45:45 +01:00
Mike McQuaid
8e2198ff01 info: tweak conflicts output code. 2017-05-15 10:40:07 +01:00
John Hawkinson
33d4c95a28 info: use more string interpolation 2017-05-14 15:09:01 -04:00
Markus Reiter
5828eefd01 Remove to_s from some Pathnames. 2017-05-08 13:37:28 +02:00
Mike McQuaid
57db2e539e Revert "Merge pull request #2597 from MikeMcQuaid/vendor-gems"
This reverts commit 3e4547f52e7ebec633f8bfefc8a396d944edf908, reversing
changes made to 6edf9382bcc1240ad6f97c8b752cfe56cef9965d.
2017-05-07 17:28:39 +01:00
Mike McQuaid
ee253e465b Vendor all Homebrew's gems.
Homebrew's actually ended up using a fair few gems. While we want to
avoid Bundler at runtime (and this PR still does that, in fact uses
Bundler even less at runtime than it did before) writing our own version
to use at build-time seems redundant.
2017-05-07 13:52:57 +01:00
Mike McQuaid
6a15cea0b4 style: fix audit --online
This passed a symbol to `:except_cops` which caused a 💥.
2017-05-03 12:58:08 +01:00
Mike McQuaid
1c43070e69 style: don't require rubocop until installed.
This avoids an error when RuboCop installed installed yet.

CC @GauthamGoli FYI.
2017-05-03 12:09:18 +01:00
Mike McQuaid
555505ec54 Merge pull request #2531 from GauthamGoli/audit_cops_options_refactor
audit: Allow skipping/selective running of cops and cops refactor
2017-05-03 11:28:25 +01:00
Gautham Goli
fed668b330 Add --only-cops,--except-cops options for brew style and simplify cop names 2017-05-03 14:49:23 +05:30
Mike McQuaid
f951a22bea Install etc/var files on postinstall.
Also, don't delete them after that. This means that `brew postinstall`
becomes a way to easily reinstall configuration files for any formula
without needing any changes to any bottles or requiring a reinstall.
2017-05-03 09:00:17 +01:00
Gautham Goli
c3330c289d Add --only-cops,--except-cops options for brew audit
Also refactor audit cops into two "departments"
 - FormulaAudit
 - FormulaAuditStrict
2017-05-02 23:26:12 +05:30
Gautham Goli
a4568a8697 Let cops run without --strict flag 2017-05-02 23:14:44 +05:30
Markus Reiter
22f624b373 Make PATH enumerable. 2017-04-30 21:11:28 +02:00
Markus Reiter
f8ad9d7efd Use PATH where possible. 2017-04-30 21:11:27 +02:00
Markus Reiter
2bda194bd9 Add GitHub::search_code method. 2017-04-25 12:29:01 +02:00
Mike McQuaid
228239af31 Allow forcing Homebrew GitHub organisation.
On Linux this defaults to Linuxbrew but in some cases (i.e. a Linux
machine performing uploads for Homebrew) we want to allow this to be
overridden back to the defaults.

Relies on a change incoming to `brew test-bot` to set this there.
2017-04-25 09:13:36 +01:00
Mike McQuaid
b3c69aba87 search: use single HTTP call for tap searches.
Use GitHub's code search API to search using the filename based on the
search query. This means we only need a single HTTP call and no more
multithreading madness. This also means we're able to search everything
in the Homebrew and Caskroom organisation by default without having to
maintain a list of things to search (and not) in here.
2017-04-24 14:11:04 +01:00
Mike McQuaid
ba3c46d24f More deprecations.
Deprecate more methods. Internal APIs have been verified to be unused
elsewhere and removed. External APIs have had deprecation methods added.
Existing deprecations have been either upgraded to produce warnings or
no longer deprecated and the reasoning documented.
2017-04-22 16:28:07 +01:00
Markus Reiter
6ce84c4fb8 Add OFFICIAL_CASK_TAPS in official_taps.rb. 2017-04-20 05:22:34 +02:00
Markus Reiter
3c017a7405 Lowercase Caskroom in search. 2017-04-20 05:22:34 +02:00
Mike McQuaid
1330b74416 install: don't search when formula is unreadable.
These formulae are detected as missing but exist in an unreadable form.

Fixes #2485
2017-04-18 08:43:39 +01:00
Mike McQuaid
d90398692c Merge pull request #2475 from MikeMcQuaid/uses-deleted
uses: allow checking deleted formulae.
2017-04-17 15:49:43 +01:00
Mike McQuaid
5a2c91dbc2 uses: allow checking deleted formulae.
This is useful for seeing when formulae are deleted if they are going to
leave behind any formulae that depend on them.

As a result, if there are any formulae returned return a non-zero/failed
exit status.
2017-04-17 15:06:48 +01:00
Mike McQuaid
3b14aa2e90 install: use include instead of regex. 2017-04-17 14:56:04 +01:00
Zhiming Wang
363b26801a
install: do not search taps when a qualified formula is missing 2017-04-15 20:27:33 -04:00
John Hawkinson
b0d25d83fe info: rubocop 2017-04-09 17:14:09 -04:00
John Hawkinson
971e53c001 info: Print reason for conflicts where available 2017-04-09 15:23:53 -04:00
Mike McQuaid
39b8f106d2 update-report: don't show new, installed formulae.
These were those migrated from other taps but if they are installed
already: they aren't new to that user.
2017-04-04 15:15:42 +01:00
Mike McQuaid
879b3360d3 Handle missing receipt on brew install.
For example if this is for a really old keg, keg where a user has
manually removed stuff or used `brew diy`.
2017-04-02 17:02:56 +01:00
Mike McQuaid
566d3cb58b Document all short flags. 2017-04-02 10:14:58 +01:00
Eugene Nikolsky
edd9a9717c Fix the 'export PATH' message in link for a keg-only formula
Commit 4cae6a724e6d684eb157dd6d7328755694f228b2 introduced the message,
but it printed the wrong path, e.g. for `brew link sqlite`:

```
If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/sqlite:$PATH"' >> ~/.zshrc/bin
```

where `/bin` is appended at the end, but should be inserted before
`:$PATH`: `echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc`.
This patch fixes that and updates a test to verify it.
2017-04-01 20:12:00 -07:00
Mike McQuaid
7d07d859ce migrator: check if taps are from same user instead
This avoids needing to use `force: true` and still let's Homebrew do
what we want with our own taps.
2017-03-31 10:28:45 +01:00
Mike McQuaid
90c6d5f40a upgrade: perform rename migrations when needed. 2017-03-31 10:01:46 +01:00
Mike McQuaid
61ebc128af reinstall: perform rename migrations when needed. 2017-03-31 10:01:46 +01:00
Mike McQuaid
d82522060e install: perform rename migrations when needed. 2017-03-31 10:01:46 +01:00
Mike McQuaid
ffd706d997 update-report: more forceful rename migration.
Migrate between different taps and delete relevant subdirectories if
they can be safely. Also, tweak some naming and use utility methods.
2017-03-31 10:01:45 +01:00
Mike McQuaid
80b39bb239 Merge pull request #2374 from joshka/cleanup-command-continue-on-error
Cleanup: Continue on error removing keg
2017-03-31 09:43:47 +01:00
Joshua McKinney
48fdd163bc Brew cleanup: Continue on error removing keg
Fixes #2355
Create unremovable_kegs instance var
Check cellar cleanup failure after full cleanup completes
Use module_function in Homebrew::Cleanup as we never instantiate the
class
2017-03-31 01:44:04 -05:00
William Roe
996dcdee2c Add pinned version to outdated json output
The structure should be consistent, so there are always pinned and
pinned_version fields even if there are no pinned versions for a given formula.
2017-03-27 11:41:08 +01:00
William Roe
70446d9112 Add pinned version to outdated output 2017-03-27 11:30:36 +01:00
Mike McQuaid
f8cf506670 Merge pull request #2372 from MikeMcQuaid/link-keg-only-path-message
link: tell users of `brew link --force` about opt.
2017-03-23 10:00:47 +00:00