Re: [Module-build-general] A better passthrough Makefile.PL
Status: Beta
Brought to you by:
kwilliams
|
From: Dave R. <au...@ur...> - 2002-10-12 18:23:48
|
On Sun, 13 Oct 2002, Autrijus Tang wrote:
> > unless (eval { require Module::Build::Compat; 1 }) {
>
> This may very well pass whilst the M::B requirement (0.11) exceeds
> the user's own version (0.10), a situation that occured to me today.
>
> Maybe should test for the minimal M::B version here?
Yep, good thinking. That should probably test for 0.11 at least.
Something like:
unless (eval { require Module::Build::Compat; Module::Build->VERSION(0.11) ? 1 : 0 })
or something like that.
> > my $yn = ExtUtils::MakeMaker::prompt( ' Install Module::Build', 'y' );
> > if ($yn =~ /^y(es)?/i) {
> > # save this cause CPAN will chdir all over the place.
> > my $cwd = cwd();
> > my $makefile = File::Spec->rel2abs($0);
> > require CPAN;
> > CPAN->install('Module::Build');
>
> This is largely a skeletal rework of ExtUtils::AutoInstall
> functionalities. Are you interested with the idea that I work
> a M::B compatibility layer into EU::AI, and for the bootstrap
> code to include the EU::AI bootstrap code that, in addition
> to fetch M::B automatically, also installs the prereqs
> at 'Build' time?
Actually, what I was thinking of was putting chunks (all?) of EU::AI into
Module::Build somehow. Given that M::B will (I really hope) end up in the
core for 5.10, I think this makes the most sense. My goal re: M::B is to
help it become a much easier to use, more featureful replacement for
EU::MakeMaker.
In addition, I think it works really well as a generic _application_
installer. For example, the example web site for the MasonBook is
distributed with a Build.PL that besides just installing a couple modules,
also does the following:
1. Asks the user where to install the Mason components.
2. Asks about how to connect to the RDBMS to be used for the site.
3. When 'Build install' is run, it installs the Mason components _and_
sets up the database (with Alzabo's help), including inserting some
default data (like categories and an admin user).
-dave
/*==================
www.urth.org
we await the New Sun
==================*/
|