17 Commits

Author SHA1 Message Date
Andrew Janke
c946da88ab linkage_checker: Distinguish indirect deps from undeclared deps 2018-02-10 10:26:54 -05:00
Mike McQuaid
b70b5429d0 Deprecate default_formula Requirement DSL
This has been a nightmare in terms of the complexity to our dependency
system and the whack-a-mole required on bugs. If a Requirement resolves
to a Formula it should just use `depends_on "formula"` instead. This
matches the effective behaviour all users of bottles (the vast majority
of users and installs) and what we're doing in Homebrew/homebrew-core.
2018-01-14 13:27:43 +00:00
Shaun Jackman
d79c5ade1a Implement linkage for Linux 2017-12-03 16:22:51 -08:00
Mike McQuaid
c8f3b1d37c linkage_checker: tweak headers wording.
It's helpful to note that the undeclared/unnecessary dependencies are
done based on linkage alone.
2017-09-19 10:54:50 +01:00
Maxim Belkin
f2531d1290
linkage_checker: unnecessary dependencies
- rename 'extraneous' to 'unnecessary'
- add the report under `linkage --test`
2017-09-11 09:40:23 -05:00
Maxim Belkin
049a453b46
linkage_checker: avoid some false positives 2017-09-11 09:40:23 -05:00
Maxim Belkin
0037d5e2b3
linkage_checker: fix style 2017-09-11 09:40:23 -05:00
Maxim Belkin
6c962c2a5b
linkage_checker: check for extraneous dependencies 2017-09-11 09:40:22 -05:00
William Woodruff
7c9b170ea0
linkage_checker: Whitelist another harmless dylib
libgcc_s.1.dylib is a variation on libgcc_s_ppc64.1.dylib.
2017-07-22 15:44:55 -04:00
William Woodruff
47fe214963
linkage_checker: Add harmless dylibs check.
While the linkage checker should normally report all broken links,
there are a few cases where broken links are harmless. One case
is when a the PPC slice of a program links to a PPC-only library
that no longer exists on x86_64 OS X. Since the PPC slice is never
loaded on modern OS X, inconsistencies within it do not need to
be reported.
2017-06-19 22:48:01 -04:00
Mike McQuaid
7a38bab333 Fixup all RuboCop warnings. 2017-05-29 18:43:18 +01:00
William Woodruff
032ed07bce
os/mac: Allow MachO.dynamically_linked_libraries to be filtered by dylib type.
This allows us to filter out weak linkages during audits, preventing
a false error from occurring when the dylib cannot be found.
2016-11-09 17:35:56 -05:00
Mike McQuaid
ecda1c9c54 os/mac/linkage_checker: fix Rubocop warnings. 2016-09-11 17:49:27 +01:00
Xu Cheng
91a47a9ed6 LinkageChecker: simplify logic (#538)
BuiltOptions#without? already handles the option_names for dependencies.

Also check disabled recommended deps.
2016-07-18 18:07:00 +08:00
Xu Cheng
c021f37525
add Formulary#from_keg 2016-07-15 19:57:23 +08:00
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