5372 Commits

Author SHA1 Message Date
Carlo Cabrera
7be6b8e6d1
update-report: migrate GCC recursive dependents
When GCC 12 ships (Homebrew/homebrew-core#106755) ships, most (all?)
Linux bottles that depend on GCC will break.

Let's fix that by using the same trick for handling divergent formula
revisions when migrating formulae from linuxbrew-core (#11982). We set
the recorded `version_scheme` to -1, which spoofs the formula being
outdated. When `brew upgrade` installs GCC 12, the broken formulae will
have their bottles reinstalled too.

This works because the reinstallation will also rewrite the existing
RPATHs to point to the new version of GCC instead (#13631). This should
handle most of the breakage.
2022-08-02 23:57:16 +08:00
Lukas Oberhuber
5b1724ef33 Fix rubocop warning by ignoring for install_args 2022-08-01 15:27:17 -07:00
Carlo Cabrera
72880dea35
Merge pull request #13586 from carlocab/git-fsmonitor 2022-07-29 04:28:15 +08:00
Carlo Cabrera
5e60d54e70
update: disable Git fsmonitor for all Homebrew repositories
Stopping the fsmonitor doesn't seem to work, so let's just prevent the
fsmonitor from watching our repositories.
2022-07-28 22:20:07 +08:00
Carlo Cabrera
c42169249e
cmd/update: stop fsmonitor after all Git operations complete
Also, skip the status check, as that doesn't really help us.
2022-07-28 22:02:31 +08:00
Lukas Oberhuber
215e545660 brew style 2022-07-26 19:28:30 +01:00
Lukas Oberhuber
d195f22522 Connecting up --debug-symbols flag
This connects the calling of dsymutil and the retention of temporary
files. Still need to connect compilation to flag.
2022-07-26 12:15:53 +01:00
Alexander Bayandin
4e8cc524c5 Clean up GitHub headers 2022-07-24 11:44:16 +00:00
Rylan Polster
243ff024e3
Remove debug message 2022-07-21 16:45:41 +02:00
Rylan Polster
f3e34230ad
Add --variations option to brew info 2022-07-21 16:41:15 +02:00
Carlo Cabrera
f9e8531924
cmd/update: stop Git's fsmonitor when needed
Git's fsmonitor daemon will prevent our update lock file from being
released if it is running before a `brew update`.

Let's fix that by stopping it whenever necessary so our update lock is
released upon completion.

Fixes #13521.
2022-07-20 18:18:12 +08:00
apainintheneck
cb91f8b665 Add tests for retrieving formula based on dependents
Also, made sure to clear formula cache before
and after autoremoving packages.
2022-07-17 00:39:23 -07:00
apainintheneck
fe83500617 Moved autoremove logic into cleanup.rb and formula.rb
Cleanup.rb:
- Added #autoremove method
- #autoremove is called in clean when HOMEBREW_AUTOREMOVE is set

Formula.rb:
- Added #unused_formulae_with_no_dependents and helpers

Removed old autoremove.rb module.
2022-07-14 13:16:26 -07:00
apainintheneck
fa43418bfb Moved autoremove logic into autoremove.rb
This allows us to call that logic internally in other brew
commands instead of having to shell out.
2022-07-13 16:31:41 -07:00
apainintheneck
74f1eca14c autoremove.rb: moved logic out into formula.rb, and uninstall.rb
This allows us to autoremove formulae in the autoremove and
uninstall commands without having to shell out to brew.
2022-07-13 16:28:49 -07:00
apainintheneck
f8ae5f3bc4 cmd/uninstall: Add env variable that runs autoremove after uninstalls
When HOMEBREW_UNINSTALL_AUTOREMOVE is set, `brew autoremove` is run
after every successful call to `brew uninstall`.
2022-07-13 16:28:49 -07:00
Darren Kavanagh
da4bf679de
Add new line after donate message 2022-07-07 14:46:41 -07:00
Darren Kavanagh
b878d9c1ca
Highlight new revision message 2022-07-07 14:46:41 -07:00
Darren Kavanagh
a25f827b8f
Report new_tag even when old_tag blank 2022-07-07 14:46:41 -07:00
Darren Kavanagh
387515e75a
State version number in messages 2022-07-07 14:46:40 -07:00
Darren Kavanagh
bc8103d356
Highlight release notes when version changes
Highlight release notes when the current version is updated to a newer
version (either major or minor) not just when revision version is zero
(e.g. x.x.0).
2022-07-07 14:46:40 -07:00
Darren Kavanagh
700e2f19f1
Expand output excluded by quiet 2022-07-07 14:46:40 -07:00
Darren Kavanagh
a94f6ec50c
Update latesttag in all cases
Set latesttag before it is bypassed by return statement and old_tag
being blank.
2022-07-07 14:46:40 -07:00
Darren Kavanagh
ae2196fa57
Use x_tag instead of x_repository_version 2022-07-07 14:46:39 -07:00
Bo Anderson
7390022b0e
cmd/update.sh: fix race condition reporting fetch failures 2022-07-01 17:35:34 +01:00
Mike McQuaid
2d5eab2e1c
brew style --fix 2022-06-30 08:56:21 +01:00
Rylan Polster
4310674776
Require an argument to --bottle-tag in fetch and --cache 2022-06-28 11:20:22 -04:00
Mike McQuaid
3ef6db617a
update-report: always write non-blank lattesttag.
This handles this being unset when using `brew update --quiet`.

Fixes #13467
2022-06-24 13:37:32 +02:00
Rylan Polster
b941470216
Merge pull request #13440 from Rylan12/prefer-api-to-taps
Always prefer loading from API when `HOMEBREW_INSTALL_FROM_API` is set
2022-06-21 10:18:02 -04:00
Rylan Polster
5d3501f6b4
Merge pull request #13428 from hyuraku/repair-brew-outdated-greedy
repair `brew outdated --greedy` to show only casks
2022-06-20 13:33:28 -04:00
hyuraku
52279d588d repair description 2022-06-20 23:42:44 +09:00
hyuraku
0de4855bd8 improve description 2022-06-20 21:33:17 +09:00
Bo Anderson
f77722cfd3
cmd/update-report: fix Style/MapCompactWithConditionalBlock 2022-06-17 19:53:30 +01:00
Bo Anderson
02164a35db
Use ORIGINAL_PATHS over envs; reject nil PATH 2022-06-17 19:47:57 +01:00
Bo Anderson
a2033c397e
Use EnvConfig methods over direct ENV access 2022-06-17 19:47:56 +01:00
Bo Anderson
f5dc7a571f
Fix Style/ObjectThen offences 2022-06-17 19:47:55 +01:00
Rylan Polster
b63474398e
Always prefer loading from API when HOMEBREW_INSTALL_FROM_API is set 2022-06-17 13:54:05 -04:00
Rylan Polster
a6e8049f85
Merge pull request #13439 from Rylan12/dev-cmd-with-install-from-api
Allow more developer commands with `HOMEBREW_INSTALL_FROM_API`
2022-06-17 13:15:24 -04:00
Bo Anderson
aaa733448e
Merge pull request #13436 from Bo98/update-report-fix
cmd/update-report: fix error if new formulae/casks are already installed
2022-06-17 02:49:41 +01:00
Rylan Polster
b896f6cb0d
Allow more developer commands with HOMEBREW_INSTALL_FROM_API 2022-06-16 21:31:15 -04:00
Bo Anderson
a6c6c4b915
cmd/update-report: fix error if new formulae/casks are already installed 2022-06-17 00:30:49 +01:00
Rylan Polster
f724dde6bb
Fix style 2022-06-16 15:37:33 -04:00
Rylan Polster
98f8a86af3
Clarify TODO in brew update
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-06-16 15:34:04 -04:00
Rylan Polster
cff0122fc4
Remove unnecessary HOMEBREW_INSTALL_FROM_API checks 2022-06-15 16:35:50 -04:00
Rylan Polster
1e536217b2
Streamline loading casks from API 2022-06-15 16:35:49 -04:00
hyuraku
f0d29d6d49 repair brew outdated --greedy 2022-06-15 21:53:15 +09:00
Rylan Polster
43f7fa4162
Update cached formula json file when needed 2022-06-14 16:11:23 -04:00
Rylan Polster
e53ccbc3cd
Remove unnecessary code 2022-06-14 16:06:05 -04:00
Bo Anderson
1d36c42fb7
Support offline usage under HOMEBREW_INSTALL_FROM_API 2022-06-14 16:06:05 -04:00
Mike McQuaid
78695938ae
cmd/update-report: always output new formulae.
There's near zero performance overhead and this seems good for
discovery.

Fixes #13412
2022-06-13 09:12:32 +01:00