46483 Commits

Author SHA1 Message Date
Mike McQuaid
20eb1e15b8
Merge pull request #20416 from Homebrew/copilot/fix-18036
Add brew doctor warning for symlinked /home directories on Linux
2025-08-12 17:57:27 +00:00
Ruoyu Zhong
5ed723e25e
Merge pull request #20435 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-12 17:22:53 +00:00
Mike McQuaid
96268175c5
Merge pull request #20417 from Homebrew/copilot/fix-16309
Fix cask installation conflicts with same-named formula binaries
2025-08-12 17:21:51 +00:00
BrewTestBot
947434c2d9
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-12 17:08:09 +00:00
Mike McQuaid
d5b0809166
Merge pull request #20414 from Homebrew/copilot/fix-18371
Don't allow installing formulae from paths without HOMEBREW_DEVELOPER
2025-08-12 16:54:06 +00:00
Carlo Cabrera
6457770a59
os/linux/keg_relocate: skip ELF files with protodesc_cold only when bottling
We removed this exclusion in #20423 because it broke pouring of existing
bottles, which still need relocation.

Let's skip relocation only when bottling, to avoid breaking existing
bottles that need to be relocated when pouring.
2025-08-13 00:25:53 +08:00
Carlo Cabrera
a8aa3590f2
Merge pull request #20433 from Homebrew/formula-logfn
formula: improve log filename handling
2025-08-12 15:03:45 +00:00
Ruoyu Zhong
6f3f2d7317
formula: improve log filename handling
Fixes 718b82560a (commitcomment-163850325).
2025-08-12 22:46:41 +08:00
Bevan Kay
0bb269fdf0
docs/cask: add rename stanza docs 2025-08-12 23:24:20 +10:00
Bevan Kay
9cb2b65319
cask/dsl/rename: add new rename dsl 2025-08-12 23:24:20 +10:00
Carlo Cabrera
e16be4672a
Merge pull request #20431 from Homebrew/rustc_wrapper-fix
shims/super/rustc_wrapper: fix comment
2025-08-12 13:22:08 +00:00
copilot-swe-agent[bot]
d785e2024b
Add symlinked home detection to brew doctor on Linux
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 11:00:14 +01:00
copilot-swe-agent[bot]
cbe347782c
Implement formula conflict detection for cask binary artifacts
While we're at it, update copilot instructions.

Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 10:42:51 +01:00
copilot-swe-agent[bot]
e22af11388
Prevent installing formulae from paths without HOMEBREW_DEVELOPER
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 09:54:21 +01:00
Mike McQuaid
b8c82b44b8
Merge pull request #20425 from Homebrew/internal-api-helper
Create `Homebrew::API::Internal` for working with internal API
2025-08-12 07:32:18 +00:00
Mike McQuaid
e9bc015f9a
Merge pull request #20429 from Homebrew/simplify-to-hash-with-variations-from-api
Store API data in formulae/casks for use in `to_hash_with_variations`
2025-08-12 07:25:34 +00:00
Rylan Polster
cf450d9948
Create Homebrew::API::Internal
Add type aliase and fix cask content issue
2025-08-12 02:40:48 -04:00
Carlo Cabrera
b89d4ef633
shims/super/rustc_wrapper: fix comment
In #20424, we moved `HOMEBREW_RUSTFLAGS` to the end of the compiler
invocation, but didn't update the comment. Let's fix that.

While we're here, let's fix these `shellcheck disable`s.
2025-08-12 14:15:14 +08:00
Ruoyu Zhong
38485e365f
Merge pull request #20422 from Homebrew/elf-typed-strict
os/linux/elf: bump to `typed: strict`
2025-08-12 02:56:15 +00:00
Ruoyu Zhong
26021c9e36
os/linux/elf: bump to typed: strict
Also, clean up an unused method (`elf_parser`) from a previous conflict
resolution.

Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-08-12 10:25:40 +08:00
Rylan Polster
8aabee74a6
Store cask API data for use in to_hash_with_variations 2025-08-11 22:06:07 -04:00
Rylan Polster
8dccdd8e60
Store formula API data for use in to_hash_with_variations 2025-08-11 22:06:07 -04:00
Rylan Polster
a0d01bc7c4
Merge pull request #20428 from Homebrew/fix-brew-info-for-third-party
Don't query analytics for third-party formulae/casks in `brew info`
4.6.3
2025-08-11 23:20:49 +00:00
Rylan Polster
ff5edb73c2
Don't query analytics for third-party formulae/casks in brew info 2025-08-11 18:54:09 -04:00
Rylan Polster
cd5cd2d04d
Merge pull request #20426 from Homebrew/internal-cask-api-hash
Use hash for internal cask API
2025-08-11 19:20:15 +00:00
Rylan Polster
5e2b54881c
Use hash for internal cask API 2025-08-11 15:03:05 -04:00
Mike McQuaid
bcc3a0dbef
Merge pull request #20424 from Homebrew/rustc_wrapper
rustc_wrapper: pass `HOMEBREW_RUSTFLAGS` last
4.6.2
2025-08-11 17:01:40 +00:00
Carlo Cabrera
63a8fd7a4a
rustc_wrapper: pass HOMEBREW_RUSTFLAGS last
If we pass it first, it can be overridden by other arguments passed on
the command line. We don't want that.

See discussion at Homebrew/homebrew-core#232566.
2025-08-12 00:46:05 +08:00
Carlo Cabrera
12a25495e6
Merge pull request #20423 from Homebrew/relocate-protodesc-cold-again
os/linux/keg_relocate: remove `protodesc_cold` exclusion
2025-08-11 16:44:54 +00:00
Carlo Cabrera
ef89522446
os/linux/keg_relocate: remove protodesc_cold exclusion
This needs to be handled more carefully. It probably works fine for
bottles built *after* this change was added, but it breaks bottles built
before this exclusion was added.

Let's remove it for now to limit the extent of the breakage.
2025-08-12 00:27:39 +08:00
Mike McQuaid
04b47bc1aa
Merge pull request #20406 from Homebrew/alias-rename-migrations-internal-api
Cleanup internal API handling
2025-08-11 13:58:38 +00:00
Mike McQuaid
278271c969
Merge pull request #20391 from Homebrew/dug/service-refactor
Simplify Service attr helper methods
2025-08-11 13:36:01 +00:00
Issy Long
d0e9a2d7d6
Always suggest a HEAD branch name if we can find one
- If a HEAD branch name isn't specified at all, then the user probably
  wants to shortcut adding one by being told what the default branch for
  the repo is. Otherwise they have to click the URL, look at the GitHub
  UI, then type the branch name into `branch: "foo"` syntax.
2025-08-11 13:46:49 +01:00
Mike McQuaid
38415d8600
Merge pull request #20413 from Homebrew/cask-audit-signing-skiplist
cask/audit: add skiplist for signing audit
4.6.1
2025-08-11 12:28:33 +00:00
Mike McQuaid
97c0bc7d0b
Merge pull request #20408 from Homebrew/fd-leak-fix
os/linux/elf: fix file descriptor leak
2025-08-11 12:10:16 +00:00
Bevan Kay
c83f77b091
cask/audit: add skiplist for signing audit 2025-08-11 22:08:05 +10:00
Mike McQuaid
8c1048bbf8
Merge pull request #20412 from XuehaiPan/fix-ld-so-conf
os/linux/ld: do not crash the program if the `ld.so.conf` entry is not readable
2025-08-11 12:05:45 +00:00
Xuehai Pan
b2d621ce6f os/linux/ld: do not crash the program if the ld.so.conf entry is not readable 2025-08-11 19:40:41 +08:00
Ruoyu Zhong
42b332055a
os/linux/elf: fix rpath precedence 2025-08-11 18:28:58 +08:00
Ruoyu Zhong
66737b5e82
os/linux/elf: fix file descriptor leak
On Linux, we occasionally see `EMFILE` ("too many open files") errors
especially when installing a large formula like `llvm`. Currently, this
can be reliably reproduced in a Homebrew/brew GitHub codespace (where
`ulimit -n` seems to be 1024 by default) with `brew install geeqie`,
with the following error message:

    Error: Too many open files @ rb_sysopen - /home/linuxbrew/.linuxbrew/Cellar/llvm/20.1.8/bin/tblgen-lsp-server

The reason is that each instance of `PatchELF::Patcher` keeps the ELF
file open. We prepend the `ELFShim` module to the `Pathname` class and
cache the patcher as an instance variable, which means that the ELF file
remains open so long as the `Pathname` instance is still alive even if
we don't need to access the ELF metadata anymore. When performing
certain checks (e.g., linkage), we also store these `Pathname`
instances, so the number of open file descriptors simply keeps
increasing.

We can fix that by not caching the patcher and only use it when
necessary. We create a patcher instance whenever we need to read or
write ELF metadata, and reading of metadata is consolidated into the
existing `ELFShim::Metadata` class so that we don't repeatedly create
patcher instances.

A fix for a file descriptor leak issue in patchelf.rb has been submitted
at https://github.com/david942j/patchelf.rb/pull/48. Together with that,
this fixes #19177, #19866, #20223, #20302.
2025-08-11 18:01:32 +08:00
Mike McQuaid
2992b7f519
Merge pull request #20404 from Homebrew/rubocops_patches_corrector_tests
patches audit: add tests for patches corrector
2025-08-11 07:48:00 +00:00
Mike McQuaid
cf21efc318
Merge pull request #20405 from Homebrew/cask-audit-separate-artifacts
cask/audit: iterate over artifacts in rosetta/signing audit
2025-08-11 07:30:52 +00:00
Mike McQuaid
352cc39523
Merge pull request #20407 from Homebrew/build-log-ext
formula: append `.log` to formula build log filenames
2025-08-11 07:30:10 +00:00
Mike McQuaid
68940af4a5
Merge pull request #20403 from Homebrew/skip-proto-relocation
Skip rpath relocation of ELF files with `protodesc_cold` sections
2025-08-11 07:29:36 +00:00
Bevan Kay
12f6e871c7
cask/audit: apply suggestion from code review
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-11 15:26:44 +10:00
Bevan Kay
5c06d6f184
cask/audit: apply suggestion from code review
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-11 15:26:36 +10:00
Carlo Cabrera
718b82560a
formula: append .log to formula build log filenames
Having log files with extensions like `.cc` and `.cmake` is really
unfriendly to editor syntax highlighters and language servers. Let's try
to make sure these are opened as log files by adding a `.log` extension
to them.
2025-08-11 13:10:14 +08:00
Rylan Polster
480eeb4246
Enable download queue for single formula/cask API fetches 2025-08-11 00:43:34 -04:00
Rylan Polster
d3aac3fa5f
Include aliases, renames, and tap migrations in minimal APIs 2025-08-11 00:37:50 -04:00
Rylan Polster
97d299728d
Cleanup internal API handling 2025-08-11 00:37:50 -04:00