9434 Commits

Author SHA1 Message Date
Mike McQuaid
8d995e961f Make hardware code cross-platform. 2016-05-08 16:51:22 +01:00
Mike McQuaid
8a582f2bd9 Make diagnostic code cross-platform. 2016-05-08 16:51:22 +01:00
Mike McQuaid
931e292bf1 Make bottle code cross-platform. 2016-05-08 16:51:22 +01:00
Mike McQuaid
ddb576b582 Add support for testing generic OS.
If the environment variable HOMEBREW_TEST_GENERIC_OS is set ensure that
neither Mac nor Linux-specific code is loaded. This allows easier
testing of cross-platform code on OS X and will make it easier to port
Homebrew to platforms other than OS X and Linux.
2016-05-08 16:51:22 +01:00
Dominyk Tiller
c5520d0050 languages: flag missing dependency requirement (#194)
This is in part designed to handle situations described in https://github.com/Homebrew/legacy-homebrew/issues/42273
where we tell someone to install a special dependency, but because we (rightly, IMO)
resolve special dependencies first users can end up being told to execute a command
on a tool that isn't yet installed and isn't immediately obvious how to install it.

In the situation raised there, with the `sile` formula people are being told to
`luarocks install xyz` but we hadn't installed Lua for them first, so they just
get a `command not found: luarocks` message. Perhaps it should be obvious enough
how to install said tools by looking at the formula's dependencies,
but it's not a huge burden on us to make life easier than that.

Shuffled over from https://github.com/Homebrew/legacy-homebrew/pull/42576.
2016-05-07 20:58:20 +01:00
Andrew Janke
d887dd39ec brew install: make -s apply only to given formula, not deps (#205) 2016-05-06 12:02:13 -07:00
Andrew Janke
12686ad417 cmd/fetch: fix typo in doco 2016-05-06 11:03:38 -04:00
Mike McQuaid
1c1c48c920 test-bot: only push once when uploading. 2016-05-06 11:00:22 +01:00
Zhiming Wang
1fa48234e5 tab: include installation date in string representation
This way brew info will include the installation date for each installed
version.

Closes #196.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-05 23:53:36 +02:00
Martin Afanasjew
742df8bbf4 Reorder usage examples for brew help
- Reorder listed commands to better reflect a typical workflow (search,
  then query for details via `info` and friends, then install, later
  update and upgrade, at last maybe uninstall).
- Remove niche `pin` and `unpin` commands.
- Drop `--env` in the Troubleshooting section.

And use `/REGEX/` instead of `/PATTERN/` to be clearer what is expected.

Closes #177.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-05 23:35:54 +02:00
Martin Afanasjew
d579dbb4ca xcode: avoid invoking 'xcodebuild -version' twice
This primarily benefits CLT-only systems where invoking the `xcodebuild`
wrapper in `/usr/bin` will fail (twice) with the following message:

  xcode-select: error: tool 'xcodebuild' requires Xcode, but active
  developer directory '/Library/Developer/CommandLineTools' is a command
  line tools instance

Closes #198.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-05 23:34:40 +02:00
Martin Afanasjew
5ee797eb61 xcode: fix invalid range in comparison
Due to a typo, the range of LLVM build versions 2066 to 2325 were never
matched and thus Xcode 3.2.0 could never be inferred from that. (Only
relevant for legacy systems. Doesn't seem to have impacted any users.)
2016-05-05 23:34:40 +02:00
Martin Afanasjew
c55da93ff3 xcode: expect 7.3.1 on 10.11 2016-05-05 12:22:37 +01:00
Andrew Janke
6f80b4688b doctor: guard against nil Xcode.version (#197)
MacOS::Xcode.version may be nil (when neither Xcode nor CLT are installed),
so guard against that where it may happen in `brew doctor`.
2016-05-04 15:54:01 -04:00
Mike McQuaid
9a9a989b75 Analytics: remove cask. 2016-05-04 17:52:15 +01:00
Mike McQuaid
b7ac58b35e Don't report cask to analytics. 2016-05-04 17:50:36 +01:00
Martin Afanasjew
f653cb8340 pull: fix references to renamed variable
Fix bug originating in #132.
2016-05-04 02:46:21 +02:00
Dominyk Tiller
7d57119837 dependency_collector: add perl
Closes #184.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-05-03 18:52:40 +01:00
Dominyk Tiller
e96bed6b6c perl_requirement: add 2016-05-03 18:52:40 +01:00
Martin Afanasjew
6fdcab5abc deps: split and clarify documentation
`brew deps` has three different modes of operation that were not easy to
infer from the existing documentation. Split the help text into three
parts to make this clearer. This also improves on the confusion when
options were silently ignored because they don't apply to a certain mode
of operation. Those are:

1. List the shared dependencies (either intersection or union) of
   explicitly named formulae with options for traversal depth/order.

2. Output separate trees of explicitly listed or all installed formulae.

3. List all available/installed formulae and their direct dependencies
   with one line per formula formatted as `<formula>: <dependencies>`.

Closes #137.

Closes #179.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-03 17:19:18 +02:00
Score_Under
b5007c48e0 Tty: Avoid truncating if not sensible
This causes truncate to simply return the original string if the
terminal is not very wide, or if the terminal is unsupported.
2016-05-03 15:56:47 +01:00
Andrew Janke
bf23ba1d1e pull: fix polling code for Ruby 1.8.7 Net::HTTP (#191) 2016-05-03 10:30:01 -04:00
Mike McQuaid
70096f8e91 update.sh: abort rebase and merge.
`brew update` can cause these so `brew update` should repair these.
2016-05-03 15:28:00 +01:00
Mike McQuaid
60e3737f17 update: improve some edge cases.
- When running `brew update` and there’s been no changes from upstream
on any repositories there’s no need to call the (relatively) slow `brew
update-report` when we already know what it will say (“Already up-to
date.”).
- When any`git fetch`es fail then throw out an error at the end of the
output and produce a failing exit code (closes #65).
2016-05-03 14:24:41 +01:00
Mike McQuaid
489a1d8f43 Add "Maintainers: Avoiding Burnout" document. 2016-05-03 14:23:42 +01:00
Mike McQuaid
0ef21ddf87 analytics: move to a class.
Global namespaces are good to avoid when possible.
2016-05-03 14:21:08 +01:00
Andrew Janke
798c342f4e brew pull: cross-platform bottle verification, concise output (#132)
Do the bottle check using any platform's bottle, so `brew pull` works
on bottled formulae which don't include a bottle for the current system.

Make output more concise and informative
 * Remove expected download error messages when waiting for Bintray publishing
 * Replace patch download progress bars with patch file name
 * Silence git output about switching to and from bottle-pulling branch
 * Include formula name and patch type in some progress messages
2016-05-03 08:22:28 -04:00
Andrew Janke
2805531f13 audit: fix false-positive for '--with-check' from 'depends_on "check" => :optional' (#188)
Fixes #170
2016-05-03 08:16:20 -04:00
Andrew Janke
066489a2b3 Switch to bbatsov's Style Guide since GitHub's is 404 (#189)
Fixes #106
2016-05-03 08:13:22 -04:00
Mike McQuaid
f288b66fcb update.sh: remove GIT_ASKPASS=false.
This doesn't work as expected and causes confusing user errors.

References #95.
2016-05-03 09:04:23 +01:00
Toru Tanaka
967988c444 Fix a variable name in error message (#190) 2016-05-03 02:24:32 -04:00
Andrew Janke
a98eb34073 PR template: Separate checklist from body; grammar fix (#136) 2016-05-03 00:29:58 -04:00
Martin Afanasjew
8284fb3fef Update Homebrew/homebrew references in man page
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.

Closes #175.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-02 21:19:09 +02:00
Martin Afanasjew
02289fce42 Update Homebrew/homebrew references in code
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
2016-05-02 21:19:09 +02:00
Martin Afanasjew
8600b9edf1 Update Homebrew/homebrew references in comments
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
2016-05-02 21:19:09 +02:00
Martin Afanasjew
b449a51ff7 analytics: add bash completion
Closes #178.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-02 18:54:42 +02:00
Xu Cheng
67944c2f2d update: escape ? in the help flag list
Otherwise it will match any character
2016-05-02 21:04:30 +08:00
Xu Cheng
3b40dcedf8 update: more help flag (#180)
To be synced with the help flag list in brew.rb
2016-05-02 17:58:41 +08:00
Xu Cheng
0812b721bd analytics: add zsh completion 2016-05-02 16:07:10 +08:00
Xu Cheng
98aff27317 add brew analytics command (#173) 2016-05-01 22:04:46 +08:00
Uladzislau Shablinski
90d3317d7d download_strategy: use svn info --xml (#174) 2016-05-01 19:46:24 +08:00
Xu Cheng
3972b900f3 JavaRequirement: use next instead of return in code block 2016-05-01 14:31:26 +08:00
Vlad Shablinsky
6f1116c8e1 download_strategy: fossil source_modified_time
Closes #171.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-05-01 14:28:24 +08:00
Vlad Shablinsky
f79edbc560 download_strategy: bazaar source_modified_time 2016-05-01 14:28:24 +08:00
Vlad Shablinsky
155960d991 download_strategy: mercurial source_modified_time 2016-05-01 14:28:24 +08:00
ilovezfs
f54f27d621 Skip tmux warning if reattached to user namespace
The exit status of pbpaste is a proxy for whether the user has set up
reattach-to-user-namespace. It should be 0 if it is set up, 1 otherwise.

This is the same hack as Homebrew/homebrew-services#48.
2016-04-30 16:33:16 -05:00
Zhiming Wang
c63400d56b analytics: relocate UUID to homebrew.analyticsuuid in .git/config
This way analytics related settings and parameters (currently
analyticsdisabled, analyticsmessage and analyticsuuid) are all kept in
the same place.

Note that in this commit we offer a path of migration: if
~/.homebrew_analytics_user_uuid already exists, read the UUID from it,
write to homebrew.analyticsuuid, and remove it.

See more detailed discussions in #145.

Closes #162.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-04-30 22:40:55 +02:00
Izaak Beekman
b0d906f0f8 compilers: support gcc 6 2016-04-29 11:19:35 -05:00
Uladzislau Shablinski
3ff1aa9fa3 download_strategy: add svn source_modified_time (#156) 2016-04-30 00:06:37 +08:00
Christian Moritz
9378e46ffc audit: whitelist kibana from Language::Node check (#161) 2016-04-27 22:00:41 +01:00