Thanks for all the references. I looked through them.

I think the issue is confusion over the role of a "build system" and a "package and deployment system". A very good system, in my opinion, is the rpm/yum/repos system that RedHat uses (others may bring up apt-get and Debian which is also good). These packaging systems have the ability to do automatic dependency checking (just like CPAN). They also have the ability to do rollback, as well as package things other than Perl (unlike CPAN).

We already have enough good _build_ systems. They are as old as the hills, and things like make are still around, proving their value. Perl has it's own build systems which solve many of the same problems. Fair enough. But we don't need more solutions in this area. So Shipwright doesn't seem useful to me on first glance. No need to have another build system that is less known, has no docs, etc. Problem already solved.

There does seem to be a realization somewhere by some that it would be "a good thing" if CPAN could automatically make RPMs. Of course, the devil is in the detail on these things, and while you can automate 99% of this, there is a 1% that requires everyone who has ever written a module to do a little work. Having automatic RPMs from CPAN would be, in a word, awesome, because you can get the benefit of the rpm/yum/repos system which is goes far beyond CPAN (in terms of deployment functionality). Further, this system will only get better.

Note there is a tool, cpan2dist that does this. Give it a try and you'll see why there's a long way to go before we have full CPAN to RPM automation.

So I'll employ a hybrid deployment strategy. I'll maintain a separate perl stack, independent of the vendor perl, which is updated via a MicroCPAN installation of just my modules, mounted by fuse (so it looks like a file:///url). Everything else will be RPMs. Making perl RPMs has proven to be too much trouble (because of the many dependencies on CPAN-RPM modules).

Note, none of the tools mentioned above even comes close to providing the needed functionality (but thanks for the list). I would go a bit further and build something on top of rpm/yum/repos for repeatable deployment to a cluster of machines. But note, you need all the underlying machinery to work well for this to happen (e.g. rollback)


In reply to Re^2: Private Module Repository by zerohero
in thread Private Module Repository by zerohero

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.