268 Commits

Author SHA1 Message Date
Mike McQuaid
3678d60a28 diagnostic: detail TRAVIS opt-out reasoning. 2017-02-17 21:53:30 +00:00
Mike McQuaid
6ac0de1b40 Revert "Skip Xcode outdated check on CircleCI" 2017-02-17 21:27:40 +00:00
Bob W. Hogg
c49b97dd9c Code review cleanups 2017-02-15 21:47:08 -08:00
Bob W. Hogg
5a214de68d java_requirement: port to Linux and refactor
Split the core requirement class into generic, Linux-specific,
and macOS-specific parts.

Additionally, the Linux version is now able to detect Java versions
(the previous Linuxbrew implementation was only able to detect
if Java was present at all.)
2017-02-15 21:35:26 -08:00
Alyssa Ross
9e97eadccb rubocop: trailing comma in multiline method calls
Discussed in
https://github.com/Homebrew/brew/pull/1987/files#r100693581.

This was originally ommitted because it wasn't compatible with Ruby 1.8.
(See https://github.com/Homebrew/legacy-homebrew/pull/48144#r49928971).
2017-02-12 15:11:38 +00:00
Danielle Tomlinson
f457c6ab32
diagnostic: Add CircleCI to Env check 2017-02-10 23:31:58 +01:00
William Woodruff
6b63abb850
keg_relocate: Check HOMEBREW_TEMP's realpath when excluding name changes.
Since /tmp (the default HOMEBREW_TEMP) is a symlink to /private/tmp,
some build systems (like Parrot's) will attempt to use the realpath
instead of the literal /tmp we supply it with. This breaks the relocation
code, which only tested the literal HOMEBREW_TEMP and not its realpath.
2017-01-07 15:06:46 -05:00
Jan Viljanen
80b7d4c1aa Whitelist PHP formulas in shadowed header audit check 2017-01-06 23:43:25 +01:00
Mike McQuaid
79f9896d2f bottles: --force-bottle feigns or_later.
When reproducing issues with software that hasn’t been bottled yet on
your version of macOS it can sometimes be helpful to use `or_later`
bottle functionality i.e. just use the bottle for the latest version of
macOS available. This maps well to the existing `--force-bottle`
argument so it will now act as if the latest bottle has a `or_later`
ending.
2017-01-02 16:05:14 +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
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
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
6f44dc41d5 development_tools: remove unused method. 2016-12-29 12:51:12 +00:00
Mike McQuaid
e950aa11d1 Remove Xcode prerelease warnings.
At this point we probably do want to know about issues that crop up in
betas so we can fix them before the new version of Xcode is released.
Additionally, this doesn't really work well any more with our new
tag-based workflow as it means we need to cut a new tag immediately
after a new Xcode is released.
2016-12-19 18:01:36 +00:00
Mike McQuaid
477faf073b Never trigger too old CLT check on <10.7.
While we fake a CLT for these versions they never shipped with the CLT
so cannot update it.
2016-12-18 15:31:17 -08:00
Bob W. Hogg
ebb659af7d Add Kaby Lake to Linux hardware list
Note that no Mac hardware using a Kaby Lake processor has been released
yet, so do not add it to the equivalent list for macOS.
2016-12-18 14:50:38 -08:00
Mike McQuaid
025e53c321 diagnostic: silence outdated Travis Xcode warning.
This doesn't add any value and stops us from testing `brew doctor` and
others from running `brew doctor` on Travis CI.
2016-11-26 13:09:59 +00:00
Mike McQuaid
215105a484 diagnostic: skip xcode-select check with no Xcode.
Skip the `xcode-select` configuration check if there's no CLT or Xcode
installed as in that case neither will be used.

Fixes #1055.
2016-11-12 11:32:27 +00:00
Mike McQuaid
c2815fbb9a Merge pull request #1381 from adzenith/patch-1
`brew doctor` recommends using cask to upgrade XQuartz
2016-11-10 21:05:21 +00:00
Nikolaus Wittenstein
969ac3a9c6 brew doctor recommends using cask to upgrade XQuartz
Also changes exceptions.rb to use Formatter.url
2016-11-09 22:21:21 -05:00
Mike McQuaid
cfaa05f841 Merge pull request #1443 from MikeMcQuaid/better-development-tools-checks
Improve debugging information based on failures
2016-11-06 08:21:11 -05:00
Mike McQuaid
1f6c26a2e4 software_spec: no _or_later in bottle filenames.
It's more useful to be able to "bless" an existing bottle to be used on
later OSs (e.g. where it cannot yet be built) than it is to have to
create a new, identical bottle just to have a different filename.
2016-11-05 16:13:42 -04:00
Mike McQuaid
262eaca56e diagnostic: add build error checks. 2016-11-05 10:58:39 -04:00
Mike McQuaid
b38f5b3e7d diagnostic: only make minimum Xcode/CLT version checks fatal.
Also: freeze the relevant arrays.
2016-11-05 10:58:39 -04:00
Mike McQuaid
6359c75a2d os/mac/diagnostic: split some unless conditions. 2016-11-05 10:58:39 -04:00
Mike McQuaid
bccd792bbf diagnostic: add checks for minimum Xcode/CLT versions. 2016-11-05 10:58:38 -04:00
ilovezfs
e26750e112 superenv: treat timingsafe_bcmp as weak on 10.11
Xcode 8.1 added timingsafe_bcmp to string.h and libsystem_c.tbd,
and 10.12.1 added it to libsystem_c.dylib, but it is not present in
libsystem_c.dylib on 10.11.6 (15G1108).

It may appear in libsystem_c.dylib in a later 10.11 release or it may
be marked weak on 10.11 in a later Xcode release.

Fixes Homebrew/homebrew-core#6344.
2016-10-29 03:26:52 -07:00
Josh Hagins
fab2cffe5d keg_relocate: wrap relocation locations in struct 2016-10-24 16:21:08 -04:00
ilovezfs
a53eca8cde dependency_collector: need xz dep on <= macOS 10.8
Mountain Lion: http://opensource.apple.com/source/libarchive/libarchive-25.1/config.h
  `/* #undef HAVE_LIBLZMA */`

Mavericks: http://opensource.apple.com/source/libarchive/libarchive-29/config.h
  `#define HAVE_LIBLZMA 1`
2016-10-16 05:48:37 -07:00
Mike McQuaid
b1a16deb19 Use BSD tar's libarchive LZMA support if available
Avoid using an unnecessary `xz` dependency when it's not needed.
2016-10-15 13:10:37 +01:00
Mike McQuaid
8a57fee68c */diagnostic: tweak messaging.
Update some messaging based on recent user confusion and the
`/usr/local/Homebrew` and Ruby 2 migrations.
2016-10-02 17:30:08 +01:00
ilovezfs
88a1b2853a superenv: more 10.11 clock_gettime Autotools fixes
some build systems check ac_cv_search_clock_gettime instead of
ac_cv_func_clock_gettime so the former should also be set to "no"

libev.m4 unsets ac_cv_func_clock_gettime, but if ac_have_clock_syscall
is defined, it will leave ac_cv_func_clock_gettime alone:

  http://cvs.schmorp.de/libev/libev.m4?view=markup#l23
2016-09-28 03:31:32 -07:00
Markus Reiter
e2c7509065 Merge pull request #1113 from reitermarkus/rubocop-guardclause
RuboCop: Fix Style/GuardClause.
2016-09-24 17:38:49 +02:00
Markus Reiter
58e36c7319 Fix Style/GuardClause. 2016-09-24 12:24:35 +02:00
Dominyk Tiller
12aad5c65f
diagnostic: limit fatal dev tools check to Sierra 2016-09-23 22:57:14 +01:00
Mike McQuaid
dd393c73ed Merge pull request #1106 from reitermarkus/rubocop
Even more RuboCop changes.
2016-09-23 19:35:15 +01:00
Mike McQuaid
81e325cdb7 Merge pull request #1097 from DomT4/software_dev_is_hard
diagnostic: make using outdated dev tools fatal
2016-09-23 17:49:01 +01:00
Markus Reiter
e851c9bf6c Style/Alias: Prefer alias. 2016-09-23 18:19:53 +02:00
Markus Reiter
fe2d51e0b9 Fix Style/IfUnlessModifier. 2016-09-23 15:30:07 +02:00
Mike McQuaid
9001855d64 Merge pull request #1086 from woodruffw/macho-cosmetics
Remove old cctools references now that only ruby-macho is used.
2016-09-23 10:40:08 +01:00
Dominyk Tiller
f3ef9a4551
diagnostic: make using outdated dev tools fatal
A smarter form of 559cea7fa9.
Travis users can't force Travis to update 10.11 to Xcode 8, so this was murdering
builds left, right & centre.

Fixes https://github.com/Homebrew/brew/issues/1096 whilst still retaining the
point of the original commit. Also offers developers an opt-out so if we need
to test something on 10.11 with Xcode 7.x we can, etc.
2016-09-23 00:13:04 +01:00
Dominyk Tiller
559cea7fa9
Revert "diagnostic: make using outdated development tools fatal"
This reverts commit a124680b189f50ebeb550845e3c0efd34db66247.

Will need to be smarter than this, since people can't force Travis to
update. I'm losing count of the amount of times Travis has forced a change
of plans around Homebrew this year.

Closes https://github.com/Homebrew/brew/issues/1096.
2016-09-22 23:37:12 +01:00
Bob W. Hogg
1de9f3baf3 make linux behaviour the default. override only for macos 2016-09-22 17:47:50 -04:00
William Woodruff
846a5b79b6
Remove old cctools references now that only ruby-macho is used. 2016-09-22 14:36:24 -04:00
Dominyk Tiller
a124680b18
diagnostic: make using outdated development tools fatal 2016-09-22 18:15:48 +01:00
Bob W. Hogg
57c2c560a1 one less block in mac dep 2016-09-22 08:36:10 -04:00
Bob W. Hogg
769cab7e4f follow the pattern more closely 2016-09-22 08:31:50 -04:00
Bob W. Hogg
01b93117cd move os checks to extend/os 2016-09-22 08:31:50 -04:00