On Jun 18, 2007, at 9:38 AM, Bill Moseley wrote:

On Mon, Jun 18, 2007 at 11:26:45AM +0100, Paul LeoNerd Evans wrote:
My main objection to Module::Install is that it lives in the distribution itself, rather than being out-of-tree, living on the target system. This means that for e.g. 100 modules on CPAN, that's 100 distribution files that all contain Module::Install. Moreover, they contain a snapshot of whatever version of M::I was current at the time it was built, or, maybe, whatever version the module's developer had at the time. That seems to me
to be the wrong way to solve the problem.

Yes and no.  At least you know the version included worked -- where an
earlier or later version might not.

Rather, you *think* the version included worked. It might not work properly on the target user's system, or it might have bugs not considered and not yet tested for. Or it might not have features the user considers critical but aren't yet part of the M::I you bundle.

I'm considering adding a mechanism to Module::Build that would auto- bundle Module::Build itself, but *only* use it if the user doesn't have an equal or greater version of M::B already installed. Haven't worked out the details yet though.


Module::Build does have issues, but the only one I've ever been hit by,
is that it isn't always installed on target machines; especially not
some of the smoketesting machines that report to CPAN Testers. I don't consider this to be a flaw in the tool itself; simply in people's use of it. It's ultimately chicken/egg. Plus, I believe the intention is that Module::Build will be core in perl 5.10 anyway, so that problem should go
away.

Seems better lately, but for a while it was a nightmare using CPAN.pm
to install modules in a non-standard location (for me, at least) such
as $HOME/local.  Last time I tried it worked reasonably well, but made
me wonder about someone with an older setup.

"Older" here means approximately July 2005. For perspective, YouTube was four months old at the time, and nobody had heard of it yet. =)

My guess is that if your users have M::B installed, it's newer than that. If they don't, when they install it they'll get the latest & greatest.


1) Tell CPAN not to index an included demo in the modules (it's a
Catalyst plugin with an example Cat demo included)


You can pass a no_index parameter to Module::Build->new() and anything listed there will be skipped by indexing tools like PAUSE and search.cpan.org.

 -Ken


Reply via email to