Bug 73970

Summary: perl rpm should create and own Bundle, auto and vendor_perl directories
Product: [Fedora] Fedora Reporter: Gary Benson <gbenson>
Component: perlAssignee: Chip Turner <cturner>
Status: CLOSED CURRENTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: 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 Flags
Own "auto" dirs
none
Own site/vendor auto dirs (UTF-8, gzipped for i18n reasons) none

Description Gary Benson 2002-09-13 16:17:33 UTC
Description of Problem:
The various Bundle and auto directories are currently created and destroyed by
perl module rpms on an ad-hoc basis, which causes problems as described in the
comments to bug 73935.  A nice fix to this would be to make the perl rpm create
and own all auto and Bundle directories and to fix the other
packages that claim to own them (perl-DBI, perl-DBD-MySQL and perl-DBD-Pg).

Comment 1 Enrico Scholz 2003-05-02 12:09:17 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.


Comment 2 Enrico Scholz 2003-05-06 17:27:20 UTC
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.

Comment 3 Ville Skyttä 2003-07-29 16:45:03 UTC
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.

Comment 4 Nils Philippsen 2003-10-16 16:59:45 UTC
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

Comment 5 Enrico Scholz 2003-10-23 13:08:05 UTC
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

Comment 6 Ville Skyttä 2003-11-30 13:05:00 UTC
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.)

Comment 7 Nils Philippsen 2003-11-30 17:42:23 UTC
If all goes well, I should be able to change version and summary.

Comment 8 Ville Skyttä 2003-12-07 09:53:03 UTC
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.

Comment 9 Warren Togami 2005-04-26 00:39:43 UTC
Is this still an issue?

Comment 10 Gary Benson 2005-04-26 08:42:08 UTC
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


Comment 11 Ville Skyttä 2005-04-26 14:09:45 UTC
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.

Comment 12 Warren Togami 2005-04-26 20:05:57 UTC
OK, based upon Ville's comment closing.  If you have issue with this please
discussion it on fedora-perl-devel-list.