Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brew livecheck shows a deprecated formula #16366

Closed
3 tasks done
Porkepix opened this issue Dec 20, 2023 · 11 comments
Closed
3 tasks done

Brew livecheck shows a deprecated formula #16366

Porkepix opened this issue Dec 20, 2023 · 11 comments
Labels
bug Reproducible Homebrew/brew bug outdated PR was locked due to age

Comments

@Porkepix
Copy link

Porkepix commented Dec 20, 2023

brew doctor output

$ brew doctor
Your system is ready to brew.

Verification

  • My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
  • I ran brew update twice and am still able to reproduce my issue.
  • This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output

$ brew config
HOMEBREW_VERSION: 4.2.0-19-g23ce2d5
ORIGIN: https://github.com/Homebrew/brew
HEAD: 23ce2d5bf81e71d8bf9fdf9198d8d23724f0966b
Last commit: 6 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 2659dc1585f282f0e7ebaa3b8c42ffade59e5f5c
Core tap last commit: 28 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: :0
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 4
HOMEBREW_NO_INSTALL_FROM_API: set
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.1.4 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: quad-core 64-bit skylake
Clang: N/A
Git: 2.43.0 => /bin/git
Curl: 8.5.0 => /bin/curl
Kernel: Linux 6.5.6-arch2-1 x86_64 GNU/Linux
OS: Arch Linux
Host glibc: 2.38
/usr/bin/gcc: 13.2.1
/usr/bin/ruby: 3.0.6
glibc: N/A
gcc@11: N/A
gcc: N/A
xorg: N/A

What were you trying to do (and why)?

Checking formulas to bump with brew livecheck.

What happened (include all command output)?

One deprecated formula is listed.

What did you expect to happen?

It shouldn't list it considering Homebrew disallow the bump on it.

Step-by-step reproduction instructions (by running brew commands)

List formulas to bump with `brew livecheck -q --eval-all --newer-only`.
See that `cling` is part of it.
Try to bump it (`$ brew bump --open-pr cling`)
See that it disallows the bump due to deprecation.

Double end of issue note:

  • I feel like it's strange to both ask brew doctor output, and have a check mark stating "My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue."
  • I checked the last check mark despite mentioning a formula as this kind of issue would appear on any formula meeting the same criterias. The statement seems therefore pretty restrictive, I'd say?
@Porkepix Porkepix added the bug Reproducible Homebrew/brew bug label Dec 20, 2023
@MikeMcQuaid
Copy link
Member

CC @homebrew/core @samford for thoughts. I don't know how much this is intentional or not and, if not, what the fix would be (e.g. livecheck should skip these, we should remove livecheck blocks when we deprecated, etc. etc.)


  • I feel like it's strange to both ask brew doctor output, and have a check mark stating "My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue."

That's because we want to people with failing brew doctor output to not create issues.

  • I checked the last check mark despite mentioning a formula as this kind of issue would appear on any formula meeting the same criterias. The statement seems therefore pretty restrictive, I'd say?

The reasoning for it is: if it affects only a single formula: it should be on that formula's tap instead.

@SMillerDev
Copy link
Member

We have been removing the blocks for versioned formulae, but I'm not sure "It shouldn't list it considering Homebrew disallow the bump on it" is actually true. I think it heavily depends on the formula.

In my view, software in security-only mode is deprecated since upstream doesn't support it any more than it absolutely needs to. But if a security update is released livecheck should pick it up for sure. However, if it is : does_not_build I don't see much value in keeping the livecheck.

@Porkepix
Copy link
Author

In my view, software in security-only mode is deprecated since upstream doesn't support it any more than it absolutely needs to. But if a security update is released livecheck should pick it up for sure. However, if it is : does_not_build I don't see much value in keeping the livecheck.

If the :does_not_build statement wasn't here, would brew bump be allowed to bump the formula?

@EricFromCanada
Copy link
Member

EricFromCanada commented Dec 20, 2023

It can be helpful to see that a newer version is available even when the current version doesn't build. In this case, it looks like they've tagged a new 1.0 release whose fixes may match what was requested earlier. That's why I had bump only show "(deprecated)" in such cases.

@Porkepix
Copy link
Author

It can be helpful to see that a newer version is available even when the current version doesn't build. In this case, it looks like they've tagged a new 1.0 release whose fixes may match what was requested earlier. That's why I had bump only show "(deprecated)" in such cases.

But then, there's no difference shown in the brew livecheck command: it's shown like and listed like any other formulas when using this: brew livecheck -q --eval-all --newer-only

@SMillerDev
Copy link
Member

Yes, I think both me and Eric are saying that there should not be any difference.

@Porkepix
Copy link
Author

Then I must understands things th wrong way: I read that this PR was to show a "deprecated" caveat besides related formulas with brew bump?

@samford
Copy link
Member

samford commented Dec 20, 2023

Yes, this is intentional behavior in livecheck. For a bit of context, livecheck will only skip a formula as deprecated if it doesn't have a livecheck block and this is by design. There are times when we deprecate a formula but it could potentially be undeprecated in the future if a newer version fixes problems, so there's still some value to checking for new versions (as Eric mentioned). This is the reason why I typically leave livecheck blocks when the reason is :does_not_build (and sometimes also unmaintained, as that may or may not change in the future).

That said, surfacing the deprecated/disabled status in livecheck's debug and verbose JSON output (specifically in the meta information) may make sense. We could also add a (deprecated) (or (disabled)) parenthetical to the normal output (like (guessed)) if that's helpful.

@Porkepix
Copy link
Author

Well actually I'm just realizing that many @ formulas such as postgresql are considered as deprecated by design (although it's not at all deprecated upstream), because it's versioned. And those are listed by livecheck.

What questions me more is maybe the fact it's both appearing in brew livecheck AND blocking any brew bump attempt on it.

@Bo98
Copy link
Member

Bo98 commented Dec 21, 2023

Only postgresql 11 should be showing up as deprecated.

@MikeMcQuaid
Copy link
Member

Happy to continue discussing here but closing as it seems to be by design.

@MikeMcQuaid MikeMcQuaid closed this as not planned Won't fix, can't repro, duplicate, stale Dec 21, 2023
@github-actions github-actions bot added the outdated PR was locked due to age label Jan 21, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Reproducible Homebrew/brew bug outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

6 participants