User:Kentnl/Perl Autovirtuals


 * 1) Eliminate
 * 2) All   is an "autovirtual"
 * 3) All   uses a special value   that indicates which perls ship with the relevant
 * 4) All   employs a conditional dep of
 * 5) All   does a runtime
 * 6) Based on that value, if that value is in the list of "SUPPORTING PERLS", then the ebuild changes beahaviour
 * 7) And behaviour changes to a No-OP of installing no files.
 * 8) You could plausibly have a USE flag to force one of the two install paths.

Advantages:


 * Can be expected to work usefully even if the  is not properly updated, without causing too much fallout ( It will still be a problem for some not-on-cpan-yet things, but that's not going away )
 * Unlike the current virtual scenario where changing from using "perl-core/*" to using "Perl itself" results in a cruft ebuild lying around, this removes the un-needed files automatically.
 * This completely avoids the  +   problem which normally results in   expecting   while   sees

Disadvantages:


 * Slightly increased rebuild requirement for users, but this is a present problem with virtuals anyway, just they'll be rebuilding the package, not the virtual.

Implementation:

SUPPORTING_PERLS="5.020000 5.020001" # $] values inherit perl-core-module ...   DEPEND=" ||( $PLSUPPORTED ( NORMALDEPS ))" RDEPEND="||( $PLSUPPORTED ( NORMALDEPS ))"


 * would be excluded if the module in question was not available via CPAN.
 * Falling back to "CPAN" and checking  would be disabled either explicitly (???) or by SRC_URI being empty.
 * would be produced by  using