perl.prov does not support extraction of versions from fully qualified expressions like "$Foo::Bar::VERSION = 1.00". The attached patch (against current rpm.org hg tip) fixes it. This is a part of a bigger patch originally filed in bug 61797 ages ago. The patch there contains some things that need a review, but this part is the most important part of it, should be safe and would help with majority of cases listed in http://www.redhat.com/archives/fedora-maintainers/2007-July/msg00312.html
Created attachment 159716 [details] Support fully qualified $Foo::Bar::VERSION expressions
One test case: current perl-Config-General in Fedora devel, before applying this patch, it Provides: perl(Config::General) perl(Config::General::Extended) perl(Config::General::Interpolated) perl-Config-General = 2.33-1.fc8 After applying the patch and rebuilding: perl(Config::General) = 2.33 perl(Config::General::Extended) = 2.02 perl(Config::General::Interpolated) = 2.08 perl-Config-General = 2.33-1.fc8
Added to rpm5.org cvs. FWIW, perldeps, not perl.prov, will be used eventually so that both provides and requires extraction is in a single file to decrease /usr/lib/rpm litter, and should be patched as well.
Also FWIW, #61797 was filed around the time Chip Turner was writing perldeps. Again, perldeps, not perl.prov, needs whatever patches you attempt.
While perldeps.pl looks much cleaner than perl.req/perl.prov, it seems to me that it does not have any module version handling whatsoever (only the version of perl is supported), so this patch isn't really applicable to it at the moment. And FWIW, in my opinion as long as module versions are not supported, switching from perl.req/perl.prov to perldeps.pl should not be considered - it'd be a largish regression.
In rpm.org now as well. Just holler if you want to see this in Fedora rpm before it gets there through new upstream release.
Thanks. The sooner this is in, the sooner can the perl packages affected by this issue be "fixed" by just rebuilding them. But it's not that crucial - we've managed just fine without this since the beginning of time. I don't think it would hurt to get it done for F8 though.