32412 Commits

Author SHA1 Message Date
Issy Long
6974faa29b
dev-cmd/contributions: Appease brew style 2022-08-03 16:53:49 +01:00
Issy Long
5fa192c261
dev-cmd/contributions: Use --repos=all not a separate --all flag 2022-08-03 16:53:48 +01:00
Issy Long
be08b773f1
dev-cmd/contributions: Add --all to scan everything, plus auto-tapping 2022-08-03 16:53:47 +01:00
Issy Long
8e5a5672fb
dev-cmd/contributions: Better shell argument handling, plus stop piping to grep 2022-08-03 16:53:46 +01:00
Issy Long
5a34bc86c4
dev-cmd/contributions: RuboCop has opinions on where spaces should go 2022-08-03 16:53:45 +01:00
Issy Long
70c300daf2
dev-cmd/contributions: Use Utils.safe_popen_read not backticks 2022-08-03 16:53:45 +01:00
Issy Long
f6b2fe5093
dev-cmd/contributions: Improve sentence string line wrapping
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-03 16:53:44 +01:00
Issy Long
33d3aef295
dev-cmd/contributions: Only one email is allowed currently
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:43 +01:00
Issy Long
8a67ce76b5
dev-cmd/contributions: Appease brew typecheck 2022-08-03 16:53:42 +01:00
Issy Long
441df3d866
dev-cmd/contributions: Switch --email to be a named arg
- This way we can do the more intuitive:

```
$ brew contributions --repos=brew,core rslpolster@gmail.com
Person rslpolster@gmail.com directly authored 1580 commits and co-authored 125 commits to brew, core in all time.
```
2022-08-03 16:53:41 +01:00
Issy Long
c330ea4e3b
dev-cmd/contributions: Split git_log_cmd into two methods
- Otherwise it's quite involved and a bit hard to read.
2022-08-03 16:53:40 +01:00
Issy Long
fef9a286fe
dev-cmd/contributions: Simplify find_repo_path_for_repo
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:39 +01:00
Issy Long
503b51c54f
dev-cmd/contributions: Better error messages for bad --repos
```
$ brew contributions --email=me@issyl0.co.uk --repos=coreeeee
Error: Unsupported repo: coreeeee. Try one of brew, core, cask, bundle.

$ brew untap homebrew/bundle
$ brew contributions --email=me@issyl0.co.uk --repos=bundle
Error: Couldn't find repo bundle locally. Do you have it tapped?
```
2022-08-03 16:53:38 +01:00
Issy Long
0355c60787
dev-cmd/contributions: Retrieve a user's repo contributions over time
- Before each AGM it's currently a manual process for a PLC member to
  search commit logs and GitHub to figure out who contributed to
  Homebrew, so who should remain a member.
- I noticed that [looking at commits for a
  user](https://github.com/Homebrew/homebrew-core/commits?author=issyl0&since=2022-01-01&until=2023-01-01)
  would not count `Co-Authored-By`, which happens a lot now there's an
  autosquash action on PRs in `Homebrew/homebrew-core`, say if someone
  fixed a formula's build or tests or whatever and then the PR got
  auto-merged.
- Here's `brew contributions` that uses `git log` to be able to go back
  through all time or a specific time period (`--from`, `--to`). It's up
  to individual PLC discretion for "activity", but it does at least go
  some way to automating the data retrieval.
- Example (I can use my username as `--email` because my username is in
  all of the email addresses that I use for committing to Homebrew):

```
$ brew contributions --email=issyl0 --repos=brew,core
Person issyl0 directly authored 732 commits and co-authored 31 commits to brew, core in all time.
```
2022-08-03 16:53:37 +01:00
fn ⌃ ⌥
b5a6f90cd8 Add tests 2022-08-03 06:33:30 -07:00
fn ⌃ ⌥
d5f949e60b Check dependency order in on_system methods 2022-08-03 06:33:30 -07:00
Carlo Cabrera
fec5b4080a
linux/diagnostic: add check for versioned GCC linkage
This complements my other two GCC-on-Linux PRs (#13631, #13633), however
they are both reliant on bottles eventually being (re-)poured.

Let's try to speed that up by returning an error message from `brew doctor`
whenever a user has formulae installed that would benefit from a `brew reinstall`.
2022-08-03 20:54:16 +08:00
Carlo Cabrera
e1f8fa2c9b
Improve settings name
This leads to a slightly more readable entry in `.git/config`.
2022-08-03 20:15:45 +08:00
Michka Popoff
756c2b2c52
github/pr-pull: fix/improve parameters
Fixes #13634
2022-08-03 14:13:50 +02:00
Mike McQuaid
cb4ac65f26
Merge pull request #13637 from Homebrew/official-cask-taps-versions
official_taps: Refer to `Homebrew/homebrew-cask-versions` properly
2022-08-03 12:51:41 +01:00
Issy Long
0232610381
official_taps: Refer toHomebrew/homebrew-cask-versions properly
- This is needed for https://github.com/Homebrew/brew/pull/13603 because `Homebrew/homebrew-versions` is deprecated (legitimately), but `OFFICIAL_CASK_TAPS` spits out `versions` as a repo, which could then be interpreted as `Homebrew/versions` rather than `Homebrew/cask-versions` which it actually is.
2022-08-03 11:19:23 +01:00
Carlo Cabrera
f0d2de1869
Skip GCC version check
This is not necessary.

In addition,
1. Avoid an error when `formula.tap` is `nil`.
2. Use the more suggestive `gcc.dep.rpaths.migrated` as the setting
   name.
2022-08-03 15:29:53 +08:00
Rylan Polster
7326019c93
Add clarification comment 2022-08-03 01:32:37 -04:00
Kevin
ba7e146eef
Merge pull request #13546 from apainintheneck/remove-staged-from-cask
cask/installer.rb: stop including Staged module
2022-08-02 18:29:20 -07:00
apainintheneck
d04051a9b9 Add integration tests for autoremove cmd 2022-08-02 18:20:38 -07:00
Lukas Oberhuber
89c1d6812d Test sources are dropped in HOMEBREW_CACHE/Sources 2022-08-02 09:06:28 -07:00
Lukas Oberhuber
60831da3b8 DRY up formula prefix 2022-08-02 09:06:28 -07:00
Lukas Oberhuber
88a69b3de2 Restore previous style 2022-08-02 09:06:28 -07:00
Lukas Oberhuber
d35f2e76a7 Move Metrics/Blocklength disable to rubocop.yml 2022-08-02 09:06:28 -07:00
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
07e299760a
mktemp: use "present?" instead of '!nil?"
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-02 08:33:40 -07:00
Carlo Cabrera
8a153de2bc
Merge pull request #13632 from carlocab/proc
pr-pull: fix typo
2022-08-02 23:26:34 +08:00
Carlo Cabrera
b2cf1822fa
Fix brew style 2022-08-02 22:53:29 +08:00
Carlo Cabrera
8a169364a8
pr-pull: fix typo
Error: tried to create Proc object without a block
    Do not report this issue until you've run `brew update` and tried again.
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:372:in `proc'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:372:in `pr_check_conflicts'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:439:in `block in pr_pull'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:429:in `each'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:429:in `pr_pull'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:93:in `<main>'
    Error: Process completed with exit code 1.

https://github.com/Homebrew/homebrew-core/runs/7634004090?check_suite_focus=true#step:10:15
2022-08-02 22:46:30 +08:00
Michka Popoff
3b38695efa
Merge pull request #13512 from iMichka/conflicts
pr-pull: check for conflicts with long running builds
2022-08-02 14:42:08 +02:00
Carlo Cabrera
716136bfc5
Merge pull request #13631 from carlocab/gcc-rpaths
keg_relocate (linux): prepend `gcc/lib/current` to `RPATH` when needed
2022-08-02 19:40:40 +08:00
Carlo Cabrera
1c0eac7874
Exclude GCC formulae from RPATH modification for GCC 2022-08-02 19:09:38 +08:00
Carlo Cabrera
532460c098
keg_relocate: fix new GCC lib directory
Also add comment explaining what this line does, along with a TODO
suggesting a replacement once we've shipped the GCC PR.
2022-08-02 13:29:14 +08:00
Carlo Cabrera
53fdb64113
keg_relocate (linux): prepend gcc/lib/current to RPATH when needed
This should help keep bottles that require GCC working when
Homebrew/homebrew-core#106755 is merged.

This only works on freshly-poured bottles. Previously installed bottles
will still break on systems with a host GCC older than GCC 11.
2022-08-02 11:02:47 +08:00
Lukas Oberhuber
676e3d4923 Change name of option on mktemp
From retain_in_sources to retain_in_cache
2022-08-01 18:30:14 -07:00
Lukas Oberhuber
fdf17f06b1 Test for dSYM directory on Mac 2022-08-01 16:30:00 -07:00
Lukas Oberhuber
5b1724ef33 Fix rubocop warning by ignoring for install_args 2022-08-01 15:27:17 -07:00
Lukas Oberhuber
bee3531090 Improve style 2022-08-01 15:25:34 -07:00
Michka Popoff
374c3985d6
pr-pull: check for conflicts with long running builds
This change will prevent us having to run some long running builds
multiple times and to rely on luck to get things merged without conflicts.

The check takes less than 30 secondes on my local setup.
2022-08-01 23:34:06 +02:00
Mike McQuaid
4baff3eec1
Merge pull request #13624 from iMichka/core
docs: delete Homebrew-linuxbrew-core-Maintainer-Guide.md
2022-08-01 14:03:27 +01:00
Carlo Cabrera
ce8ef89ec0
Merge pull request #13617 from carlocab/bzr-breezy
download_strategy: replace `bazaar` with `breezy`
3.5.7
2022-08-01 20:03:08 +08:00
Rylan Polster
58be76bc9d
Fix on_{system} handling of generic macOS versions 2022-07-31 20:44:51 -04:00
Michka Popoff
e28a102812
docs: delete Homebrew-linuxbrew-core-Maintainer-Guide.md
In e1120549e58dfeb088bcda85897c30e87128229b this file was emptied,
but should have been deleted instead.
Nothing references this file anymore
2022-07-31 23:01:57 +02:00
Lukas Oberhuber
41a5265466 Improve messaging of debug source location 2022-07-31 21:06:33 +01:00
Lukas Oberhuber
93132c6876 Always put source files in the same directory
There's no point in saving old ones because the debug symbols will only
for the newest bulid anyway.

Currently blows away what was there before, which isn't ideal for a dev
workflow. Maybe that should be changed, given a tar file should be a tar
file, so shouldn't change. But there are many different types of files.
2022-07-31 20:54:14 +01:00