Bug 487972

Summary: RFE:filter Perl private libs for arch-specific packages
Product: [Fedora] Fedora Reporter: Chris Weyl <cweyl>
Component: rpmAssignee: Fedora Packaging Toolset Team <packaging-team>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: ffesti, pknirsch, pmatilai
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-09 13:11:24 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:    
Bug Blocks: 694496    

Description Chris Weyl 2009-03-01 21:57:20 UTC
Perl arch specific packages often contain shared libraries that are private to Perl, and ought not to be publicized as "provides" for a package.

Over in Perl-packaging-land we've taken to using the following to filter the private libs from ever being scanned by the rpm "provides" generator.  Would it be possible to change the auto-prov script to simply filter any so's out from under:

%perl_archlib
%perl_sitearch
%perl_vendorarch

One possible way would perhaps be to allow a variable to be defined in the spec that could specify a given directory to skip a certain type of autoprov scanning...  This could also be used by other package types filtering out private plugins or libraries. e.g.

# for perl
RPM_NOAUTPROV_SHLIB="%perl_vendorarch:..."

--- XXXX 26 Feb 2009 12:39:28 -0000 1.9
+++ XXXX 28 Feb 2009 22:57:42 -0000
@@ -17,2 +17,7 @@

+# don't "provide" private Perl libs
+%global _use_internal_dependency_generator 0
+%global provfind /bin/sh -c "grep -v '%perl_vendorarch.*\\.so$' | %__find_provides"
+%global __find_provides %provfind
+
 %description


Thanks :)

Comment 1 Marcela Mašláňová 2011-10-18 07:40:01 UTC
It's solved in macros.perl by %global __provides_exclude_from %{perl_vendorarch}/auto/.*\\\\.so$|%{perl_archlib}/.*\\\\.so

I suppose this one can be closed now if you do not have better solution inside rpm.

Comment 2 Fedora Admin XMLRPC Client 2012-04-13 23:08:30 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Fedora Admin XMLRPC Client 2012-04-13 23:11:47 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Panu Matilainen 2013-09-09 13:11:24 UTC
This should be fixed in rawhide (and f20 also) since this:

* Fri May 17 2013 Panu Matilainen <pmatilai> - - 4.11.0.1-5
- filter out non-library soname dependencies