143 Commits

Author SHA1 Message Date
Mike McQuaid
3f8722c971 audit: allow skipping audit methods.
Add `--only` and `--except` methods which can be used to selectively
enable or disable audit groups.
2017-04-18 08:17:26 +01:00
Mike McQuaid
417f49dd32 Merge pull request #2477 from MikeMcQuaid/audit-more-universal
audit: check for more universal usage.
2017-04-17 15:50:21 +01:00
Mike McQuaid
29b54dc16d Merge pull request #2473 from MikeMcQuaid/audit-language-module-requirements
audit: deprecate language module requirements.
2017-04-17 14:20:51 +01:00
Mike McQuaid
88a75af1c3 audit: don't recommend version aliases on --devel.
As requested in #11462 by @neutric as this produces confusing,
incorrect output.
2017-04-10 19:03:44 -07:00
Mike McQuaid
0948d2013a audit: deprecate language module requirements.
Make `brew audit` complain about language module requirements because
they provide a crappy user experience compared to vendoring and we’re
not really fixing bugs in them any more.
2017-04-10 22:42:57 +01:00
Mike McQuaid
2c370f3677 audit: check for more universal usage.
Also check for `ENV.universal_binary` and `build.universal?`. The prior
is still required for `wine` and the latter should never be required any
longer.
2017-04-10 22:36:39 +01:00
Mike McQuaid
3f51406212 Merge pull request #2242 from GauthamGoli/audit_custom_cops
Port audit_desc audit rules to a cop
2017-04-05 08:37:43 +01:00
Mike McQuaid
57b230dd5c audit: fix core formula alias check.
Was missing a formula object being passed.
2017-04-04 18:38:18 +01:00
Mike McQuaid
7d66e29927 Merge pull request #2399 from MikeMcQuaid/unversioned-formulae-check
audit: check for unversioned formulae.
2017-03-30 19:06:47 +01:00
William Woodruff
e7554b0b3f
audit: Fix cctools invocation check regular expression.
Additionally, ignore the cctools formula itself, since it obviously
needs to check cctools invocations.
2017-03-29 09:52:35 -04:00
William Woodruff
8608d1ea78 Merge pull request #1828 from woodruffw/audit-cctools
audit: Check for invocations of cctools.
2017-03-28 22:03:57 -04:00
ilovezfs
70685f3017 audit: bump whitelisted elm-format version to 0.6.0-alpha 2017-03-26 22:43:08 -07:00
Mike McQuaid
181275c016 audit: check for unversioned formulae.
If we're adding a versioned formulae we want to ensure that there's also
an unversioned one too.
2017-03-26 20:36:37 +01:00
Raza Hussain
543529c054 indenting 2017-03-26 14:29:38 -04:00
Raza Hussain
86cf8873b6 changing if condition 2017-03-26 12:54:25 -04:00
Raza Hussain
94769652e0 simplify the regex and make a line max 80 char long 2017-03-26 12:43:09 -04:00
Mike McQuaid
4117d198cc Merge pull request #1732 from zmwangx/hint-migrations
Hint at new location of migrated formulae
2017-03-21 17:31:31 +00:00
Mike McQuaid
7d068d468d Merge pull request #2365 from MikeMcQuaid/audit-provided-by-macos
audit: check system dupe deps on new formulae.
2017-03-21 14:49:22 +01:00
Mike McQuaid
80e95b684e blacklist: move to missing_formula class instead.
This will allow extending this class so it can be used by more than
just blacklisting.
2017-03-20 18:20:31 +02:00
Mike McQuaid
8efc0a608d audit: deprecate depends_on :tex.
This has known issues with our `ghostscript` formula, we can't test it
on CI and is a ludicrously heavy dependency that in many cases can be
avoided by upstream providing prebuilt documentation.
2017-03-19 20:46:31 +02:00
Mike McQuaid
eadbd95d2c audit: check system dupe deps on new formulae.
Provide a gentle nudge to users to check if these dependencies are
definitely required.
2017-03-19 20:45:21 +02:00
JCount
5e8a9fa3f3 audit: online - limit download time based on HTTPS determination
Previously, the http_content_headers_and_checksum method always
downloaded the entire url, including headers. These downloads
periodically hang, outputting false positives or wreaking havoc on
the CI. Therefore, use curl's --max-time arg to prevent this by
setting a hard limit of 600 seconds when the entire file is going
to be used to detect whether the url can be changed to use the HTTPS
protocol instead of HTTP. Otherwise, if the url already is HTTPS, limit
the download time to 25 seconds since only the headers, not contents, matter.
2017-03-16 17:37:22 -04:00
ilovezfs
45aa7b9a14 Revert "audit: exempt wine's deps from the universal deprecation" 2017-03-12 13:59:43 -07:00
Markus Reiter
c594ffefbc Add Formatter::pluralize. 2017-03-11 21:12:51 +01:00
Mike McQuaid
c4c3588de8 Merge pull request #2252 from zmwangx/audit-no-warn-brew-mirror-url
audit: do not warn about reachability of `brew mirror`ed URL
2017-03-08 09:32:37 +00:00
JCount
3db3b08d72 audit: freeze versioned_conflicts_whitelist 2017-03-05 15:44:03 -05:00
JCount
460c4a3200 audit: deconstruct versioned_conflicts_whitelist using splat 2017-03-05 15:06:02 -05:00
JCount
4e50562424 audit: whitelist bash-completion@* to use conflicts_with
this is necessary because they install conflicting scripts into
HOMEBREW_PREFIX/etc/profile.d
2017-03-05 14:19:32 -05:00
Mike McQuaid
dbf3630a53 Merge pull request #2262 from MikeMcQuaid/subversion-https-audit
Don't check Subversion HTTPS pre-Sierra.
2017-03-05 15:30:16 +01:00
ilovezfs
a1da909dea audit: whitelist node@* to use conflicts_with
Add exceptions for node@* versioned formulae to use conflicts_with
instead of keg_only :versioned_formula since they, and the main node
formula, all currently overwrite npm during postinstall.
2017-03-05 03:15:22 -08:00
Mike McQuaid
e26cf3a83f Don't check Subversion HTTPS pre-Sierra.
The system Subversion doesn't handle new certificate authorities (e.g.
Let's Encrypt) well enough for this check to be useful.
2017-03-05 11:42:59 +01:00
Zhiming Wang
475cade1a3
audit: do not warn about reachability of brew mirrored URL
A `brew mirror`ed URL is usually not yet reachable at the time of pull request.
2017-03-04 10:12:45 -05:00
Jonathan Chang
8385f179df audit: reject versions starting with HEAD
Many parts of Homebrew assume that a version string beginning with
"HEAD" is, in fact, a head build. A stable version that begins with
"HEAD" violates this assumption and causes problems, as it's treated
as a head build in some places and as a stable build in others.
2017-03-02 21:27:12 -08:00
Gautham Goli
19f693d25b Port audit_desc rules to cop 2017-03-02 12:50:05 +05:30
Misty De Meo
e3f4701f38 audit: fix audit on formulae without homepages 2017-02-27 08:24:44 +11:00
Misty De Meo
177aefdf55 xcodebuild audit: match xcodebuild with no args
Closes #2199.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2017-02-26 21:16:43 +11:00
Mike McQuaid
d0a965e2ab Merge pull request #2107 from MikeMcQuaid/audit-version-aliases
audit: check for version aliases.
2017-02-25 14:13:35 +00:00
ilovezfs
75724c5b5d audit: whitelist more unstable versions already in core
These were imported from homebrew/games.
2017-02-25 03:03:37 -08:00
Mike McQuaid
1284f29561 audit: don't try to HTTP check non-HTTP content. 2017-02-24 08:51:15 +00:00
Mike McQuaid
b984be675d audit: use using for HTTPS detection. 2017-02-24 08:45:39 +00:00
Mike McQuaid
9fa014710d audit: further refactor http content checks.
Check homepages and don’t check mirrors unless `—strict`.
2017-02-23 10:16:27 +00:00
Mike McQuaid
96a8f8f172 audit: check for version aliases.
Current version aliases should be provided for versioned formulae so
people can `brew install foo@1.2` to provide pin-like behaviour.
2017-02-23 09:14:54 +00:00
Mike McQuaid
5e90575004 audit: handle redirects in get_content_details. 2017-02-23 09:09:58 +00:00
Mike McQuaid
5390897883 audit: refactor http content checks. 2017-02-23 09:09:33 +00:00
Mike McQuaid
ac5b6b6eea Revert "audit: fix revision should be removed." 2017-02-22 08:49:24 +00:00
ilovezfs
4e34f7b60e Merge pull request #2086 from MikeMcQuaid/audit-revision-remove-fix
audit: fix revision should be removed.
2017-02-21 14:09:58 -08:00
ilovezfs
b59bf2ff64 Revert "audit: check for version aliases." 2017-02-21 11:31:18 -08:00
Mike McQuaid
2f42dfc68a audit: fix revision should be removed.
Regression introduced in #1754 which meant that (due to storing the
current formula revision in `attributes_map`) `stable_revisions.empty?`
would never be `true`.
2017-02-21 18:50:07 +00:00
Mike McQuaid
606790d062 audit: check for version aliases.
Current version aliases should be provided for versioned formulae so
people can `brew install foo@1.2` to provide pin-like behaviour.
2017-02-21 15:36:49 +00:00
Mike McQuaid
125a6eee21 audit: fix brew style. 2017-02-20 22:48:03 +00:00