I'm currently tasked with managing the packaging and installation for a reasonably large system which uses Perl extensively. To date we've manually built some modules from cpan to bundle along with the product, but for some larger hierarchies (where modules depend on others and so on), it becomes quite complex and time consuming to do this by hand.

Unfortunately requiring the end user to install modules outside the Perl 5.8 core set on the local machine isn't an option for us, and I wouldn't have thought trying to script MCPAN during our installation would be a good idea either (though I'd be open to convincing).

I guess my question is, is there a better way? It would be really nice to use MCPAN, to install packages to a clean directory, then pull the results out and into our bundle, but I worry about missing some dependency because it happened to be pre-installed in the host version of perl.

A second complication is that I would really love to be able to ship with modules which use XS, but that means providing separate pre-compiled versions for each of the four architectures we support. I'm not sure if there's some simple trick for handling that, or if it just means doing everything four times over.

Anyway, here's hoping this is one of those 'Oh, clearly you haven't heard of XYZ which make it all very easy' type questions.


In reply to Bundling perl modules with a larger system by mattsheppard

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.