36028 Commits

Author SHA1 Message Date
Carlo Cabrera
f2c32156e8
Merge pull request #20356 from Homebrew/kernel-sigs
extend/kernel: tighten up some type signatures
2025-08-01 18:32:48 +00:00
Carlo Cabrera
cf6c5acce0
extend/kernel: tighten type sig for ensure_formula_installed!
This does the same as #20356 for `ensure_formula_installed!`. See
discussion at #20352.

Unfortunately, one must still `require "formula"` before using this
method because of the `returns(Formula)`, but tightening the type
signature is generally a good idea anyway.

Closes #20352.
2025-08-02 02:23:47 +08:00
Carlo Cabrera
a0a78e6c6c
Remove support for passing Formulae to pretty_*ed methods
It doesn't look like these are even needed.
2025-08-02 02:11:12 +08:00
Carlo Cabrera
a76c33f7bb
extend/kernel: tighten up some type signatures
Allowing either `Formula`e or `String`s in these methods leads to errors
at runtime when one hasn't done `require "formula"` yet.

Let's tighten these up so that they only accept `Formula` arguments to
guarantee that `require "formula"` has been done before they are called.
For callers that need to pass a `String`, we update them to call a
version of these methods that accepts only `String`s.

See discussion at #20352.
2025-08-02 01:59:46 +08:00
Carlo Cabrera
29512728e3
Merge pull request #20355 from Homebrew/cat-require-formula
dev-cmd/cat: add `require "formula"`
2025-08-01 17:48:23 +00:00
Carlo Cabrera
a9e88acab4
dev-cmd/cat: add require "formula"
Fixes

    ❯ HOMEBREW_BAT=1 brew cat xz
    Error: uninitialized constant Kernel::Formula
    Warning: Removed Sorbet lines from backtrace!
    Rerun with `--verbose` to see the original backtrace
    /opt/homebrew/Library/Homebrew/extend/kernel.rb:445:in 'block in <module:Kernel>'
    /opt/homebrew/Library/Homebrew/dev-cmd/cat.rb:33:in 'block in Homebrew::DevCmd::Cat#run'
    /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/lib/ruby/3.4.0/fileutils.rb:241:in 'Dir.chdir'
    /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/lib/ruby/3.4.0/fileutils.rb:241:in 'FileUtils#cd'
    /opt/homebrew/Library/Homebrew/dev-cmd/cat.rb:29:in 'Homebrew::DevCmd::Cat#run'
    /opt/homebrew/Library/Homebrew/brew.rb:113:in '<main>'
    Please report this issue:
      https://docs.brew.sh/Troubleshooting
2025-08-02 01:30:01 +08:00
Patrick Linnane
ce237901a0
Merge pull request #20348 from osalbahr/skip-https-audit-for-curl-deps
utils/curl.rb: Skip https audit for curl dependencies
2025-08-01 17:29:57 +00:00
Mike McQuaid
55a578ad08
Merge pull request #20353 from Homebrew/fix_download_queue_patches
download_queue: fix patch handling.
2025-08-01 17:29:14 +00:00
Mike McQuaid
d1a33283c6
observer_pathname_extension: add strict Sorbet types. 2025-08-01 17:11:50 +01:00
Mike McQuaid
ebd4ad6077
download_queue: fix patch handling.
These were being downloaded twice simultaneously which causes a locking
race condition.

While we're here, also improve the output of bottle manifests and
patches in the download queue.
2025-08-01 16:57:47 +01:00
Osama Albahrani
69673221d4 resource_auditor.rb: Skip https audit for curl dependencies
The error message to be fixed:

```console
% brew audit --strict --online xz
xz
  * Stable: The source URL http://downloads.sourceforge.net/project/lzmautils/xz-5.8.1.tar.gz should use HTTPS rather than HTTP
Error: 1 problem in 1 formula detected.

% brew edit xz # change it to https

% brew audit --strict --online xz
xz
  * Stable: should always include at least one HTTP mirror
Error: 1 problem in 1 formula detected.
```

- Fixes https://github.com/Homebrew/brew/issues/15728
2025-08-01 18:01:09 +03:00
Mike McQuaid
ea53fdc096
extend/pathname: fix type signature for write_env_script.
It needs to be more permissive.
2025-08-01 15:28:53 +01:00
Mike McQuaid
53b900663a
Merge pull request #20349 from Homebrew/odisabled_fix
extend/kernel: fix odisabled call.
2025-08-01 11:36:21 +00:00
Carlo Cabrera
f5bddacf0c
Merge pull request #20345 from Homebrew/assertions-typecheck
formula_assertions: fix typechecking error in `{shell,pipe}_output`
2025-08-01 10:09:39 +00:00
Mike McQuaid
f405f7316c
extend/kernel: fix odisabled call.
This must set `disable` to `true` to have correct behaviour.
Also, don't allow setting it to `false` to avoid confusion as
that's what `odeprecated` is for.
2025-08-01 08:47:38 +01:00
BrewTestBot
d62bb61c7f
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-01 00:37:45 +00:00
Carlo Cabrera
4c024adba6
formula_assertions: fix typechecking error in {shell,pipe}_output
`cmd` can be a `Pathname` (see the type signature), but `ohai` seems to
expect only `String`s now.

While we're here, let's assert that `cmd` exists whenever it is a
`Pathname`, to avoid passing arguments like `bin/"cmd --version"` (which
is not a valid `Pathname`).

See, for example, Homebrew/homebrew-core#231882.
2025-08-01 05:58:46 +08:00
Rylan Polster
46b8ef4b96
Merge pull request #20344 from Homebrew/extend_sorbet_typing_pathname_cleanup
Cleanup some `extend/*` types/locations
2025-07-31 18:56:36 +00:00
Mike McQuaid
ec56bbf289
Improve extend/* Sorbet typing 2025-07-31 17:31:27 +01:00
Mike McQuaid
bcdb1d3af6
Merge pull request #20343 from Homebrew/fix_uri_parser_warning
Fix URI parser warning
2025-07-31 13:38:39 +00:00
Mike McQuaid
0df52b91de
Merge pull request #20342 from Homebrew/document_homebrew_download_concurrency
Document `HOMEBREW_DOWNLOAD_CONCURRENCY` environment variable
2025-07-31 12:06:32 +00:00
Mike McQuaid
34bc30d639
Fix URI parser warning 2025-07-31 12:21:19 +01:00
Mike McQuaid
0af23e9dc9
Document HOMEBREW_DOWNLOAD_CONCURRENCY environment variable
We're going to be ready in 4.6.0 for users to try this out (but not
yet for it to be the default).
2025-07-31 12:18:08 +01:00
Mike McQuaid
e3c3f5a356
Deprecate/disable/remove code for Homebrew 4.6
The next minor release will be Homebrew 4.6.0 so let's do the usual
deprecation/disable/remove code cycle.
2025-07-31 12:13:01 +01:00
Carlo Cabrera
70bb266d91
Merge pull request #20340 from Homebrew/test-bot-style-fix
utils/gems: use Homebrew-specific gem spec cache
2025-07-31 06:46:37 +00:00
Bo Anderson
888746ef54
utils/gems: use Homebrew-specific gem spec cache 2025-07-31 05:42:40 +01:00
Bo Anderson
c1c58741d6
api: fix handling of source downloads 2025-07-31 05:40:40 +01:00
Patrick Linnane
0162cdeffe
Merge pull request #20333 from agowa/patch-1
`brew upgrade --help` missing HOMEBREW_UPGRADE_GREEDY
2025-07-30 21:58:47 +00:00
Klaus Frank
a7da303481 fix: Add missing env var mention on upgrade help page
Add missing env defaults note for `--greedy` to `brew upgrade --help` output
2025-07-30 21:37:23 +00:00
Douglas Eichelberger
7fb928ccf4
Merge pull request #20325 from Homebrew/dug/typed-cask-audit
Enable strict typing in Cask::Audit
2025-07-30 20:23:18 +00:00
Douglas Eichelberger
157992be17
Enable strict typing in Cask::Audit 2025-07-30 12:43:32 -07:00
Mike McQuaid
bafc57cfe1
Add Cask install/upgrade/reinstall support for download queue
This will allow installing/upgrading/reinstalling casks and all their
dependencies in parallel.
2025-07-30 08:18:35 +01:00
Mike McQuaid
cb1fe9ac0c
Merge pull request #20330 from Homebrew/empty_caveats
cmd/info: don't print empty caveats.
2025-07-30 06:45:05 +00:00
Rylan Polster
fe0a9c4a3d
Merge pull request #20327 from Homebrew/download_queue_source_download
formula*: add source download support for download queue.
2025-07-30 03:26:40 +00:00
Mike McQuaid
10eb5491dc
cmd/info: don't print empty caveats.
The existing logic was insufficient so let's check the actual string.
2025-07-29 15:18:24 +01:00
Mike McQuaid
d15a0cd9eb
env_config: add auto option for download_concurrency
This will allow the user to set `HOMEBREW_DOWNLOAD_CONCURRENCY` to
`auto` to have Homebrew use the number of cores on the machine * 2.
2025-07-29 15:15:37 +01:00
Mike McQuaid
5d01b22d38
formula*: add source download support for download queue.
This should allow downloading the formula files from GitHub in
parallel too.
2025-07-29 13:48:43 +01:00
Mike McQuaid
b63669c92b
download_queue: fix bottle manifest handling.
These should be ignored upon failures.
2025-07-29 12:42:13 +01:00
Mike McQuaid
0c09ed71d4
formula_installer: fix fetch deps and local pour for download queue. 2025-07-29 12:19:39 +01:00
Mike McQuaid
d3a9525fd7
retryable_download: ensure HOMEBREW_CELLAR exists. 2025-07-29 12:19:38 +01:00
Douglas Eichelberger
0a4b064059
Fix specs 2025-07-28 21:14:23 -07:00
Douglas Eichelberger
5177db7dc9
Remove redundant yard tags 2025-07-28 17:14:03 -07:00
Douglas Eichelberger
c4b02465f5
Reduce shape variations in Homebrew::Service 2025-07-28 17:03:43 -07:00
Douglas Eichelberger
c738d5c007
Fix type error in Readall 2025-07-27 10:07:34 -07:00
Bo Anderson
4d14be89e9
Merge pull request #20309 from Homebrew/dependabot/all-f8dbd9efe6
Bump the "all" group with 3 updates across multiple ecosystems
2025-07-25 16:37:43 +00:00
Mike McQuaid
4d58e746da
Merge pull request #20313 from Homebrew/download_queue_no_tty
download_queue: improve non-TTY output.
2025-07-25 16:29:51 +00:00
Mike McQuaid
bd3461d4b0
Merge pull request #20312 from Homebrew/development_tools_env
linux/development_tools: add undocumented environment variables.
2025-07-25 16:29:33 +00:00
Mike McQuaid
0c969c2f82
Merge pull request #20311 from Homebrew/quieter_debug
Make `--debug` output a bit quieter by default
2025-07-25 16:28:33 +00:00
Mike McQuaid
312f046302
Make --debug output a bit quieter by default
The `Formulary` and `system_command` debug output is incredibly verbose
by default and this is pretty annoying when all you want is to get
better backtraces when there's an error.

Instead, let's require `--verbose` and `--debug` for the noisiest output
message types.
2025-07-25 17:14:46 +01:00
BrewTestBot
bd24e11313
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-07-25 16:11:08 +00:00