15 Commits

Author SHA1 Message Date
Markus Reiter
b6c061ad18
Audit taps for duplicates in aliases/renames. 2024-02-08 16:36:10 +01:00
Bo Anderson
8045ed959a
tap_auditor: fix API data getting mixed in 2023-07-04 16:08:53 +01:00
Bo Anderson
5652655304
tap_auditor: fix alias handling with non-core taps 2023-06-10 00:52:39 +01:00
Markus Reiter
7cc1b6191e
Clean up brew audit output. 2023-05-19 19:40:37 +02:00
Douglas Eichelberger
24cf6076e8 brew style --fix 2023-04-24 20:42:39 -07:00
Carlo Cabrera
18722901ee
formula_auditor: create a versioned formula dependent conflict allowlist
We have an audit that checks each formula's dependency tree for multiple
versions of the same software. We have an allowlist that allows us to
ignore this audit, but this allowlist requires each formula with a
conflict in its dependency tree to be listed there.

Here, I propose the reverse: if formula `foo` appears in the
`versioned_formula_dependent_conflicts_allowlist`, then all its
dependents will not fail the versioned dependencies conflict because of
a conflict with formula `foo`.

I'd like to do this in the case of `python`, where I think the versioned
dependencies conflict check hurts us more than helps us. Versioned
dependency conflicts are most problematic in the case of libraries with
the same install name but incompatible ABIs. This is almost never a
problem with Python: almost no formulae link with the Python framework
on macOS (in part due to one of our audits that disallows Python
framework linkage in Python modules). Moreover, the various Python
frameworks that we ship have the version in the install name.

The above _might_ be a problem on Linux, since we allow unrestricted
linkage with `libpython`. However, we don't even check versioned
conflicts on Linux, so we aren't as concerned about this in the first
place.

This is also a lot more convenient than adding the dependents of some
Python formula one by one as they acquire conflicts due to changes in
other formulae.

I've also amended `tap_auditor` to allow the use of formula aliases in
an allowlist, to allow us to add `python` to this allowlist instead of
each individual versioned Python formula.

See also discussion at Homebrew/homebrew-core#108307.
2022-08-18 15:40:54 +08:00
Rylan Polster
05fa1f0cb8
tap_auditor: use short names when checking exception lists 2021-08-20 02:36:14 -04:00
Rylan Polster
da29827a87 audit: cleanup shared audit exception handling 2020-12-22 10:51:29 -05:00
Rylan Polster
ec4fe89a94 audit: migrate shared audits to taps 2020-12-21 14:45:02 -05:00
Rylan Polster
80a46edee4 tap: add style_exceptions configuration 2020-11-30 18:18:49 -05:00
Rylan Polster
ee47b863c4 move mapping from formula_lists to pypi_formula_mappings 2020-11-24 15:40:15 -05:00
Rylan Polster
51a1b7c9e1 move pypi list to tap formula_lists directory 2020-11-24 15:40:15 -05:00
Jonathan Chang
7330b4a6cc tap_auditor: widen type for constructor
We don't always pass `--strict`.
2020-11-20 22:20:34 +11:00
Markus Reiter
dc11f02e16 Move auditor classes into separate files. 2020-11-18 11:22:27 +01:00
Markus Reiter
04272f5f68 Move TapAuditor into separate file. 2020-11-18 10:25:32 +01:00