29684 Commits

Author SHA1 Message Date
BrewTestBot
c35b049b3c
brew vendor-gems: commit updates. 2023-09-06 18:23:32 +00:00
dependabot[bot]
001a9bb898
build(deps): bump minitest from 5.19.0 to 5.20.0 in /Library/Homebrew
Bumps [minitest](https://github.com/minitest/minitest) from 5.19.0 to 5.20.0.
- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)
- [Commits](https://github.com/minitest/minitest/compare/v5.19.0...v5.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 18:20:28 +00:00
Mike McQuaid
d5d74788b2
Merge pull request #15968 from MikeMcQuaid/cask_upgrade_sudo_test_fix
cask/quarantine: don't try to sudo during tests.
2023-09-06 10:17:37 -04:00
Mike McQuaid
4dc550fb2f
Merge pull request #15970 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2023-09-06 10:10:45 -04:00
Mike McQuaid
58df7885e6
cask/quarantine: sudo correctly during tests.
Use `NeverSudoSystemCommand` and pass it through to
`Quarantine.copy_xattrs` so `brew tests` doesn't try to `sudo`.

Fixes #15958

Co-authored-by: Bo Anderson <mail@boanderson.me>
Co-authored-by: Kevin <apainintheneck@gmail.com>
2023-09-06 10:03:45 -04:00
Mike McQuaid
9ce19fc002
cask/url: full scope curl_output call. 2023-09-06 09:55:17 -04:00
Mike McQuaid
31b94e21ee
resource_auditor: also check versions based on bottle root_url. 2023-09-06 09:51:16 -04:00
Steve Peters
0ae29cc7fa
resource_auditor: relax version audit in taps
Disable the version regex audit for 3rd-party taps,
at least for now to allow time to comply.
2023-09-05 22:51:58 -07:00
BrewTestBot
bf27d9c44a
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2023-09-06 00:24:17 +00:00
Elan Ruusamäe
132b763242
Fix python: detected_python_shebang python pattern
"python@" is not a valid dependency, must include something after the "@"
2023-09-06 01:38:58 +03:00
Mike McQuaid
8c1c0c5a22
utils/github: fully scope curl usage.
Fixes #15965
2023-09-05 17:07:59 -04:00
Mike McQuaid
9677a9a8ef
Merge pull request #15936 from MikeMcQuaid/audit_invalid_versions
Audit invalid versions
2023-09-05 16:58:15 -04:00
Mike McQuaid
e4397255e2
Merge pull request #15956 from apainintheneck/handle-nil-urls-in-fetch-and-audit-cmds
cmd/fetch & cmd/audit: handle unsupported cask os/arch combos
2023-09-05 16:53:43 -04:00
Mike McQuaid
de4207f6d0
Audit invalid versions
We have a bunch of versions we've been meaning to adjust to not use
invalid GitHub Packages characters for a while. Let's audit for them
and plan for deprecating their use in future.
2023-09-05 16:43:36 -04:00
Ruoyu Zhong
05ffff09ed
cask/audit: fix Utils::Curl usage
Needed after #15940.
2023-09-06 00:12:57 +08:00
Ruoyu Zhong
41a810b2e0
resource_auditor: fix Utils::Curl usage
Needed after #15940.
2023-09-06 00:05:19 +08:00
Mike McQuaid
ce21e47d1f
Merge pull request #15963 from MikeMcQuaid/formula_installer_bottle_fetch
formula_installer: don't ignore deps when fetching and pouring bottles.
2023-09-05 08:41:38 -04:00
Mike McQuaid
1a91157590
Fix more missing Utils::Curl references.
e.g. https://github.com/Homebrew/brew/pull/15940#issuecomment-1706486816
2023-09-05 08:27:02 -04:00
Mike McQuaid
8b6e1f33da
formula_installer: don't ignore deps when fetching and pouring bottles.
Otherwise, we can try to pour bottles that haven't been downloaded yet.

Possible fix for #15957.
2023-09-05 08:24:50 -04:00
Mike McQuaid
e02ec5e07a
Merge pull request #15961 from MikeMcQuaid/fix_missing_curl
utils/github/artifacts: fix missing Utils::Curl reference.
2023-09-05 08:07:09 -04:00
Mike McQuaid
84973da037
utils/github/artifacts: fix missing Utils::Curl reference.
Needed after https://github.com/Homebrew/brew/pull/15940
2023-09-05 07:52:39 -04:00
Mike McQuaid
4db9aa013e
Merge pull request #15940 from MikeMcQuaid/utils_curl_explicit
utils/curl: include or use explicitly.
2023-09-05 07:37:06 -04:00
Mike McQuaid
72ded32393
upgrade: more liberal formula upgrade changes.
Download the bottle manifests for the potential formulae we are going to
upgrade and, if they are have all their `runtime_dependencies` versions
currently met, don't try to download the bottle or upgrade the formula.
2023-09-04 22:18:55 -04:00
Mike McQuaid
b7114651ac
utils/curl: include or use explicitly.
Include or use `Utils::Curl` explicitly everywhere it is used.
2023-09-04 22:17:57 -04:00
apainintheneck
f4b15e95ac cmd/fetch & cmd/audit: handle unsupported os/arch combos
It's possible for casks to only run on certain os/arch
combinations but we don't check for them in the fetch and
audit commands.

At first, I tried to check if the macos version was satisfied
in a previous PR but that doesn't work correctly because
MacOSRequirement and ArchRequirement don't respect SimulateSystem.

Instead I'm just checking to see if the url stanza is defined
for each os/arch combination and skipping those casks where
it ends up being nil. This is kind of brute forcing it but
should work.
2023-09-04 15:00:31 -07:00
Mike McQuaid
51889e7a08
Merge pull request #15946 from samford/livecheck/preprocess_url-compare-with-uri-host
Livecheck#preprocess_url: compare with URI host
2023-09-04 17:23:22 -04:00
Alexander Bayandin
27902f0284
Merge pull request #15948 from bayandin/shard-audit
audit_file: check formula path
2023-09-04 19:39:55 +01:00
Bo Anderson
7f877f1386
Merge pull request #15950 from Bo98/symlink-fix
vendor/gems: remove bad symlink
2023-09-04 19:27:24 +01:00
Bo Anderson
557245015c
vendor/gems: remove bad symlink 2023-09-04 19:04:45 +01:00
Mike McQuaid
3aba32a68b
formula_installer: handle another exception in fetch_bottle_tab.
Fix another way that fetching a bottle tab can fail. This pretty much
only happens in CI.

Addresses https://github.com/Homebrew/homebrew-core/pull/141362#issuecomment-1705327027
2023-09-04 12:33:21 -04:00
Alexander Bayandin
b7cb8356c1
audit_file: fix condition
Co-authored-by: Bo Anderson <mail@boanderson.me>
2023-09-04 14:35:59 +01:00
Alexander Bayandin
de8eb35b73 audit_file: check formula path 2023-09-04 14:26:59 +01:00
Gibson Fahnestock
b4feaf27d9
cask/url: accept Class for using in Cask::URL#initialize
https://github.com/Homebrew/brew/pull/15754 fixed
`Cask::URL::DSL#initialize`, but we also need to fix
`Cask::URL#initialize` as that takes the same parameters.

Error:

```
Error: Cask 'mycask' definition is invalid: 'url' stanza failed
  with: Parameter 'using': Expected type T.nilable(Symbol), got type Class
  with value MyCustomDownloadStrategy
Caller:
  /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-runtime-0.5.10461/lib/types/private/methods/call_validation.rb:113
```

Refs: https://github.com/Homebrew/brew/issues/15750
2023-09-04 08:46:22 +01:00
Sam Ford
88109b16c3
Livecheck#preprocess_url: compare with URI host
We now have a `gitea` formula in homebrew/core and its `stable` URL
uses a dl.gitea.com tarball. Since the URL's domain is gitea.com,
livecheck tries to preprocess the URL into a `.git` URL but the
resulting URL doesn't work because it's not a Git repository.

Gitea repositories use gitea.com (with no subdomain), so
`#preprocess_url` should be comparing the URI host (`dl.gitea.com`)
instead of the domain (`gitea.com`). This change allows gitea.com
repository URLs to continue to be preprocessed into a `.git` URL
while dl.gitea.com URLs are left untouched.

This makes the same change for the other domains, as they don't use
a subdomain either.
2023-09-04 00:49:23 -04:00
Mike McQuaid
8a2a16d521
WIP 2023-09-03 15:07:48 -04:00
Mike McQuaid
9fcdaa2b85
Make formula upgrades more liberal based on bottle
When we're installing a formula from a bottle, we currently always
upgrade all dependencies in the dependency tree to be safe.

However, if we're installing a bottle and the `runtime_dependencies`
within that bottle's tab all have older or equal versions to those
already installed: we do not need to upgrade these dependencies.

This should help a lot of upgrading a lot of the time, at least for
users using bottles (which is the huge majority).

The only downside or other noticeable change is that this requires us
to download or attempt to download the bottle tab before we compute
the dependencies at installation time.

Co-authored-by: Kevin <apainintheneck@gmail.com>
2023-09-03 15:07:48 -04:00
Mike McQuaid
fc72dfc6ca
Merge pull request #15935 from MikeMcQuaid/api_curl_args
api: use `Utils::Curl.curl_args`
2023-09-03 09:31:49 -04:00
Mike McQuaid
4ad5321d03
Merge pull request #15937 from MikeMcQuaid/cleanup_todo
Cleanup various TODOs
2023-09-03 09:29:03 -04:00
Mike McQuaid
db1267bdff
Merge pull request #15943 from apainintheneck/handle-nil-urls-in-cask-installer
Handle nil cask urls caused by unsupported macOS version
2023-09-03 09:23:08 -04:00
Mike McQuaid
a1269fcbfc
Merge pull request #15941 from MikeMcQuaid/audit_gcc_dependency_not_strict
formula_auditor: make Linux-only GCC dep audit non-strict.
2023-09-03 09:13:58 -04:00
Mike McQuaid
f73607553c
Cleanup various TODOs
These were also easily fixed, already fixed or incorrect and
non-controversial.

Co-authored-by: Issy Long <issyl0@github.com>
2023-09-03 09:12:41 -04:00
Mike McQuaid
8ba389817f
api: retry manually without curl_args defaults.
Co-authored-by: Kevin <apainintheneck@gmail.com>
2023-09-03 09:10:25 -04:00
Mike McQuaid
dbc4406e02
Merge pull request #15938 from MikeMcQuaid/sonoma_rosetta_2_bottles
os/mac/hardware: remove TODO.
2023-09-03 09:09:56 -04:00
Mike McQuaid
daa175e760
cask/installer: remove outdated comment. 2023-09-03 09:09:14 -04:00
apainintheneck
8c2f101138 cmd/fetch: handle nil cask urls
These urls can be nil if there is an unsatisfied macos version
requirement. We check for false here because either the macos
requirement can be satisfied and return true or can not be
specified and return nil. If it's not specified, it means it
can run on any macos version.

The change in Cask::Download should provide better error messages
in Downloadable but honestly we're better off just checking for
the missing url higher up the call stack which is why I made
the changes in the fetch command. Either way it seemed like
a good idea while I'm here.
2023-09-02 20:56:55 -07:00
apainintheneck
51387287f7 Handle nil urls in cask installer and API cask loader
The goal here is to handle the case where a cask might have a nil
url stanza because that cask is not available on the current version
of macOS or the given architecture. This just moves those checks
from the end of the `Cask::Installer#fetch` method to the beginning
so that we don't try and download casks that are missing urls.

This will now provide a helpful error message like so:
```
Error: This software does not run on macOS versions older than Big Sur.
```

Beyond that it no longer tries to run the url stanza with a nil value
when loading casks from the API.
2023-09-02 20:56:36 -07:00
Mike McQuaid
b594e87a7f
formula_auditor: make Linux-only GCC dep audit non-strict.
Otherwise we have to run this separately in `brew test-bot` which is
slower and more confusing.
2023-09-02 21:39:16 -04:00
Mike McQuaid
f30788018c
os/mac/hardware: remove TODO.
As discussed in #15938, this TODO can pretty much never be done so
doesn't make sense to leave as-is.
2023-09-02 21:36:27 -04:00
Mike McQuaid
d5a1f3e02c
api: use Utils::Curl.curl_args
This sets user-agent nicely and avoids some duplication.
2023-09-02 21:31:01 -04:00
Mike McQuaid
e7d0625776
Merge pull request #15939 from MikeMcQuaid/sorbet_dev_cmd 2023-09-02 18:29:22 -04:00