perl-libnet from powertools says: error: failed dependencies: perl >= 5.00503 is needed by perl-libnet-1.0703-3 (and perl 5.6 doesn't seem to satisfy as such) ( I suppose perl-5.6 shoud provide 5.00503 or something (like fix rpm version algorithm? -- I don't think this should be fixed in modules )
This is actually some unexpected behavior from RPM.
This defect is considered MUST-FIX for Winston Beta-5
This problem cannot easily be fixed in rpm without breaking legacy behavior. The problem has to do with versioned dependencies in packages that look like Requires: perl >= 5.00503 being satisfied by a perl package that does (essentially) Provides: perl = 1:5.6.0 (Note the 1: epoch prefix). Before versioned provides were added in rpm-3.0.3, there was no way to specify an epoch as part of the Requires: (there was an obscure mechanism to require an epoch, so obscure that it was never used AFAICT). In order to maintain compatibility with legacy packaging that contains Requires: and Provides: as above, the dependencies are compared in the same epoch rather than assuming epoch 0 for the Requires: That means that the Requires above is promoted or interpreted as if it had been written Requires: perl >= 1:5.00503 and, since 503 > 6, the dependency fails to be satisfied. The Right Thing To Do (at the moment anyways) is to repackage perl-libnet to Require: perl >= 0:5.00503 but that can't be done for all the legacy packaging in the world. Meanwhile, for powertools 7.0 CPAN packages have Requires: perl >= 5.6 That still is not the right thing to do, as an epoch now has to be included explicitly, something like Requires: perl >= 1:5.6 now that perl has an epoch, and 7.0 CPAN packaging dependencies will be satisfied by the now legacy Provides: perl >= 5.00503 But 7.0 packages will install cleanly with perl-5.6.