Description of Problem: Due to a bug in /usr/lib/rpm/perl.prov a bogous POD-directive in a perl module overshadows all provides symbols until an inverted POD-directive shows up. This is because the internal state of the '..' operator in perl is persistant between function calls. How Reproducible: Build a reasonably big program with perl modules (the easy example is 'perl') and check the 'provides' output. Compare to the list of included modules, and you will see that it don't match. For example perl-5.6.0-12 includes the IO::Handle module, but don't advertise it in the 'Provides' field. Additional Information: The effects of this bug is overshadowed of the fact that requires is not correctly checked when building new perl programs I will attach a patch that fixes those two problems. Those will lead to a chain reaction of things needed to be fixed (for for example perl doesnt provide 'perl(strict)' that most installed scripts require)
Created attachment 20037 [details] a patch for the two problems decribed
Created attachment 20074 [details] when starting to use perl dependencies for real, some pragmas needs to be provided by perl
OK, I've merged the find-{requires,provides}.perl changes into the main find-{requires,provides}, so the find-*.perl stuff can be removed. Changes are in CVS on the rpm-4_0 branch, will be in rpm-4.0.3-0.31 as well. What's still bothersome is that perl.prov takes like ~150MB to do it's dirty when invoked as find /usr/lib -type f | /usr/lib/rpm/perl.prov Any chance that you could take a look at *why* perl.prov consumes so much memory? TIA ...
Off to perl to add the Provides to the spec file ...
adding provides
I have found ERROR in rpm-4.0.2/scripts/find-requires.perl: perllist= for f in $scriptlist; do [ -x $f ] || continue */perl) perllist="$perllist $f" ;; esac done | sort -u perllist always be empty after this code, because subshell use. Try 'echo perllist=$perllist 1>&2'. Why need '| sort -u'? rpm-4.0.2-perl-provides.patch don't correct this bug.
From what I can see this bug seems fixed in Phoebe (rpm-4.2-0.25.1, perl-5.8.0-73). Eugene, could you please file another bug with the oddity you've found. Preferably with a simple test case showing that things actually go wrong as a result of what you describe.