Stas, that was a a very useful summary of the issues - thanks for putting that together!
On Fri, 31 Dec 2004, Stas Bekman wrote: > Joe Schaefer wrote: > > Stas Bekman <[EMAIL PROTECTED]> writes: > > > >>Joe Schaefer wrote: > > [...] > > I now think was a mistake for any of the Apache::* core modules > > to be indexed with mp1, because it looks like a wedding between > > the Apache:: APIs and the mp1 implementation of them. This is, > > IMO, the kernel of the complaints against the mp2 release plan. > > It has nothing to do with indexing of mp1 Apache::* core > modules. When Randal has it's finger glued to the 'r' > button, CPAN shell checks what are the *installed* modules > and compares their version against the index. So if mp1 > didn't index any of those, but mp2 did, you will still > have a problem. Perhaps you were suggesting that none of > the Apache::* core modules, but mod_perl.pm, should be > indexed (both mp1 and mp2), in which case it makes sense. > > You still have a problem with mod_perl.pm. To (partially) get around this CPAN.pm 'r' problem of recommendations of available upgrades, what about, in the mp2 package, use a no_index in META.yml to tell PAUSE not to index the mp2 modules that have the same name as mp1 counterparts: Apache::Log Apache::PerlSections Apache::Resource Apache::SizeLimit Apache::Status Apache::URI Apache::Util That would mean in a Makefile.PL prerequisites section that one couldn't use these to specify an mp2 version, but that's perhaps not too much of a problem, as there's other mp2-specific modules that can be used. There's still mod_perl.pm in both packages, though. In mp2, this is just something to define the version, and also to provide a NAME pod section (if I remember correctly, this was inserted for the benefit of search.cpan.org, to get an abstract for the package). Not indexing mp2's mod_perl.pm shouldn't affect search.cpan.org (I believe), as it doesn't rely on the PAUSE indices, but it would mean that one couldn't use (the useful) PREREQ_PM => {mod_perl => 1.99} in a 3rd party Makefile.PL to specify mp2. Instead, what about adding a mod_perl2.pm to the mp2 distribution, just again defining the version, so that one could use PREREQ_PM => {mod_perl2 => 1.99} mod_perl.pm would still be provided in the mp2 package (just not indexed by PAUSE), so that constructions like if ($mod_perl::VERSION > 1.99) would still work. The use of a Bundle in a prerequisite is similar, but the thing with those (if I understand the usage correctly) one must explicitly specify a package version to use, so that if a later version of a package is released, one must update the Bundle file to use that package, if desired. -- best regards, randy -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html