Bug 2063919 - Packages Perl tests should not generate Provides
Summary: Packages Perl tests should not generate Provides
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-generators
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jitka Plesnikova
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-03-14 15:59 UTC by Petr Pisar
Modified: 2023-05-04 13:23 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Petr Pisar 2022-03-14 15:59:12 UTC
I noticed that packaged tests in /usr/libexec/... generates Provides because they are matched by perllib.attr:

$ cat /usr/lib/rpm/fileattrs/perllib.attr 
%__perllib_provides     %{_rpmconfigdir}/perl.prov
%__perllib_requires     %{_rpmconfigdir}/perl.req
%__perllib_magic        ^Perl[[:digit:]] module source.*
%__perllib_path         \\.pm$
%__perllib_flags        magic_and_path

I think they were meant to be only covered with perltest.attr:

# cat /usr/lib/rpm/fileattrs/perltest.attr
%__perltest_requires    %{_rpmconfigdir}/perl.req
%__perltest_magic       ^.*[Pp]erl[[:digit:]]* .*$
%__perltest_path        /usr/libexec/.*\\.(pl|pm|t)$
%__perltest_flags       magic_and_path

But perltest.attr is more similar to perl.attr, it's about scripts:

$ cat /usr/lib/rpm/fileattrs/perl.attr 
%__perl_requires        %{_rpmconfigdir}/perl.req
%__perl_magic           ^.*[Pp]erl .*$
%__perl_flags           exeonly

Would it be possible to change perllib.attr to match only files under /usr/{share,lib,lib64}/perl?

Observed with perl-generators-1.13-5.fc36.noarch.

(I find out that filtering those Provides with %__exclude_provides is a problem when the tests involve symlinks to modules in the main package. See perl-Module-Install-TestBase-tests-0.86-24.fc36 which erroneously provides perl(Module::Install::TestBase) <https://koji.fedoraproject.org/koji/buildinfo?buildID=1892296>. I will try to work it around on packaged file level in perl-Module-Install-TestBase.)

Comment 1 Ben Cotton 2022-08-09 13:13:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle.
Changing version to 37.

Comment 2 Jitka Plesnikova 2023-05-04 13:23:08 UTC
> Would it be possible to change perllib.attr to match only files under
> /usr/{share,lib,lib64}/perl?
I'll try if using exclude_path in perllib.attr can help. The definition could be:
%__perllib_exclude_path /usr/libexec/.*\\.(pl|pm|t)$$


Note You need to log in before you can comment on or make changes to this bug.