Bug 73970
Summary: | perl rpm should create and own Bundle, auto and vendor_perl directories | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Gary Benson <gbenson> | ||||||
Component: | perl | Assignee: | Chip Turner <cturner> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | David Lawrence <dkl> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | rawhide | CC: | jose.p.oliveira.oss, nphilipp, rh-bugzilla, scop, wtogami | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i386 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2005-04-26 20:05:57 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | 89740 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Gary Benson
2002-09-13 16:17:33 UTC
This will not work because the erase-order can not be defined in current rpm. E.g. when you have 'perl' and 'perl-foo', 'perl' can be removed before 'perl-foo' although 'perl' is a requirement of 'perl-foo'. Further comments can be found in bug #89740 and a demonstration at http://www.tu-chemnitz.de/~ensc/A.spec. Because 'auto' directories are at a few, specific positions, these should be owned by perl. I do not know, when/if rpm will be fixed but I can live with some orphaned ../perl5/.../auto directories. But there are too much Bundle (or other perl-classes) packages that perl could own them all, and the subdir-ownership/dependence (perl-X owns .../perl5/X, perl-X-Y owns .../perl5/X/Y and requires perl-X) does not work because of rpm brokeness. Created attachment 93227 [details]
Own "auto" dirs
The patch could look something like this (against perl-5.8.1-90.rc2.1,
untested). Dunno whether %{multilib_64_archs} need something in addition.
Apparently still the case with FC test3 -- this is currently worked around in several packages, but not everything "get's caught": nils@wombat:~> rpm -qf $(find /usr/lib/perl5/{5.8.1,{vendor,site}_perl} -name Bundle -o -name auto|grep -v 5.6) perl-5.8.1-92 perl-5.8.1-92 file /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/auto is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Bundle is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.0/Bundle is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.0/auto is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi-stdio/auto is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/Bundle is not owned by any package perl-NKF-2.03-1 gaim-0.71-0 file /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto is not owned by any package file /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto is not owned by any package Yes, there has not been changed very much: nearly all perl-packages are producing orphaned directories (inclusive '.../auto'): http://www.tu-chemnitz.de/~ensc/rpmDirectoryCheck/results/severn3.html.gz This issue still exists in FC1. (I tried to change the version to "1" and summary to "perl rpm should create and own Bundle, auto and vendor_perl directories" but wasn't permitted to do that.) If all goes well, I should be able to change version and summary. Created attachment 96388 [details]
Own site/vendor auto dirs (UTF-8, gzipped for i18n reasons)
This issue still exists in 5.8.2-2 in rawhide. I believe the attached specfile
patch fixes it correctly, please apply.
Oh, and IMO "Bundle" directories should not be owned by the perl package, but
the relevant Bundle-* packages instead.
Is this still an issue? Looks like there's still some gaps: $ rpm -qf $(find /usr/lib/perl5/{5.8.1,{vendor,site}_perl} -name Bundle -o -name auto) | grep "not owned" file /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/Bundle is not owned by any package file /usr/lib/perl5/vendor_perl/5.8.5/Bundle is not owned by any package As said in comment 8, I don't think the perl package should own the "Bundle" directories unless it installs something into them itself. They should be owned by the package(s) that create them, just like all other module packages out there own the dirs of their CPAN namespace. Based on quick inspection on my FC3 and Rawhide boxes, it seems that the respective module packages (perl-DBI, perl-DBD-MySQL, mod_perl and perl-libwww-perl) have already been fixed to take ownership of the Bundle dirs they install stuff into. The "auto" dirs are a separate beast, they're not part of a CPAN namespace so it's good to have the main perl package own them. Unless I'm missing something, as far as I'm concerned, this has been resolved already for a while. OK, based upon Ville's comment closing. If you have issue with this please discussion it on fedora-perl-devel-list. |