On Jun 17, 2005, at 10:02 PM, Michael G Schwern wrote:

On Fri, Jun 17, 2005 at 10:53:44AM +0100, Robert Rothenberg wrote:
CPANPLUS issues FAIL reports when there is no C compiler, which irks
module authors who feel such reports make their module look bad.

Some feel that CPANPLUS should detect this and not send a report, others feel it should send a report, but with a different grade: NA or some new
grade such as UNGRADED, since there are advantages to testing what a
Build will do if there is no C compiler.

To clarify a common misconception: CPANPLUS doesn't actually know what went
wrong, just that *something* went wrong and the command was unsuccesful.

From EU::MM we get a non-zero return value from the system() call (and we've
captured the output to include in the test report).

From Module::Build we get an exception thrown that lets us know 'it' went wrong. Sadly, no output has been captured -- see this bug report for details:
        
        https://rt.cpan.org/NoAuth/Bug.html?id=9793


Another idea is to ExtUtils::MakeMaker or Module::Build to refuse to try
and build a module if a C compiler is required (and update CPANPLUS to
detect this).  This seems connected to the larger issue of NA reports
when libraries or applications are missing.

Yes, this seems to be the way to go. Module::Build improves its external
dependency detection and reporting (it already has a lot of the
intrastructure to declare and detect external deps). The only change to CPANPLUS is to better detect these new dep failures and act appropriately.

If they can be published by Module::Build in an unambiguous way, that might be an option. Parsing the output of an error is not, as far as i'm concerned
-- it would be the responsibility of the installer to tell us why it was
unable to install.

The same work should be done on MakeMaker but it would be too broad (MakeMaker has none of the existing detection and reporting tools) and introduce far too much instability (because its make and shell, not Perl) too late in the
game.  That part gets a resounding "no".

That means for 90% of the cases (as that's the group using EU::MM), whatever we decide here is not going to help much. I'd argue that in that case, an overhaul of the reporting system might not bring us the joy we're hoping for, and may not
warrant the extra effort required to make it work at this time.

--
        Jos Boumans

From kid's Superman costume for Halloween (stitched into the cape's tag) -- "Warning: Use of This Device Does Not Enable
        Wearer To Fly."

        CPANPLUS        http://cpanplus.sf.net

Reply via email to