Beefy Boxes and Bandwidth Generously Provided by pair Networks
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


In reply to Clean smoke-test install for Inline based modules using Inline::MakeMaker by davido

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-25 14:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found