On Fri, Jun 26, 2009 at 5:08 PM, Eric Wilhelm<scratchcomput...@gmail.com> wrote:
> Here's the last context I know of regarding that.
>
>  http://www.nntp.perl.org/group/perl.module.build/2007/06/msg733.html
>
> Basically, some historical issues which lead us to the belt-n-braces
> approach, but actually I don't think that any success at satisfying
> build_requires will get you past the part where Build.PL dies for not
> having a properly modern (or even installed at all) M::B.
>
> For an absolute guarantee that configure_requires is satisfied, the
> Build.PL should probably have a "use Module::Build 0.34;" statement.

Here's my proposed approach for 0.33_05:

* adding "auto_configure_requires" with default 1. When true, M::B
will add itself at the current version to configure_requires unless
it's already there.

* things in configure_requires do not *necessarily* have to be in
build_requires or requires -- there will be no warnings or dwimmery

My rationale:

Consider an existing M::B distro without configure_requires but that
generates a traditional Makefile.PL.  When distmeta runs, this is what
will happen:

(1) M::B added to configure_requires in META.yml
(2) Makefile.PL has PREREQ_PM without any additions

Point #1 is debatably good.  Modern clients will ensure an up-to-date
M::B is available.  Older clients will not and must run Makefile.PL if
M::B is not installed.  If some author really detests that behavior,
they have two options:

  (a) explicitly set configure_requires => { 'Module::Build' => 0 } --
this will ask for any version not necessarily the latest
  (b) explicitly set auto_configure_requires => 0 -- this will mean no
configure_requires is created

Point #2 is good -- adding M::B to build_requires, either
automatically or by chiding the author to do so, will put M::B in
PREREQ_PM, which is quite odd as it's definitely not necessary for
someone relying on a Makefile.PL in the first place.

On possible addition is that we could DWIM a bit more and turn off
auto_configure_requires if a traditional Makefile.PL is being created.

Reactions?  Rebuttals?

-- David

Reply via email to