Commit Graph
8661 Commits
Author SHA1 Message Date
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 AfanasjewandMike McQuaid 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 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_UnderandMike McQuaid 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 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 TanakaandAndrew Janke 967988c444 Fix a variable name in error message (#190) 2016-05-03 02:24:32 -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
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 98aff27317 add brew analytics command (#173) 2016-05-01 22:04:46 +08:00
Uladzislau ShablinskiandXu Cheng 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 ShablinskyandXu Cheng 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 ShablinskyandXu Cheng f79edbc560 download_strategy: bazaar source_modified_time 2016-05-01 14:28:24 +08:00
Vlad ShablinskyandXu Cheng 155960d991 download_strategy: mercurial source_modified_time 2016-05-01 14:28:24 +08:00
ilovezfsandMike McQuaid 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 WangandMartin Afanasjew 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 BeekmanandMike McQuaid b0d906f0f8 compilers: support gcc 6 2016-04-29 11:19:35 -05:00
Uladzislau ShablinskiandXu Cheng 3ff1aa9fa3 download_strategy: add svn source_modified_time (#156) 2016-04-30 00:06:37 +08:00
Christian MoritzandDominyk Tiller 9378e46ffc audit: whitelist kibana from Language::Node check (#161) 2016-04-27 22:00:41 +01:00
Christian MoritzandDominyk Tiller bc98fd3788 Language::Node.npm_install_args: add helper method (#37)
* add Language::Node helper module

This adds a language module for Node module based formulas.
It contains the 2 public methods `std_npm_install_args(libexec)` and
`local_npm_install_args`:

* `std_npm_install_args` is intended to be used in formulas for
  standard node modules and returns `npm install` args for a global
  style module installation to libexec.
* `local_npm_install_args` is for formulas, in which the `npm install`
  step is only one of multiple parts of the installation process and
  returns `npm install` args for a default local installation in place.

Both methods have in common, that they are

* making sure that a working copy of npm and node-gyp from node's
  libexec is prepended to the PATH (to not rely of a user managed npm)
* seting the npm cache to HOMEBREW_CACHE/npm, which fixes issues caused
  by overriding $HOME resulting in long install times + high disk usage
  (see https://github.com/Homebrew/brew/pull/37#issuecomment-208840366)

* audit: update npm install check for Language::Node

* cleanup: remove npm_cache too

* doc: add Node-for-Formula-Authors.md
2016-04-27 17:08:44 +01:00
Andrew Janke 05efd70dc3 Analytics: Separate user-supplied and internal-use DISABLE_ANALYTICS (#155)
This prevents `brew` self-calls from interacting with the stickiness of
HOMEBREW_NO_ANALYTICS being persisted to the brew repo and accidentally
disabling analytics permanently when it should have been for just one run,
while restoring the stickiness of an explicit user-supplied
HOMEBREW_NO_ANALYTICS.
2016-04-26 04:28:38 -04:00
Xu Cheng 7aaaf9d8db fix setup-analytics (#154)
DO not invoke git config because HOMEBREW_NO_ANALYTICS, otherwise
it will disable analytics for everyone when running `brew update`
in following manners:
 * `brew update` will set HOMEBREW_NO_ANALYTICS because the absence of
   `homebrew.analyticsmessage`
 * `brew update-report` will set `homebrew.analyticsdisabled` because of
    HOMEBREW_NO_ANALYTICS.

Also reduce file IO.
2016-04-26 15:53:52 +08:00
Mike McQuaid df489cfde2 More analytics tweaks.
Provide a single command that can be run to disable analytics, run it if
`HOMEBREW_NO_ANALYTICS` is ever set and remove the user UUID file in
that case too.

References https://github.com/Homebrew/brew/issues/142.
2016-04-25 18:51:00 -05:00
Mike McQuaid 421cd5365f Point to analytics documentation on brew update.
Make sure that users are notified on the first run of `brew update`
after we enabled analytics about how it works and how to opt-out. This
will be shown to all users who have not already seen this message from
`brew update` or through a new Homebrew installation.

References https://github.com/Homebrew/install/pull/42
References https://github.com/Homebrew/brew/issues/142
2016-04-25 18:05:30 -05:00
Mike McQuaid 663f51b88e keg_relocate: don't assume .la files are in lib.
Sometimes they are in e.g. libexec but there's no real reason to assume
they are anywhere; we want to relocate them regardless.
2016-04-24 22:06:14 +01:00
Mike McQuaid 1451553188 Ship analytics for Homebrew.
For more information and opt-out instructions please read:
https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Analytics.md#analytics
2016-04-23 14:27:09 +01:00
Misty De MeoandMisty De Meo c20622ade4 JavaRequirement: return false if no java_home
Closes #118.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2016-04-22 22:37:21 -07:00
Misty De Meo da643d942e Explicitly list -arch in LDFLAGS on Leopard 2016-04-22 22:37:21 -07:00
Misty De Meo 765cd216f0 Reenable HOMEBREW_PREFER_64_BIT 2016-04-22 22:37:21 -07:00
Misty De Meo 2f7721f1b4 Add :expat special dependency
This will be expanded to a full expat dependency on Tiger alone.

Fixes mistydemeo/tigerbrew#30.
2016-04-22 22:37:21 -07:00
Misty De MeoandMisty De Meo 0f7caa154f Tiger tar requires explicit format 2016-04-22 22:37:21 -07:00
Misty De Meo 2c9fd850f3 Use GCC 4.2 as the default compiler when installed 2016-04-22 22:37:21 -07:00
Misty De Meo 06a356d9ec STANDARD_COMPILERS: add Xcode 2.0 2016-04-22 22:37:21 -07:00
Misty De Meo 967fa41e41 Set -faltivec in CFLAGS on Tiger
Setting -mcpu and -mtune on Tiger with gcc-4.2 exposes a bug in one of the
system headers, causing certain builds to fail. This can be fixed by
adding -faltivec to CFLAGS.

See: http://trac.macports.org/ticket/34213
2016-04-22 22:37:21 -07:00