Greetings, I need to develop a way to manage the installation and update of R packages under linux (CentOS), hopefully using Puppet. I''ve got most of the rest of hodge-podge of install scripts and maintenance scripts translated into Puppet and need to tackle this beast now. R is a programming language for statistics, basically, and has a few jillion add on package libraries, very much like PERL, and uses the CRAN (Comprehensive R Archive Network) to provide install mirrors of the package library all over the world. If there were a cran2rpm program, like PERL''s cpan2rpm, life would be easy, but there doesn''t seem to be such a beast. R includes a package handler that can be used to install packages automatically from the shell command line or from within a running R instance, and I''ve got an R program to do the installs, but no good way to manage the packages once they are installed. What''s the best way to handle this beast in Puppet? I''d like to have Puppet automate updating packaging as well as make sure the ones I want are installed. Ought I write an Rpackage type? --[Lance] -- Celebrate The Circle http://www.celebratethecircle.org/ Carolina Spirit Quest http://www.carolinaspiritquest.org/ My LiveJournal http://www.livejournal.com/users/labrown/ GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer
On Fri, Oct 26, 2007 at 06:23:51PM -0400, Lance A. Brown wrote:> I need to develop a way to manage the installation and update of R > packages under linux (CentOS), hopefully using Puppet. I''ve got most of > > If there were a cran2rpm program, like PERL''s cpan2rpm, life would be > easy, but there doesn''t seem to be such a beast. > > What''s the best way to handle this beast in Puppet? I''d like to have > Puppet automate updating packaging as well as make sure the ones I want > are installed. > > Ought I write an Rpackage type?Lance, If I were in your shoes I''d be investing my time in either creating one or more RPM packages, if I thought those R packages in use were unlikely to change too often, or creating the hypothetical cran2rpm program. Doubtless there will be people who disagree with me, but my point of view is that there is already central package management for the system. Adding another package management type only serves to increase the administrative overhead. I''ve never dealt with ''R'' packages, but if they''re simple text files then building a cran2rpm script shouldn''t be too difficult. If they can have dependencies on system libraries (as CPAN modules can) then building the utility will be more difficult, but also even more useful, as the package can specify the dependencies. Regards, -- Sam Bashton - Bashton Ltd, Manchester, England Linux Consultancy / VOIP Telephony / High Availability Systems www.bashton.com - 0161-424-9600 _______________________________________________ Puppet-users mailing list Puppet-users@madstop.com https://mail.madstop.com/mailman/listinfo/puppet-users
Sam Bashton said the following on 10/27/2007 3:39 AM:> > If I were in your shoes I''d be investing my time in either creating one > or more RPM packages, if I thought those R packages in use were unlikely to > change too often, or creating the hypothetical cran2rpm program. > > Doubtless there will be people who disagree with me, but my point of view > is that there is already central package management for the system. > Adding another package management type only serves to increase the > administrative overhead. > > I''ve never dealt with ''R'' packages, but if they''re simple text files > then building a cran2rpm script shouldn''t be too difficult. If they can > have dependencies on system libraries (as CPAN modules can) then > building the utility will be more difficult, but also even more useful, > as the package can specify the dependencies.Some of the packages are just pure R, but many have C, C++, or FORTRAN code that needs to be compiled into shared libraries. Most of them use configure and make system to build themselves. I think you''re right that I should work on making RPMs out of these. Then I can just drop them in my local repo and be done with it. --[Lance]> > Regards, > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Puppet-users mailing list > Puppet-users@madstop.com > https://mail.madstop.com/mailman/listinfo/puppet-users-- Celebrate The Circle http://www.celebratethecircle.org/ Carolina Spirit Quest http://www.carolinaspiritquest.org/ My LiveJournal http://www.livejournal.com/users/labrown/ GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer
On Sat, Oct 27, 2007 at 01:58:04PM -0400, Lance A. Brown wrote :> Sam Bashton said the following on 10/27/2007 3:39 AM: > > > > If I were in your shoes I''d be investing my time in either creating one > > or more RPM packages, if I thought those R packages in use were unlikely to > > change too often, or creating the hypothetical cran2rpm program.Well you may want to have a look at : http://wiki.debian.org/AliothPkgBioc The name is somehow misleading, but it''s currently a [cran,biocondutor,omegahat]2deb. So I am pretty sure than you just need to rewrite the CRAN2DEB.pm in CRAN2RPM.pm (debian specific part). If you want more, explanation or have more questions about this, feel free to contact the mailing-list or me directly. Regards, David> > > > Doubtless there will be people who disagree with me, but my point of view > > is that there is already central package management for the system. > > Adding another package management type only serves to increase the > > administrative overhead. > > > > I''ve never dealt with ''R'' packages, but if they''re simple text files > > then building a cran2rpm script shouldn''t be too difficult. If they can > > have dependencies on system libraries (as CPAN modules can) then > > building the utility will be more difficult, but also even more useful, > > as the package can specify the dependencies. > > Some of the packages are just pure R, but many have C, C++, or FORTRAN > code that needs to be compiled into shared libraries. Most of them use > configure and make system to build themselves. > > I think you''re right that I should work on making RPMs out of these. > Then I can just drop them in my local repo and be done with it. > > --[Lance] > > > > > Regards, > > > > > >