Posted: 2009-09-12 18:46:56 by Alasdair Keyes
When developing new applications, I often find that I make use of CPAN (Comprehensive Perl Archive Network) http://search.cpan.org and use modules in applications that I write.
The standard way of installing modules is by using cpan from the command line
# cpan -i Perl::Module
This is fine when installing the module on just one server, but if you have a cluster or the module needs to be distributed to other machines, running cpan on each is time consuming and difficult to script, especially if the module needs to be installed automatically on newly built machines.
The answer for this is cpan2rpm, it holds no suprises, it takes an module from CPAN and builds an RPM for it, you can then add the RPM to a YUM repository.
Download it here http://sourceforge.net/projects/cpan2rpm/ I'm going with the RPM as it makes installation so much easier
It has a number of dependencies, mostly perl modules, but also rpm-build, so make sure you have that installed
# wget http://sourceforge.net/projects/cpan2rpm/files/cpan2rpm/2.027/cpan2rpm-2.027-1.noarch.rpm/download # yum install rpm-build # rpm -ivh cpan2rpm-2.027-1.noarch.rpm
There are many options for it, you can add author information and also sign the generated RPM, but for simple use that's not necessary, something as simple as
# cpan2rpm --no-sign Perl::Module -- cpan2rpm - Ver: 2.027 -- Upgrade check Fetch: HTTP -- module: Perl::Module -- Found perl-module-1.00.tar.gz ... ... ... + exit 0 RPM: /usr/src/redhat/RPMS/noarch/perl-Perl-Module-1.00.noarch.rpm SRPM: /usr/src/redhat/SRPMS/perl-Perl-Module-1.00.src.rpm -- Done -- + Terminated perl_module
You can then install the RPM on your machine
# rpm -ivh usr/src/redhat/RPMS/noarch/perl-Perl-Module-1.00.noarch.rpm
If you found this useful, please feel free to donate via bitcoin to 1NT2ErDzLDBPB8CDLk6j1qUdT6FmxkMmNz
I'm now available for IT consultancy and software development services - Cloudee LTD.
Happy user of Digital Ocean (Affiliate link)