Bug 167797

Summary: perl-DBD-Pg package doesn't Provide: perl(DBD::Pg)
Product: [Fedora] Fedora Reporter: Paul Howarth <paul>
Component: perl-DBD-PgAssignee: Warren Togami <wtogami>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: perl-devel
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: 2005-11-10 11:20:24 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
Patch to reformat Pg.pm so that perl.prov can interpret it properly none

Description Paul Howarth 2005-09-08 06:31:42 EDT
Description of problem:
The update to 1.43 appears to have introduced an issue where rpm does not
autogenerate the perl(DBD::Pg) virtual. So modules requiring this have to depend
on perl-DBD-Pg rather than perl(DBD::Pg) (e.g. bugzilla #166191). The FC3 and
FC4 packages do provide perl(DBD::Pg).


Version-Release number of selected component (if applicable):
perl-DBD-Pg-1.43-1


How reproducible:
Easy

Steps to Reproduce:
rpm -q --provides perl-DBD-Pg
  
Actual results:
Pg.so
perl-DBD-Pg = 1.43-1

Expected results:
Pg.so
perl(DBD::Pg) = 1.43
perl-DBD-Pg = 1.43-1


Additional info:
Easy fix would just be to add the Provides: perl(DBD::Pg) = %{version} manually
in the spec file.
Comment 1 Warren Togami 2005-09-08 06:40:07 EDT
Well, the bigger question is figuring out *why* it no longer auto-provides.
Comment 2 Paul Howarth 2005-09-08 07:10:17 EDT
Created attachment 118587 [details]
Patch to reformat Pg.pm so that perl.prov can interpret it properly

(In reply to comment #1)
> Well, the bigger question is figuring out *why* it no longer auto-provides.

Good point. Patch fixes the formatting of Pg.pm so that auto-provides works
again. Ideal fix would be for perl.prov to be able to parse the code as-is.
Comment 3 Warren Togami 2005-09-08 07:29:06 EDT
Thanks.  Could you please submit this upstream too to make future maintenance
easier?

While I agree it would be ideal to fix perl.prov, that isn't a solution for
older distros unfortunately. =(
Comment 4 Paul Howarth 2005-09-08 08:17:00 EDT
Reported upstream:

http://rt.cpan.org/NoAuth/Bug.html?id=14509
Comment 5 Ville Skyttä 2005-09-08 10:47:54 EDT
One theoretical point worth noting: 
 
Even though providing perl(DBD::Pg) in this package is correct, one could 
argue that packages in general should not have manually added dependencies on 
perl(DBD::*) in their specfiles. 
 
In the vast majority of use cases, the DBD::* drivers are not explicitly 
loaded in Perl code, but DBI loads the appropriate driver based on the data 
source given in connect().  Therefore, manually adding dependencies on 
perl(DBD::*) is kind of hardcoding assumptions about DBI's internals into 
specfiles, and in that sense, using the corresponding perl-DBD-* package names 
in dependencies wouldn't be that bad an alternative. 
Comment 7 Florian La Roche 2005-11-03 11:04:52 EST
I've added a Provides: for this, should show up tomorrow in the
FC-development release.

regards,

Florian La Roche
Comment 8 Warren Togami 2005-11-03 11:13:52 EST
Ville, to clarify should we add the patch or a virtual provides?
Comment 9 Ville Skyttä 2005-11-03 12:02:56 EST
As long as the package provides correct things, IMO the implementation is a 
matter of maintainer preference.  I would have personally opted for the 
Provides too.  (BTW, I don't see the change from comment 7 in CVS yet. ) 
Comment 10 Paul Howarth 2005-11-17 03:16:11 EST
Upstream reports that this is now fixed in CVS and "will appear correctly
formatted in 1.44", so the manual Provides: should be removable when that
version is released.

http://rt.cpan.org/NoAuth/Bug.html?id=14509