[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Re: Q: Build.PL/Makefile.PL, and CPAN testers...
From:       Graham TerMarsch <modperl () howlingfrog ! com>
Date:       2007-09-27 19:23:16
Message-ID: 200709271223.17326.modperl () howlingfrog ! com
[Download RAW message or body]

On Wednesday 26 September 2007 9:58 am, Graham TerMarsch wrote:
> After recently releasing Apache2::Filter::Minifier::JavaScript/CSS, I saw
> several failed CPAN testers reports, generally due to the tester not having
> the required modules on their machine.
>
> Now, admittedly these are likely -automated- tests running -unattended-,
> but a failure is still a failure, and I'd like to get it fixed up and
> passing on as many machines as possible.

Wanted to fire a note back to say that I think I've found a short and viable 
solution here for my problem... :)

I ping'd the guys over on the "perl-qa" and "cpan-testers" lists to see what 
sort of input they could provide on it.  cpan-testers didn't provide any 
response, but several people on perl-qa piped in with some useful 
information.

What I learned from the guys on perl-qa was:

1) I'm not the only one who feels that CPANPLUS generates false "failure" 
reports, when the build/test environment is missing prereqs.

2) EU::MM sucks when it comes to having to deal with things that are required 
at -configuration- time.  There is discussion for adding "configure_requires" 
to Module::Build to help address this scenario, but not EU::MM.  Gee, isn't 
this part of why I had a Build.PL but no Makefile.PL in the first place?

3) Both CPAN/CPANPLUS behave such that if you list a "PREREQ_PM" in 
Makefile.PL that's missing and they have to go out and install it, 
they -don't- re-run "perl Makefile.PL" again.  I'm sure this is widely known, 
but its worth mentioning again as this is what makes it particularly hard to 
depend on things that you need -when- "perl Makefile.PL" is run.  It never 
gets re-run after the dependencies are installed, and you've got a half-baked 
build.

(and now, for the big winner...)

4) If you "exit 0" -before- generating the Makefile, CPAN/CPANPLUS stop the 
build/test process, but -DON'T- consider it a failure that'd constitute 
sending a CPAN Testers report.  I've verified the CPANPLUS behaviour locally, 
and am told that CPAN also exhibits this behaviour.

----------------------------------------------------------------------

What this means, though, is that I can now set up a Makefile.PL that checks to 
see if Apache::Test is installed, and then spit out a warning and "exit 0" 
before the Makefile is written.  People running the build manually will see 
why its not working, and automated test bots will stop filing false "failure" 
reports.

I'll try to get updated releases out today, and we'll see what the CPAN 
Testers reports look like tomorrow...

-- 
Graham TerMarsch
Howling Frog Internet Development, Inc.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic