Bug 2081264
Summary: | foo/* glob in %files sometimes packages the directory and sometimes does not | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Petr Pisar <ppisar> |
Component: | perl-Test-Fake-HTTPD | Assignee: | Petr Pisar <ppisar> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | denis, igor.raits, mdomonko, mjw, packaging-team-maint, perl-devel, pmatilai, pmoravco, vmukhame |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | perl-Test-Fake-HTTPD-0.09-6.fc37 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2022-05-03 10:32:04 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Petr Pisar
2022-05-03 08:31:08 UTC
Compare to perl-HTTP-Message-6.36-2.fc37 has a very similar %files section: %files %license LICENSE %doc Changes CONTRIBUTING.md README.md %{perl_vendorlib}/* %{_mandir}/man3/* but the /usr/share/perl5/vendor_perl directory is not packaged: $ rpm -qlp noarch/perl-HTTP-Message-6.36-2.fc37.noarch.rpm | sort /usr/share/doc/perl-HTTP-Message /usr/share/doc/perl-HTTP-Message/Changes /usr/share/doc/perl-HTTP-Message/CONTRIBUTING.md /usr/share/doc/perl-HTTP-Message/README.md /usr/share/licenses/perl-HTTP-Message /usr/share/licenses/perl-HTTP-Message/LICENSE /usr/share/man/man3/HTTP::Config.3pm.gz /usr/share/man/man3/HTTP::Headers.3pm.gz /usr/share/man/man3/HTTP::Headers::Auth.3pm.gz /usr/share/man/man3/HTTP::Headers::ETag.3pm.gz /usr/share/man/man3/HTTP::Headers::Util.3pm.gz /usr/share/man/man3/HTTP::Message.3pm.gz /usr/share/man/man3/HTTP::Request.3pm.gz /usr/share/man/man3/HTTP::Request::Common.3pm.gz /usr/share/man/man3/HTTP::Response.3pm.gz /usr/share/man/man3/HTTP::Status.3pm.gz /usr/share/perl5/vendor_perl/HTTP /usr/share/perl5/vendor_perl/HTTP/Config.pm /usr/share/perl5/vendor_perl/HTTP/Headers /usr/share/perl5/vendor_perl/HTTP/Headers/Auth.pm /usr/share/perl5/vendor_perl/HTTP/Headers/ETag.pm /usr/share/perl5/vendor_perl/HTTP/Headers.pm /usr/share/perl5/vendor_perl/HTTP/Headers/Util.pm /usr/share/perl5/vendor_perl/HTTP/Message.pm /usr/share/perl5/vendor_perl/HTTP/Request /usr/share/perl5/vendor_perl/HTTP/Request/Common.pm /usr/share/perl5/vendor_perl/HTTP/Request.pm /usr/share/perl5/vendor_perl/HTTP/Response.pm /usr/share/perl5/vendor_perl/HTTP/Status.pm I found that many Perl packages now package that directory and they should not. At least that is not in intention of current Perl packaging guidelines <https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/#_directory_ownership>. This is how I discovered this issue. Indeed /path/* should not package /path itself, so something's amiss here. Good spotting, thanks for the report. Yeah, %files globbing is janky at the moment, we have a PR pending that should help with that, although it remains to be seen if this is related. Assigning to self as I'm currently looking into that piece of code anyway. > %{perl_privlib} expands to "/usr/share/perl5/vendor_perl".
Except that it doesn't, at least here on F35:
[pmatilai🎩︎localhost]$ rpm --eval "%{perl_privlib}"
/usr/share/perl5
[pmatilai🎩︎localhost]$ rpm --eval "%{perl_vendorlib}"
/usr/share/perl5/vendor_perl
And that's why %{perl_privlib}/* ends up packaging /usr/share/perl5/vendor_perl. I don't know the alleged difference between %{perl_privlib} and %{perl_vendorlib} but this is not an rpm bug, this is a packaging issue.
Reassigning to perl-Test-Fake-HTTPD but if more packages are using %{perl_privlib} when they should be using %{perl_vendorlib} then then maybe there's a more generic issue, maybe one with packaging guidelines?
Oh my god. I should less trust my eyes. Thanks. |