26835 Commits

Author SHA1 Message Date
Tim Visher
0d81864597 Use file.dirname in most cleaner tests 2022-04-28 10:40:16 -04:00
Tim Visher
8852208758 feedback 2022-04-28 10:40:16 -04:00
Tim Visher
59649a288c Use more next 2022-04-28 10:40:16 -04:00
Tim Visher
48db5eff25 lint 2022-04-28 10:40:16 -04:00
Tim Visher
fbb3ccbfd6 Keep info/#{f.name}/dir files in cleaner
Still cleans `info/dir` and `info/<arch>/dir` files.

Fixes https://github.com/Homebrew/homebrew-core/issues/100190
2022-04-28 10:40:16 -04:00
Mike McQuaid
803444b9a6
Merge pull request #13212 from danielbayley/rubocop-url-trailing-slash
Fix Rubocop trailing `/` bug
2022-04-28 09:10:10 +01:00
BrewTestBot
0cc880c038
Update RBI files for activesupport. 2022-04-27 18:15:40 +00:00
BrewTestBot
8ea008eb11
brew vendor-gems: commit updates. 2022-04-27 18:10:10 +00:00
dependabot[bot]
29d3365974
build(deps): bump activesupport in /Library/Homebrew
Bumps [activesupport](https://github.com/rails/rails) from 6.1.5 to 6.1.5.1.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.0.2.4/activesupport/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.5...v6.1.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-27 18:04:02 +00:00
danielbayley
7d145f5798 Fix Rubocop trailing / bug 2022-04-27 18:42:11 +01:00
Bo Anderson
e6cb1f18e7
Merge pull request #13151 from Bo98/libcrypt-1-deprecation
linkage_checker: deprecate linkage to libcrypt.so.1
2022-04-27 16:00:22 +01:00
Bo Anderson
1c73e25627
uses_from_macos: allow libxcrypt 2022-04-27 15:08:43 +01:00
Mike McQuaid
e381843215
Merge pull request #13201 from mhmdanas/remove-space-before-colon-in-livecheck-output
Remove space before colon in `livecheck` output
2022-04-27 14:52:30 +01:00
Sean Molenaar
506337e76d
Merge pull request #13196 from SMillerDev/feature/pr-pull/casks_checksum 2022-04-27 12:30:32 +02:00
Bo Anderson
d0a0bbef8d
Merge pull request #13205 from Bo98/macos12.3
os/mac/pkgconfig/12: update for macOS 12.3
2022-04-27 01:24:17 +01:00
Bo Anderson
b3da8dbd24
test/os/mac/pkgconfig_spec: fix libffi detection on 12.3+ SDK 2022-04-27 00:59:15 +01:00
Bo Anderson
7d10bfc6b3
os/mac/pkgconfig/12: update for macOS 12.3 2022-04-27 00:50:13 +01:00
Eric Knibbe
af5ebe5976
Merge pull request #13194 from EricFromCanada/search-adjustments
search: drop Homebrew cask tap names from list
2022-04-26 19:01:31 -04:00
Nanda H Krishna
27466b01da
searchable: flatten array before matching
Fix #13203 which occurs when searching cask descriptions.
2022-04-26 18:18:29 -04:00
mhmdanas
37c46e1acd Remove space before colon in livecheck output 2022-04-27 01:09:16 +03:00
Sam Ford
b7a4360433
#parse_curl_output: increase default max_iterations
The `max_iterations` value in `#parse_curl_output` is only intended
to prevent its `while` loop from potentially turning into an endless
loop. This should only come into play in exceptional circumstances
but the current default value (5) is low enough that we're seeing it
under normal circumstances.

`#parse_curl_output` isn't intended to restrict the number of
redirections (this should be done using the `--max-redirs` option in
`curl) but it's effectively doing this in rare cases due to the low
`max_iterations` default. This is a problem because `curl` can
successfully return a response only to have `#parse_curl_output`
error in relation to `max_iterations`.

Originally the code in `#parse_curl_output` was used in the context
of livecheck, where it's not a huge issue if a check fails. However,
now the `#parse_curl_output` method is used in important parts of
brew like `#curl_download`. We've received a report of a download
failing with the "Too many redirects (max = 5)` error, effectively
preventing the user from installing a formula [from a third-party
tap].

Until we can come up with a more adaptive way of bounding this
`while` loop, I think we should simply raise the default to something
that's less likely to be encountered under normal circumstances
(e.g., 25).
2022-04-26 15:49:02 -04:00
Maxim Belkin
13735bc780
Apply Mike's suggestions from code review
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-04-26 08:35:28 -07:00
Maxim Belkin
27a2dba340
update/update-reset: warn when no origin remote
Current situation with update.sh & update-reset.sh:

Upon creating a new tap and before adding remote 'origin' to it,
running `brew update` produces multiple cryptic error messages.
This change converts these cryptic Git messages into clear warnings
about absent remote 'origin'.

How to test:
1. Create a new tap using `brew tap-new`
2. Run `brew update`
2022-04-26 08:35:27 -07:00
Alexander Bayandin
c726385035
utils/curl: fix headers check for protected urls 2022-04-26 13:27:42 +01:00
Mike McQuaid
5280a38b1b
Merge pull request #13190 from Homebrew/dependabot/bundler/Library/Homebrew/regexp_parser-2.3.1
build(deps): bump regexp_parser from 2.3.0 to 2.3.1 in /Library/Homebrew
2022-04-26 10:33:23 +01:00
Sean Molenaar
9a25a1d5e1
pr-pull: add checksum update clause 2022-04-26 08:57:29 +02:00
Sam Ford
d6202384d7
Curl: Remove guard from certain parsing logic
The `#curl_http_content_headers_and_checksum` method previously
parsed responses from `curl` output even if `status.success?` wasn't
`true`. A recent commit of mine moved the parsing logic behind this
guard but it's now leading to a "...is not reachable" error when a URL
involves a large download that takes longer than 25 seconds to finish
and hits the timeout.

This commit resolves the issue for the time being by moving related
logic back to its previous location, where it isn't guarded by
`status.success?`.
2022-04-26 01:22:20 -04:00
EricFromCanada
a4590f394e
search: drop Homebrew cask tap names from list
Results in searching a list of tokens from official Homebrew cask taps and fully-qualified tokens from other taps, matching the list when searching formulae.
2022-04-25 22:22:03 -04:00
Bo Anderson
ea264344f3
Merge pull request #13191 from SMillerDev/fix/automerge/allow_workflow_selection
pr-automerge: allow users to specify a workflow for pr-publish
2022-04-25 20:19:39 +01:00
Sean Molenaar
05eafa5cac
pr-automerge: allow users to specify a workflow for pr-publish 2022-04-25 20:29:35 +02:00
Sam Ford
6bd2c831cd
Merge pull request #13181 from samford/livecheck/add-max-redirs-curl-arg
`Strategy`: Add `--max-redirs` to `DEFAULT_CURL_ARGS`
2022-04-25 14:25:36 -04:00
Sam Ford
51329d9392
Merge pull request #13179 from samford/curl-download-try_partial-false
`#curl_download`: default `try_partial` to `false`
2022-04-25 14:24:19 -04:00
BrewTestBot
2388551428
Update RBI files for regexp_parser. 2022-04-25 18:10:54 +00:00
BrewTestBot
2ba3b46c08
brew vendor-gems: commit updates. 2022-04-25 18:06:19 +00:00
dependabot[bot]
9a34f13d09
build(deps): bump regexp_parser from 2.3.0 to 2.3.1 in /Library/Homebrew
Bumps [regexp_parser](https://github.com/ammar/regexp_parser) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/ammar/regexp_parser/releases)
- [Changelog](https://github.com/ammar/regexp_parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ammar/regexp_parser/compare/v2.3.0...v2.3.1)

---
updated-dependencies:
- dependency-name: regexp_parser
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 18:03:52 +00:00
Bo Anderson
968366696b
Merge pull request #13183 from apainintheneck/fix-sorbet-type
cli/parser: Re-enable Sorbet Type Checking
2022-04-25 15:09:45 +01:00
apainintheneck
9c4402a049 Resolved Sorbet type bug
Related to sorbet/sorbet#498

Had to change the call to caller_locations to filter out
sorbet runtime checking.
2022-04-25 00:29:05 -07:00
Sam Ford
3f7d9f82fc
#curl_download: default try_partial to false
When its `try_partial` argument is `true`, `#curl_download` makes a
`HEAD` request before downloading the file using `#curl`. Currently
`try_partial` defaults to `true`, so any `#curl_download` call that
doesn't explicitly specify `try_partial: false` will make a `HEAD`
request first. This can potentially involve several requests if the
URL redirects, so it can be a bit of unnecessary overhead when a
partial download isn't needed.

Partial downloads are generally only useful when we're working with
larger files, however there's currently only one place in brew where
`#curl_download` is used and this is the case:
`CurlDownloadStrategy`. The other `#curl_download` calls are fetching
smaller [text] files and don't need to support partial downloads.

This commit changes the default `try_partial` value to `false`,
making partial downloads opt-in rather than opt-out.

We want `try_partial` to continue to default to `true` in
`CurlDownloadStrategy` and there are various ways to accomplish this.
In this commit, I've chosen to update its `#initialize` method to
accept a `try_partial` argument that defaults to `true`, as this
value can also be used in classes that inherit from
`CurlDownloadStrategy` (e.g., `HomebrewCurlDownloadStrategy`). This
instance variable is passed to `#curl_download` in related methods,
effectively maintaining the previous `try_partial: true` value, while
also allowing this value to be overridden when necessary.

Other uses of `#curl_download` in brew are
`Formulary::FromUrlLoader#load_file` and
`Cask::CaskLoader::FromURILoader#load`, which did not provide a
`try_partial` argument but should have been using
`try_partial: false`. With the `try_partial: false` default in this
commit, these calls are now fine without a `try_partial` argument.

The only other use of `#curl_download` in brew is
`SPDX#download_latest_license_data!`. These calls were previously
using `try_partial: false` but we can now omit this argument with
the new `false` default (aligning with the above).
2022-04-22 14:23:08 -04:00
Sam Ford
ef5d8ed8b0
Strategy: Add --max-redirs to DEFAULT_CURL_ARGS
The default redirection maximum for `curl` is 50 but we should use
something more reasonable in livecheck. It's rare but a misconfigured
server with an endless redirection loop will hit the 50 redirection
limit. Unfortunately, we've encountered this in the wild (e.g., the
server for `getmail` and `memtester` endlessly redirects), so it's
not an idle concern. This commit basically adds `--max-redirs 5` to
`Livecheck::Strategy::DEFAULT_CURL_ARGS` to enforce a more reasonable
redirection maximum.

To be clear, the `max_iterations` logic in `#parse_curl_output`
(which was previously found in `Strategy#page_content`) doesn't
restrict the number of redirections that `curl` follows. At the point
the `curl` output is being parsed, the requests have already been
made and `max_iterations` simply restricts the number of responses
`#parse_curl_output` is willing to parse. If we use `--max-redirs`
and properly set `max_iterations` to `max-redirs + 1`, we shouldn't
encounter the "Too many redirects" error in `#parse_curl_output`.
2022-04-22 13:39:02 -04:00
Sam Ford
2722fbe30e
#parse_curl_output: add max_iterations parameter
In cases where there may be more than five responses in `curl`
output to parse, we need to be able to control the `max_iterations`
of the `while` loop in `#parse_curl_output` to properly parse all
the responses.

For example, if we pass `--max-redirs 5` to `curl` and there are
exactly five redirections before the final response, the output would
contain a total of six responses and `#parse_curl_output` wouldn't
properly handle this (it would give a `Too many redirects` error).
`max_iterations` should be the maximum number of redirections + 1
(to account for any final response after the redirections), so we
need to be able to override this value when necessary.
2022-04-22 13:17:45 -04:00
Alexander Bayandin
3f95cdd80f
Merge pull request #13177 from bayandin/allow_underscore_in_cask_names
tap_constants: allow to use underscore in cask names
2022-04-22 14:28:06 +01:00
Mike McQuaid
add2991d4f
Merge pull request #13147 from pmrowla/update-python-resources-env
bump-formula-pr: expose update-python-resources CLI flags
2022-04-22 14:23:15 +01:00
Alexander Bayandin
8dbbb20f08
tap_constants: allow to use underscore in cask names 2022-04-22 12:24:31 +01:00
Bo Anderson
6db3ee6b0a
extend/os/linux/keg_relocate: restore checking only GCC major versions 2022-04-22 01:41:23 +01:00
Bo Anderson
b2a896eec6
Merge pull request #13065 from xxyzz/skip_build_deps
Skip build deps to avoid downloading bottles
2022-04-22 01:33:44 +01:00
Mike McQuaid
c1a9ce62aa
Merge pull request #13163 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-rspec-2.10.0
build(deps): bump rubocop-rspec from 2.9.0 to 2.10.0 in /Library/Homebrew
2022-04-21 15:33:54 +01:00
Peter Rowlands
e794b913c8 bump-formula-pr: expose update-python-resources CLI flags 2022-04-21 16:12:37 +09:00
Sam Ford
1c4faaa5d5
Strategy: Use Curl output parsing methods 2022-04-20 23:49:18 -04:00
Sam Ford
13e3f704c9
Cask::Audit: Account for nil appcast_contents 2022-04-20 23:47:51 -04:00
Sam Ford
9355da5291
DownloadStrategy: Use #curl_response_last_location 2022-04-20 23:47:51 -04:00