Filtering of requires...

Chris Weyl cweyl at
Sat Sep 20 18:44:56 UTC 2008

Hey all--

So, I'm running across this in a review.  RPM picks up an unversioned
requires and the submitter has an explicit versioned requires in the
spec file; it ends up coming across as:

perl(Params::Util) >= 0.33

Now, I've always been of the understanding "one or the other, but not
both", especially when one is manually specified in the spec file.  As
such, I've been treating this as a blocker.

However, should it be a blocker?  In the case of a provides, the
answer is clear: having an unversioned provides together with a
versioned provides defeats the purpose of a versioned provides, as the
unversioned one will satisfy the request for any version of that
module.  But the logic works the other way around with requires: a
package with versioned and unversioned requires will cause a package
that satisfies the strictest of the two to be installed.  (We also see
this sort of "layered" requires happening when we do things like
"requires: foo >= 1, foo <= 2")  I can also see a case where automated
tools (cpanspec, CPANPLUS::Dist::RPM/Fedora) read versioning
information from the dist directly, and this is often more precise
than what rpm finds.

So...  Should this be a blocker?  Or should it just be considered
"bonus", something that doesn't hurt but indeed makes the requires
metadata a touch more precise?

Chris Weyl
Ex astris, scientia

More information about the Fedora-perl-devel-list mailing list