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

Feature request, new check: Perl virtual dependencies #593

Closed
akhuettel opened this issue Jun 24, 2023 · 3 comments · Fixed by #597
Closed

Feature request, new check: Perl virtual dependencies #593

akhuettel opened this issue Jun 24, 2023 · 3 comments · Fixed by #597
Assignees
Labels

Comments

@akhuettel
Copy link

akhuettel commented Jun 24, 2023

Here's a wish for a new check. (@thesamesam @arthurzam)

  • If PN is dev-lang/perl or perl-core/* or virtual/perl-*, skip the check
  • Otherwise, all dependency declarations that specify a Perl virtual (virtual/perl-*) and do not give any type of version dependency trigger a warning.

Example: dev-perl/XXX-0.380.0

BDEPEND="${RDEPEND}
        virtual/perl-ExtUtils-MakeMaker
"

Triggers a warning since the dependency on virtual/perl-ExtUtils-MakeMaker in BDEPEND does not specify any version (i.e., no =, <, >, ~, ...)

If this ever goes into CI, all current warnings will have to be grandfathered in since otherwise things explode.

@thesamesam
Copy link
Member

We can use the implementation of MissingPackageRevision for some inspiration, maybe

@arthurzam
Copy link
Member

  1. Is it relevant only to ebuilds inheriting perl eclass, or all packages?
  2. Thank for the precise logic, but what is the issue that requires this? I need this for the documentation and explanation :)

@akhuettel
Copy link
Author

1. Is it relevant only to ebuilds inheriting perl eclass, or all packages?

All packages

2. Thank for the precise logic, but what is the issue that requires this? I need this for the documentation and explanation :)

The virtuals stand for packages that have releases both as part of dev-lang/perl and standalone. Apart from rare special cases, if you require "any" version of such a virtual, this will always be fulfilled by dev-lang/perl.

For a long time we had the policy that also version-less dependencies on Perl virtuals should be added to packages. I want to change that, since these dependencies are pointless and obscure which virtuals are still needed. Reducing the number of Perl virtuals would be great, and once we have only version dependencies in the tree it's trivial to see which ones are obsolete and which ones not.

arthurzam added a commit to arthurzam/pkgcheck that referenced this issue Jul 2, 2023
Resolves: pkgcore#593
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
@arthurzam arthurzam self-assigned this Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants