From shawnlhood at gmail.com Mon Jan 21 22:27:53 2008 From: shawnlhood at gmail.com (Shawn Hood) Date: Tue, 22 Jan 2008 01:27:53 -0500 Subject: [Raleigh-talk] creating a backdated CPAN repo from an autobundle Message-ID: Hey folks, First of all, I'm Shawn -- a newcomer to Perl (by virtue of needing to manage a sizable infastructure that uses it extensively). I'm a NC living in Arlington, VA. I was a member of this list for a bit some years ago when I was contemplating building some perl apps. Some of you may have heard me moaning in #trilug about a little project I've been working on. I've heard some excellent suggestions, however feel that I've been asking the wrong question. I have a machine whose bundle I'd like to use as the reference for other machines. I would like to use the autobundle from this machine to create a cpan repo so that my other machines can install identical modules -- however many of these are backdated versions. I need to preserve these versions, however, because it's a very sensitive production environment that I must keep homogenous, and I cannot update modules without performing regression tests on our application first. That said, is there any way to create a CPAN repository from an autobundle, and subsequently use that autobundle on other machines. The tough part here is getting the appropriate versions of the modules into the repository, many of which will have to come from backpan. I've tried creating scripts to parse the autobundle and then find the appropriate backpan module. I've encountered some trouble with this. Also, I could rsync the modules dirs but worry about dependency problems. Ideas?! Shawn From bradoaks at gmail.com Wed Jan 23 11:09:36 2008 From: bradoaks at gmail.com (Brad Oaks) Date: Wed, 23 Jan 2008 14:09:36 -0500 Subject: [Raleigh-talk] creating a backdated CPAN repo from an autobundle In-Reply-To: References: Message-ID: On Jan 22, 2008 1:27 AM, Shawn Hood wrote: > Hey folks, > > First of all, I'm Shawn -- a newcomer to Perl (by virtue of needing to > manage a sizable infastructure that uses it extensively). I'm a NC > living in Arlington, VA. I was a member of this list for a bit some > years ago when I was contemplating building some perl apps. Welcome back. > Some of you may have heard me moaning in #trilug about a little > project I've been working on. I've heard some excellent suggestions, > however feel that I've been asking the wrong question. > > I have a machine whose bundle I'd like to use as the reference for > other machines. I would like to use the autobundle from this machine > to create a cpan repo so that my other machines can install identical > modules -- however many of these are backdated versions. I need to > preserve these versions, however, because it's a very sensitive > production environment that I must keep homogenous, and I cannot > update modules without performing regression tests on our application > first. > > That said, is there any way to create a CPAN repository from an > autobundle, and subsequently use that autobundle on other machines. > The tough part here is getting the appropriate versions of the modules > into the repository, many of which will have to come from backpan. > I've tried creating scripts to parse the autobundle and then find the > appropriate backpan module. I've encountered some trouble with this. > Also, I could rsync the modules dirs but worry about dependency > problems. > > Ideas?! My first thought is to have a look at the CPAN::Mini::Phalanx100 module. It includes a subset of CPAN, but I believe is only the current versions, not specific versions. http://search.cpan.org/~smpeters/CPAN-Mini-Phalanx100-0.01/ This would get you a repository that you can install from easily once you get the right (versions of) modules into it. Let us know how you progress. I'm interested in the result. --bradoaks > Shawn > _______________________________________________ > Raleigh-talk mailing list > Raleigh-talk at pm.org > http://mail.pm.org/mailman/listinfo/raleigh-talk > From james.oden at gmail.com Wed Jan 23 12:16:16 2008 From: james.oden at gmail.com (James Olin Oden) Date: Wed, 23 Jan 2008 15:16:16 -0500 Subject: [Raleigh-talk] creating a backdated CPAN repo from an autobundle In-Reply-To: References: Message-ID: > > > Some of you may have heard me moaning in #trilug about a little > > project I've been working on. I've heard some excellent suggestions, > > however feel that I've been asking the wrong question. > > > > I have a machine whose bundle I'd like to use as the reference for > > other machines. I would like to use the autobundle from this machine > > to create a cpan repo so that my other machines can install identical > > modules -- however many of these are backdated versions. I need to > > preserve these versions, however, because it's a very sensitive > > production environment that I must keep homogenous, and I cannot > > update modules without performing regression tests on our application > > first. > > > > That said, is there any way to create a CPAN repository from an > > autobundle, and subsequently use that autobundle on other machines. > > The tough part here is getting the appropriate versions of the modules > > into the repository, many of which will have to come from backpan. > > I've tried creating scripts to parse the autobundle and then find the > > appropriate backpan module. I've encountered some trouble with this. > > Also, I could rsync the modules dirs but worry about dependency > > problems. > > > > Ideas?! Typically, I would solve this problem with packaging. I would have a package of the version of perl I wanted to use with its builtin modules, and then each additional module would be in its own package (this is very easy with cpanflute2 which comes with RPM::Specfile span module). Then I would have a directory filled with these packages, and anytime I needed to update a machine's perl environment, I would just install any newwer packages or missing ones...much easier done with something like yum. I know that is not exactly what your asking, but it is a sane approach that solves the problem you are trying to solve. Package Monkey crawls back into his hole...james