Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
I recently took over Inline::CPP, which hadn't been maintained since 2003. When I took it over it was passing with only about 10% of the CPAN smoke testers. The points of failure traced back to ways in which C++ has standardized and evolved over the years, as well as how Inline has evolved. Once the points of failure were identified several individuals on the Inline mailing list (syphilis, Stefan, and Patrick) and I came together to work out some solutions that resulted in patches both to Inline and to Inline::CPP. Now Inline::CPP passes for a little over 93% of the smoke testers. If you look in the documentation for Inline under the "Writing Modules with Inline" section, there is a list of steps needed to create a distribution that uses Inline::*. One of the steps is to substitute Inline::MakeMaker in place of ExtUtils::MakeMaker in the Makefile.PL file. So far, so good, and that works as advertised. As a proof of concept I put Math::Prime::FastSieve on CPAN. This module is based on Inline::CPP. The intent was to demonstrate that basing a module on Inline was a reasonably robust solution, and if not, to identify and hopefully fix the points of failure. When the smoke tests began trickling in I discovered another issue that is preventing some testers from getting a clean install. Several tests came back with a result of "UNKNOWN", and this is an example of the output from one tester. On the Inline email list we came up with the thought that these particular testers probably don't have Inline installed at all (which drags with it Inline::MakeMaker). So the solution I came up with was to add a 'BUILD_REQUIRES' => { 'Inline' => 0.49 }, directive in the Makefile.PL file. The thought was that at that point when I build the distribution Inline would be listed in the META.json and META.yml files, and the build dependency would be picked up by the cpan shell tool so that Inline would get installed prior to the target system invoking Makefile.PL. So I bumped the version number to .03, and uploaded the changes. I seem to have achieved a marginal increase in smoke test passes, but I'm still getting some "UNKNOWN" results. And the test details for the remaining "UNKNOWN"s still seem to exhibit the same problem. I'm wondering if any of you Monks wiser than I in the ways of building a bullet-proof distribution may come up with a suggestion on how to fix this issue. Update: Fixed one of the module links. Dave
|
|