From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040312 Description of problem: Foomatic places files in /usr/lib/perl5/vendor_perl/5.8.3/... but it only requires perl >= 3:5.8.1. Perl 5.8.1 doesn't search 5.8.3 directories. Version-Release number of selected component (if applicable): foomatic-3.0.1-2 How reproducible: Always Steps to Reproduce: 1. Arrange perl-5.8.1-92 and foomatic-3.0.1-2 (rpm won't have any objections to this configuration) 2. Run e.g. "foomatic-ppdfile -h" Actual Results: Can't locate Foomatic/Defaults.pm in @INC (@INC contains: /usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 .) at /usr/bin/foomatic-ppdfile line 3. BEGIN failed--compilation aborted at /usr/bin/foomatic-ppdfile line 3. Expected Results: Help message for foomatic-ppdfile. Additional info: Presumably, foomatic should require perl >= 3:5.8.3.
This is not a bug for FC2 per se, but it is a case where we should use the new perl virtual provides dependency in order to avoid unsupported mixes of packages like this.
Looking at what the new perl provides, I assume you mean that foomatic should require perl(:MODULE_COMPAT_5.8.3) That makes sense, it is better than pointing to package versions. (I would still call it a bug in foomatic that it doesn't require this. But that philosophical question doesn't have that much practical impact as long as we agree what needs to be done. :-)
Well in fact it requires a version of perl with module compatibility with the version it was built against in the first place. So it needs to determine that at build time, not at spec-edit time. I've added this line to 3.0.1-3: Requires: %(eval 'perl -V:version'; echo "perl(:MODULE_COMPAT_$version)")