32434 Commits

Author SHA1 Message Date
fn ⌃ ⌥
2459aee5ae
Fix caching in Formula#runtime_installed_formula_dependents 2022-08-18 15:14:44 -07:00
Rylan Polster
8f54e57422
Merge pull request #13719 from Homebrew/dependabot/bundler/Library/Homebrew/minitest-5.16.3
build(deps): bump minitest from 5.16.2 to 5.16.3 in /Library/Homebrew
2022-08-18 15:47:43 -04:00
Rylan Polster
c84453b152
Merge pull request #13718 from Rylan12/fix-bump-cask-pr
Fix multi-arch cask `sha256` updates
2022-08-18 15:44:01 -04:00
BrewTestBot
4834b718b6
brew vendor-gems: commit updates. 2022-08-18 18:10:03 +00:00
dependabot[bot]
b7eebfaded
build(deps): bump minitest from 5.16.2 to 5.16.3 in /Library/Homebrew
Bumps [minitest](https://github.com/seattlerb/minitest) from 5.16.2 to 5.16.3.
- [Release notes](https://github.com/seattlerb/minitest/releases)
- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)
- [Commits](https://github.com/seattlerb/minitest/compare/v5.16.2...v5.16.3)

---
updated-dependencies:
- dependency-name: minitest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-18 18:07:20 +00:00
Rylan Polster
1075bbd895
Fix multi-arch cask sha256 updates 2022-08-18 12:50:20 -04:00
Carlo Cabrera
7384bd2b3f
cleanup: use cleanup_path more consistently
`cleanup_path` already handles the dry-run logic, and also includes
those paths in the summary of space freed by `brew cleanup`.

Before this change:

    ❯ brew cleanup --dry-run
    Would remove: /Users/carlocab/Library/Caches/Homebrew/bootsnap (2,401 files, 41.9MB)

After this change:

    ❯ brew cleanup --dry-run
    Would remove: /Users/carlocab/Library/Caches/Homebrew/bootsnap (2,401 files, 41.9MB)
    ==> This operation would free approximately 41.9MB of disk space.
2022-08-18 21:28:51 +08:00
Carlo Cabrera
0b48261f79
cleanup: handle Python site-packages directories
Inside a given `site-packages` directory, *.pyc files live in
`__pycache__` directories. These are created by the Python interpreter
when a module is imported in order to speed up future access to the
imported module.

These can be left behind when formulae are uninstalled, which results in
erroneous success in importing the modules they were originally compiled
for.

Let's fix that by cleaning these up. In the top-level `__pycache__`
directory, we use the `Pathname#prune?` extension in order to determine
whether a `*.pyc` file is old enough to clean up. In other directories,
we clean them up when they are all that remains in a given module's
tree.

Removing these `*.pyc` files will make `python3` regenerate them when
required, so deleting them is relatively safe. The worst consequence is
slightly slower module import times.

Closes #13701.
2022-08-18 21:09:12 +08: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
fcb30c1ead
Merge pull request #13702 from Rylan12/sha256-arch
Add `arm:` and `intel:` arguments to cask `sha256` stanza
2022-08-17 10:34:04 -04:00
Carlo Cabrera
696241e3de
Merge pull request #13711 from SMillerDev/fix/audit/cask_signing2
Cask: fix signing audit using unexpected pkg method
2022-08-17 22:28:11 +08:00
Sean Molenaar
b13f6c7c40
Cask: fix signing audit using unexpected pkg method 2022-08-17 15:49:04 +02:00
Bo Anderson
3f3c2f5390
Merge pull request #13708 from SMillerDev/fix/audit/cask_signing
Cask: fix signing audit checking all artifacts
2022-08-17 14:23:45 +01:00
Sean Molenaar
f7b32abfa3
Cask: fix signing audit checking all artifacts 2022-08-17 09:56:45 +02:00
Kevin
6f196ad9ba
Merge pull request #13695 from apainintheneck/ls--without-cellar
Update `brew ls` to work when the cellar doesn't exist
2022-08-16 17:55:13 -07:00
Rylan Polster
27e31c7f18
Check for nil? instead of blank? in cask DSLs 2022-08-16 11:04:59 -04:00
Carlo Cabrera
7872a6e2ba
Merge pull request #13699 from carlocab/rust-backtrace
dev-cmd/test: set `RUST_BACKTRACE` when retrying
2022-08-16 20:02:55 +08:00
Sean Molenaar
cc61a759ed
Merge pull request #13627 from SMillerDev/feature/cask/signing_check
cask: add audit for incorrect signing
2022-08-16 10:51:59 +02:00
Mike McQuaid
d21670370b
Merge pull request #13705 from MikeMcQuaid/service_formula
service: provide formula accessor.
2022-08-16 09:16:08 +01:00
Sean Molenaar
ca65777e70
cask/audit: improve wording
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-16 10:01:35 +02:00
Mike McQuaid
59692b5bf4
service: provide formula accessor.
Use `f` because it's generally recognised as a formula and this
shouldn't be widely needed/used.
2022-08-16 08:35:33 +01:00
Rylan Polster
686e02b7ce
Add arm: and intel: arguments to cask sha256 stanza 2022-08-16 00:48:24 -04:00
Carlo Cabrera
5047d4249e
Merge pull request #13690 from carlocab/python-path-shebang
language/python: support `python3` from PATH in `#detected_python_shebang`
2022-08-16 02:02:56 +08:00
Sean Molenaar
17d0572984
Merge pull request #13683 from SMillerDev/fix/build_env/dump_typing
build_environment: add proper types to dump() and fix inreplace error
2022-08-15 19:34:41 +02:00
Sean Molenaar
2de6958a36
build_environment: add proper types to dump() and fix inreplace error 2022-08-15 19:03:55 +02:00
Mike McQuaid
c7df26fed2
Merge pull request #13693 from FnControlHomebrew/info
info: highlight package name
2022-08-15 16:23:08 +01:00
fn ⌃ ⌥
783fcfb97c Fix tests 2022-08-15 07:52:32 -07:00
fn ⌃ ⌥
a208ea9c92 info: highlight package name 2022-08-15 07:47:52 -07:00
Rylan Polster
63ced67928
Merge pull request #13698 from Rylan12/refactor-on-system-cops
Refactor `on_system` rubocops for use in casks
2022-08-15 09:28:20 -04:00
Carlo Cabrera
fb4c6d92bc
Merge pull request #13677 from carlocab/python-libexec
ENV/super: add Python's `libexec/"bin"` directory when applicable
2022-08-15 18:47:02 +08:00
Carlo Cabrera
a1c1bf73ec
dev-cmd/test: set RUST_BACKTRACE when retrying
Occasionally, a new version of Rust will cause failures in dependents.
See, for example, Homebrew/homebrew-core#107818.

This change will allow us to get a fuller backtrace in CI, which will
also make it easier to submit bug reports upstream.

Without this change, recovering a full backtrace requires installing the
new version of Rust and rebuilding the failing formula from source. Both
these steps can be skipped if we set `RUST_BACKTRACE` when retrying a
failing test.
2022-08-15 18:27:32 +08:00
Carlo Cabrera
8064a39c18
Prefer newer versions of Python
Some formulae declare multiple Python dependencies, and they can appear
in any order in the `deps` array. Let's make sure to prefer the newest
one when adding their `libexec/"bin"` directory to `PATH`.
2022-08-15 18:18:21 +08:00
Rylan Polster
af99dfba00
Refactor on_system rubocops for use in casks 2022-08-14 17:31:07 -04:00
Bo Anderson
00fd810529
Merge pull request #13697 from lukaso/fix-debug-symbols
fix debug-symbols
2022-08-14 13:53:16 +01:00
Lukas Oberhuber
0cf11f4089 fix debug-symbols
Incorrectly named variable meant existing directory is never removed
so new directory can't be copied in.
2022-08-13 23:30:20 -10:00
apainintheneck
353fe2d322 Update brew ls to work when the cellar doesn't exist 2022-08-13 12:21:14 -07:00
Carlo Cabrera
f1e512001a
Merge pull request #13692 from Homebrew/spdx-update 2022-08-13 16:19:27 +08:00
BrewTestBot
891d0cfc72
spdx: update license data.
Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/spdx.yml).
2022-08-13 00:13:41 +00:00
Mike McQuaid
ea4924fea4
Merge pull request #13691 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.35.0
build(deps): bump rubocop from 1.34.1 to 1.35.0 in /Library/Homebrew
2022-08-12 19:42:14 +01:00
BrewTestBot
95356dd9dd
brew vendor-gems: commit updates. 2022-08-12 18:11:23 +00:00
dependabot[bot]
399631fced
build(deps): bump rubocop from 1.34.1 to 1.35.0 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.34.1 to 1.35.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.34.1...v1.35.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 18:04:47 +00:00
Carlo Cabrera
98a53e4781
language/python: support python3 from PATH in #detected_python_shebang
Some formulae are flexible about the version of Python3 that they use.
However, when we use `#detected_python_shebang` on these formulae, they
become coupled to the specific version of Python3 declared in the
formula.

This is harmful because
1. it prevents us from using `uses_from_macos "python"` even in formulae
   where we should be able to
2. it forces us to rebuild the formula whenever we make changes to the
   Python dependency when nothing but the shebang would have changed as
   a consequence of the rebuild

For an example of this, see Homebrew/homebrew-core#107905.

I'd also like to do this to get rid of some really terrible hacks we
have in `glib-utils` as a means of decoupling `glib` from the specific
versioned Python dependency it used to have.

See Homebrew/homebrew-core#103916, or Homebrew/homebrew-core#106045 for
a proposal to give the same treatment to `gobject-introspection`.
2022-08-13 01:11:09 +08:00
Rylan Polster
dac54fbbfb
Merge pull request #13536 from max-ae/generate-completions-dsl
Formula: add DSL to generate completions
2022-08-12 10:39:37 -04:00
Rylan Polster
e30b2a173c
Merge pull request #13688 from Rylan12/fix-bump-cask-pr
`bump-cask-pr`: fix `sha256` replacement with `arch`
2022-08-12 10:04:50 -04:00
Mike McQuaid
0478945b25
Merge pull request #13689 from Homebrew/update-man-completions
Update maintainers, manpage and completions.
2022-08-12 13:30:48 +01:00
BrewTestBot
71e169ecd2
Update maintainers, manpage and completions.
Autogenerated by the [update-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/update-man-completions.yml) workflow.
2022-08-12 09:07:17 +00:00
Mike McQuaid
a73a1a665e
Merge pull request #13608 from lukaso/debug-symbols
Support for `--debug-symbols` for macos
2022-08-12 10:05:32 +01:00
Mike McQuaid
04ff6a18f4
Tweak --debug-symbols description. 2022-08-12 09:34:51 +01:00
Mike McQuaid
c8d84eb3aa
Merge pull request #13686 from mjpieters/xdg_runtime_dir
brew: add XDG_RUNTIME_DIR copy
2022-08-12 09:25:38 +01:00
Rylan Polster
8fb03838db
bump-cask-pr: fix sha256 replacement with arch 2022-08-11 23:59:20 -04:00