10851 Commits

Author SHA1 Message Date
Xu Cheng
0ed673abdb
formula_cellar_checks: add check_linkage
This means linkage checks will be invoked during `brew install` and `brew audit`

Closes #470.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-07-14 15:23:34 +08:00
Xu Cheng
13730a9dad
move LinkageChecker to standalone file 2016-07-14 15:23:33 +08:00
Xu Cheng
28861ac92d
CurlDownloadStrategy#_fetch: fix unintended variable modification 2016-07-14 13:14:49 +08:00
Xu Cheng
ed9bb449d1 CurlDownloadStrategy#_fetch: do not alter variable @url (#504)
In case of download failure and retry, altering `@url` can cause side
effect like repeatedly applying `HOMEBREW_ARTIFACT_DOMAIN`.
2016-07-13 20:56:12 +08:00
Xu Cheng
12c505c093
audit: avoid unnecessary regex
Regex is way slower than normal String#include? and String#start_with?.
Also, we often forget to proper escape them. So avoid using them if it
is not necessary.

Closes #503.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-07-13 19:11:47 +08:00
Xu Cheng
de1049f1f1
various: proper escape dot in regex 2016-07-13 19:11:46 +08:00
Xu Cheng
91fb49d270
various: proper escape in regex 2016-07-13 19:11:46 +08:00
jainish shah
48a1e1b47f Add HOMEBREW_ARTIFACT_DOMAIN option.
If set, this environment variable instructs Homebrew to use the given URL as a
download mirror (e.g. an Artifactory instance) for bottles and binaries.

Closes #387.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-07-13 11:45:15 +01:00
Xu Cheng
b586a04204
describe_homebrew_ruby: fix regex
`.` need to be escaped, otherwise it will match any character.

Also improve code style for handling string s.
2016-07-13 15:34:49 +08:00
Xu Cheng
99e9a22b85
describe_homebrew_ruby: s may be a frozen string 2016-07-13 15:18:44 +08:00
Dominyk Tiller
706b06942f
audit: update ruby dependency advice
Closes #495.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-07-13 04:55:59 +01:00
Dominyk Tiller
bd4e24ae8f
superenv: restore HOMEBREW_PREFIX/lib 2016-07-13 01:18:42 +01:00
Andrea Kao
c8812522a4 tests: add cmd/link, cmd/unlink integration tests (#398) 2016-07-13 00:22:06 +02:00
Mike McQuaid
cdf4f42ab9 cleaner: fix generic executable handling. (#498)
Don't unset things that are already set as executable for the generic path.
OS X overrides this behaviour and detects if it's an MachO executable but
there's no cross-OS generic equivalent so just fall back to whatever the build
system has set.
2016-07-12 19:47:27 +01:00
Mike McQuaid
23306ab434 github: produce better curl error messages. (#441)
* global: add RUBY_TWO global variable.

* test-bot: use RUBY_TWO global variable.

* github: produce better curl error messages.

If we don't know why curl has failed then ensure that the error messages
that it produced are included as part of the user output.
2016-07-12 19:46:29 +01:00
Mike McQuaid
ed1d1e51da update.sh: improve verbose output and readability. (#486)
Would have made it easier to debug
https://github.com/Homebrew/homebrew-core/issues/2804 where wasn't clear which
directory was causing the issue.
2016-07-12 19:45:49 +01:00
Mike McQuaid
0d189fae57 superenv: port to generic OS. (#457) 2016-07-12 12:01:20 +01:00
Mike McQuaid
498e81c9fc stdenv: port to generic OS. (#456) 2016-07-12 11:39:39 +01:00
Mike McQuaid
873aa670d1 Merge pull request #494 from MikeMcQuaid/vendor-ruby-tweaks
Vendored Ruby tweaks
2016-07-12 09:13:23 +01:00
Mike McQuaid
dd14357b48 brew.sh: only setup/install Ruby when running Ruby. 2016-07-12 08:51:36 +01:00
Mike McQuaid
5a2eaf9a12 ruby.sh: allow forcing the usage of the vendored Ruby. 2016-07-12 08:51:36 +01:00
Mike McQuaid
b418fe94c8 ruby.sh: fix original setup ruby path name. 2016-07-12 08:51:36 +01:00
Xu Cheng
c598e1afd5 ENV/scm/git: rewrite in Bash (#496) 2016-07-12 15:20:37 +08:00
Martin Afanasjew
768ba34b14 style: use RuboCop 0.41.2, adjust defaults (#489)
Changes to our style configuration:

- Consolidate all rules related to Ruby 1.8 compatibility in one place.
- Codify our de-facto preference for `alias_method` over `alias` (drops
  offense count by 54 after turning this on).
- Drop `Style/SignalException` as `only_raise` has been the new default
  for quite a while (since RuboCop 0.37.0).
2016-07-12 07:49:55 +02:00
Xu Cheng
842862c653 ENV/scm/git: only execute file (#493)
Fixes #491.
2016-07-11 22:33:48 +08:00
Xu Cheng
fe3915237e config: show homebrew ruby for all system (#492) 2016-07-11 22:32:46 +08:00
Xu Cheng
7508da2876 Merge pull request #404 from xu-cheng/vendor
vendor ruby
2016-07-11 21:16:31 +08:00
Xu Cheng
dff6bfde9a
ruby.sh: add test flag 2016-07-11 21:12:57 +08:00
Xu Cheng
534bf08ec3
brew.sh: new HOMEBREW_RUBY_PATH resolution logic
* Use vendor Ruby if it's present
* Install vendor Ruby for system without Ruby 2.x
2016-07-11 21:12:56 +08:00
Xu Cheng
a35e3f1fc1
add vendor-install command 2016-07-11 21:12:56 +08:00
Mike McQuaid
4a73249406 Merge pull request #487 from MikeMcQuaid/requirement-tweaks
Requirement tweaks
2016-07-11 13:13:40 +01:00
Xu Cheng
8f178187c0
add file directory for vendor Ruby
The vendor Ruby will be put inside `Library/Homebrew/vendor/portable-ruby/<version>`,
with a symlink `Library/Homebrew/vendor/portable-ruby/current` pointed to it.

In addition, a `Library/Homebrew/vendor/portable-ruby-version` will
track the latest version of vendor binaries.

This gives us version control on vendor Ruby and enables us to bump vendor
Ruby whenever needed such as security update.
2016-07-11 19:23:00 +08:00
Mike McQuaid
ac229f95b5 test_integration_cmds: compile in install test. (#479)
Most of our formulae do compilation so let's do it here too.
2016-07-11 09:20:00 +01:00
Mike McQuaid
a00995fa09 osxfuse_requirement: remove formula reference.
We’re just supporting the Cask now.
2016-07-11 09:05:40 +01:00
Mike McQuaid
f950261b99 tuntap_requirement: remove formula reference.
We’re just supporting the Cask now.
2016-07-11 09:05:40 +01:00
Mike McQuaid
388876c201 osxfuse_requirement: tweak formatting.
Nicer to split this onto two lines.
2016-07-11 09:05:40 +01:00
Mike McQuaid
5413ddcb65 tuntap_requirement: fix binary logic.
Previously this was only using the last line.
2016-07-11 09:05:40 +01:00
Mike McQuaid
07d904fdb5 requirement: more obvious error message.
Make it more obvious which class was unsatisfied to produce this error
message.
2016-07-11 09:03:19 +01:00
Martin Afanasjew
88793ba798 tap-info: improve Bash completion
Closes #482.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-07-10 23:20:56 +02:00
Martin Afanasjew
2c97ae1277 tap-info: expose whether a tap is private
Or how many taps are private when summarizing all installed taps.
2016-07-10 23:20:56 +02:00
Martin Afanasjew
cf3806e747 tap-info: expand and correct help text 2016-07-10 23:20:56 +02:00
Dominyk Tiller
64b1822bca
test_language_go: update for HOMEBREW_DEVELOPER odie
Closes #488.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-07-10 21:26:39 +01:00
Dominyk Tiller
373d927e37
languages/go: die on empty arrays if HOMEBREW_DEVELOPER 2016-07-10 21:26:39 +01:00
Dominyk Tiller
e9925d6177
audit: flag incorrect language/go requires 2016-07-10 21:26:39 +01:00
Martin Afanasjew
ecc329e33f tests: clean up after bottle test
Fix minor regression in b55250c44eacd49646407b26a73753965d4d36d0. The
bottle is placed in the current working directory, is unaffected by the
the single teardown introduced in #475, and thus needs manual handling.

Closes #483.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-07-10 16:01:10 +02:00
Martin Afanasjew
942e1a726b tests: fuse broken/split --repository tests
The latter was replacing the former due to an identical method name.
2016-07-10 16:01:10 +02:00
Martin Afanasjew
9eed84b85c tests: remove bogus cleanup test
Test was added in 61614d35294c8faffaeb5c7f0ec6dea78dbbc30f, but never
had any effect because it was replaced by a method of the same name a
few lines further down.
2016-07-10 16:01:10 +02:00
Dominyk Tiller
288aff5365
diagnostic: adopt more certain tone
Closes #481.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-07-10 12:41:08 +01:00
Dominyk Tiller
1022bcff06
update: mimic doctor permissions advice
We might as well be consistent about it, since it's not obvious to people
what the next step is after we've pointed out the directory isn't writable.

Fixes #476.
2016-07-10 12:41:08 +01:00
Viktor Szakats
df4982ed08 audit.rb: require https for download.savannah.gnu.org (#438)
and download-mirror.savannah.gnu.org
2016-07-10 01:43:27 +01:00