[Fedora-packaging] Perl package guidelines and filtering provides/requires

Richard W.M. Jones rjones at redhat.com
Thu Feb 28 20:09:53 UTC 2008


On Thu, Feb 28, 2008 at 02:59:46PM -0500, Tom spot Callaway wrote:
> On Thu, 2008-02-28 at 19:55 +0000, Richard W.M. Jones wrote:
> > The Perl packaging guidelines are big on the need to filter provides
> > and requires using some complex shell scripting:
> > 
> > http://fedoraproject.org/wiki/Packaging/Perl
> > 
> > I'm reviewing some Perl packages which don't do this.  Furthermore I
> > grabbed 10 approved Perl specfiles from CVS and only 2 of them
> > (perl-Catalyst-Plugin-Static-Simple and perl-Class-MOP) actually did
> > it.
> > 
> > So is this packaging requirement real?
> 
> It is real if the perl package you're working on picks up some false
> Provides and/or Requires. :)

The text on that page is a bit unclear then.  I read it initially to
mean that I always had to do the filtering, not that I had to only do
it if the deps were wrong.  Reading it again it seems ambiguous.

Anyway, here are the deps for the packages I'm looking at.  What sort
of wrong deps am I looking for?  (FWIW these deps seem OK to me).

$ rpm -q --requires -p perl-Dir-Which-0.3-1.fc9.noarch.rpm
perl >= 0:5.006
perl(:MODULE_COMPAT_5.8.8)  
perl(Carp)  
perl(File::Spec)  
perl(base)  
perl(strict)  
perl(vars)  
perl(warnings)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1

$ rpm -q --provides -p perl-Dir-Which-0.3-1.fc9.noarch.rpm
perl(Dir::Which) = 0.3
perl-Dir-Which = 0.3-1.fc9

$ rpm -q --requires -p perl-File-Tempdir-0.02-7.fc9.noarch.rpm 
perl(:MODULE_COMPAT_5.8.8)  
perl(File::Path)  
perl(File::Temp)  
perl(strict)  
perl(warnings)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1

$ rpm -q --provides -p perl-File-Tempdir-0.02-7.fc9.noarch.rpm 
perl(File::Tempdir) = 0.02
perl-File-Tempdir = 0.02-7.fc9

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v




More information about the Fedora-packaging mailing list