On 5/22/07, Joshua ben Jore <[EMAIL PROTECTED]> wrote:
On 5/22/07, Ken Williams <[EMAIL PROTECTED]> wrote:
> There's a problem with that: if you don't have a Makefile.PL, and
> someone's running an old CPAN that expects a Makefile.PL to be there,
> it'll try creating a Makefile.PL and fail badly, with no helpful
> message for the user. Old CPANs think that "no Makefile.PL" means
> "no installer", so it tries to create an installer.
Wow. I had no idea. I'm not sure what you mean by "old CPAN.pm" but
its true for everything up to whatever comes with perl 5.8.8 and
perhaps also 5.9.5. The CPAN.pm I have with my 5.9.5 isn't installing
anything right now.
So even the latest 5.8.x has a CPAN.pm that thinks no Makefile.PL
means it should generate one. Of course it doesn't know what Build.PL
is so that is ignored.
I have just attempted installing a Build.PL-only module after first
upgrading CPAN on 5.6.2,5.8.1->5.8.8. It fails everywhere except
bleadperl. Now each perl just attempts to use Build.PL and fails
immediately because Module::Build isn't installed.
It appears to be insufficient to use Build.PL and also manually
upgrade CPAN. The positive side is now there's an error instead of
just merely an invented Makefile.PL. I'm surprised this stuff doesn't
work better by now. It's been awhile since I actually tested that
Module::Build-using module were cleanly installable.
For giggles, I'm trying a passthrough Makefile.PL via my Build.PL and
specifying that I require CPAN 1.9102 + Module::Build. So far this
seems to work. I wish I could remember what it was about passthrough
that didn't work in the past so that now I remember it as a place of
extra badness
Josh