On Thursday 27 September 2007 12:28 pm, David Golden wrote:
> On 9/27/07, Graham TerMarsch <[EMAIL PROTECTED]> wrote:
> > Ok... THATS a useful answer. :)
> >
> > So... if I set up my Makefile.PL to check for the presence of any modules
> > that I require for configuration (e.g. "Apache::Test") and then simply
> > "exit 0" -before- the Makefile is written, it'll abort the build/test and
> > -NOT- record a failure?  -=SCHWEEET=-  That's what I'm looking for.
>
> And, sadly, I was wrong.  :-(
>
> CPAN doesn't FAIL during the PL stage, but continues into the "make"
> stage and then it becomes a FAIL when the Makefile can't be found.
> But I committed a patch to the CPAN source this morning to fix this
> bug and have things just stop after the PL stage if no Makefile was
> generated.
>
> I'm hoping Andreas can put out a new release quickly and I'll use that
> as the prereq for CPAN::Reporter 1.00 (also coming soon).  Over time,
> as CPAN::Reporter installations are upgraded, that should provide one
> solution to this sort of problem -- at least for CPAN based testing.
> (Still don't know about CPANPLUS.)

I can actually verify that CPANPLUS doesn't send automated "failure" reports 
when no Makefile is generated; I tested that locally myself this morning 
after reading your previous message.

> > It'll also mean that automated test reporters like CPANPLUS will stop
> > filing "failure" reports when its really the test environment that's
> > lacking.
>
> CPANPLUS is a totally separate distribution that does its own test
> reporting.  The most common smoker engines use it.

That's what I'm finding too; the vast majority of CPAN Testers reports that I 
see are from CPANPLUS.

Although CPAN doesn't support this in a release yet, knowing that doing "exit 
0" will at least help keep CPANPLUS from filing false failures is a step in 
the right direction. :)

> > So... would anyone care to fill me in on why we don't have CPAN(PLUS) et
> > al. re-running "perl Makefile.PL" after dependencies are installed?  I'm
> > thinking it might cause problems for users who are installing packages
> > that prompt them for input during that run, but also think that it'd be
> > useful for cases like this where Makefile.PL has to change its
> > configuration based on whether or not the dependencies are installed.
>
> There's a new META.yml field under development called
> "configure_requires" to account for that case.  The latest CPAN.pm
> supports it.  Again, I don't know about CPANPLUS.

Cool.  For my own edification, how does CPAN behave when it encounters a 
missing "configure_requires"?  Does it simply install the dependency and then 
continue, or does it install it and then re-run "perl Makefile.PL"?  Or, 
alternatively, does it just choke outright and abort the build?

-- 
Graham TerMarsch
Howling Frog Internet Development, Inc.

Reply via email to