There is a bit of versioning confusion produced by Filter, as none of the modules shipped with it have versions that correspond with the dists version. And the numbers reported by corelist also report the module versions, not the dist versions. grep '\$VERSION\s*=' $( qlist perl-core/Filter ) /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/sh.pm:$VERSION = "1.01" ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/tee.pm:$VERSION = "1.02" ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/Util/Exec.pm:$VERSION = "1.03" ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/Util/Call.pm:$VERSION = "1.08" ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/exec.pm:$VERSION = "1.01" ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/cpp.pm:$VERSION = '1.03' ; /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi/Filter/decrypt.pm:$VERSION = "1.05" corelist-2.470.0-perl-5.14.0_rc1 -a Filter::Util::Call v5.10.0 1.07 v5.10.1 1.08 v5.11.0 1.08 v5.11.1 1.08 v5.11.2 1.08 v5.11.3 1.08 v5.11.4 1.08 v5.11.5 1.08 v5.12.0 1.08 v5.12.1 1.08 v5.12.2 1.08 v5.12.3 1.08 v5.13.0 1.08 v5.13.1 1.08 v5.13.2 1.08 v5.13.3 1.08 v5.13.4 1.08 v5.13.5 1.08 v5.13.6 1.08 v5.13.7 1.08 v5.13.8 1.08 v5.13.9 1.08 v5.13.10 1.08 v5.13.11 1.08 Filter::Util::Call 1.08 however came out in Filter-1.35 ( http://search.cpan.org/diff?from=Filter-1.34&to=Filter-1.35&w=1 ) And no changes to any of the other packaged .pm files have changed since 1.35 ( http://search.cpan.org/diff?from=Filter-1.35&to=Filter-1.37&w=1 ) So anything that depends on a version of Filter::Call::Util greater than 1.08 is completely unsatisfiable, and indeed, anything that depends on that exact version in tree or greater should specify a dependence on virtual/perl-Filter-1.35 And Perl 5.14 states it ships Filter 1.08 as well ( https://github.com/mirrors/perl/raw/blead/dist/Module-CoreList/lib/Module/CoreList.pm , grep 5.014 ... ) So seeing that, the virtual should probably state: || ( ~dev-lang/perl-5.14.0 ~dev-lang/perl-5.14.0_rc1 ~dev-lang/perl-5.12.3 ~dev-lang/perl-5.12.2 ~dev-lang/perl-5.10.1 ~perl-core/Filter-${PV} ) Introduction of this change will conveniently avoid bug #364325 from occurring as it will default to using the Filter shipped with Perl instead of needing it to be installed seperatly.
Additionally, I have filed a bug upstream suggesting in future releases they ship at least one module with a matching version so in future Perl releases we can see what they're really stealing the code from. https://rt.cpan.org/Ticket/Display.html?id=67655
I only added perl-core/Filter to RDEPEND of the virtual because perl doesn't contain all the modules from the Filter distribution. perl only provides Filter::Util::Call.
Ugh. That's a frustrating predicament :/
The good news is, as it stands: Nothing on CPAN uses Filter::sh Filter::tee is only used by: - Filter::gunzip Nothing on CPAN uses Filter::Util::Exec Filter::exe is only used by: - Filter::gunzip Filter::cpp is only used by: - Tie::Vec::Array - macro Nothing on CPAN uses Filter::decrypt So Filter::Util::Call appears to be all that really is necessary ( at least, for now ). ( Conclusions based on using http://grep.cpan.me )
Upstream have made it more clear what versions of things they're shipping now, so what Perl is shipping with should hopefully be less deceptive. http://search.cpan.org/diff?from=Filter-1.37&to=Filter-1.38&w=1
Masked and going away.