Hi Toby,<div><br></div><div>I am not familiar with how this would do the dependency checking required -> how would building a package containing exactly the installed files, differ from simply creating a tarball?  ie: it appears this technique completely ignores the OS versioning problems...</div>
<div><br></div><div>regards,</div><div>Mathew</div><div><br><div class="gmail_quote">On 20 April 2011 11:27, Toby Corkindale <span dir="ltr"><<a href="mailto:toby.corkindale@strategicdata.com.au">toby.corkindale@strategicdata.com.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I install a custom Perl into /usr/local/$NAME/perl, and then install the multitude of CPAN modules in there with it using CPANPLUS.<br>

<br>
I have a script that can do the above automatically, and can also update the CPAN modules.<br>
<br>
After everything is in there, I add/update the files to a Git repository, then build a Debian package out of the whole lot.<br>
<br>
Just a single, monolithic package that contains everything.<br>
<br>
Then that gets installed on development and production machines.<br>
<br>
If new modules are required, the process is re-run, and a new single package is built.. this gets tested in development alongside the next upcoming production release, then release to production alongside the next release.<br>

<br>
This seems to work fairly well; I can't claim that the idea is mine - it was inspired by a talk at OSDC a couple of years ago by Adam Kennedy.<br>
<br>
I have intentions to get this cleaned up enough to release as an open-source project, but it's not quite there yet.<br>
<br>
-Toby<div><div></div><div class="h5"><br>
<br>
On 20/04/11 09:51, Malcolm Herbert wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm in the process of putting together a project that I'm expecting to<br>
use a fair number of CPAN modules directly rather than using the system<br>
native packages of them, for portability.  I have a few development and<br>
test instances and a few instances in production.  I'd like to use CPAN<br>
to manage the modules installed on each, however I want to make sure<br>
that they stay in sync with each other and avoid potential dependency<br>
issues should my development and production environments drift too far<br>
apart.  Ideally I'd like to use the CPAN tools to update the production<br>
environment only from the set of modules I've collected and tested on my<br>
dev/test hosts.<br>
<br>
Is there a good method for doing this?  I've discovered Local::lib from<br>
the Catalyst book which looks promising for installing modules into<br>
non-system locations which means I can add and update modules without<br>
being root on the host, but I can't see how to get CPAN to only ever<br>
look in local directories for dist files rather than fetching from the<br>
web.<br>
<br>
Also, if down the track I discover a need for module xxx, the current<br>
version of which requires a later yyy than I have (ignoring issues of<br>
whether this is a good idea) how would I go about trying to locate the<br>
latest version of xxx that would be satisfied with the version of yyy<br>
that I already have rather than trying to update both?  How long do old<br>
versions of modules stick around in CPAN?<br>
<br>
I've been able to avoid precisely this issue with pkgsrc by<br>
pre-emptively downloading all the binary packages as they are available<br>
in one hit, which has meant I've been able to add new packages to older<br>
installs of hosts without issues, at the cost of downloading around 10GB<br>
of data ... do people do similar things with CPAN?  How big is CPAN if I<br>
were to attempt this?  Are there snapshot versions of CPAN out there<br>
which don't change (apart from minor bug fixes)?  How long do they last<br>
in that state?<br>
<br>
So many questions ... :)<br>
<br>
Regards,<br>
Malcolm<br>
<br>
</blockquote>
<br>
<br>
-- <br></div></div>
.signature<div><div></div><div class="h5"><br>
_______________________________________________<br>
Melbourne-pm mailing list<br>
<a href="mailto:Melbourne-pm@pm.org" target="_blank">Melbourne-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/melbourne-pm" target="_blank">http://mail.pm.org/mailman/listinfo/melbourne-pm</a><br>
</div></div></blockquote></div><br></div>