CPAN::Packager - CPAN::Packager is yet another packager
What is CPAN::Packager
CPAN::Packager is a tool to help you make packages from perl modules on CPAN. This makes it so easy to make a perl module into a Redhat/Debian package
INSTALLATION
CPAN::Packager installation is straightforward. If your CPAN shell is set up, you should just be able to do
% cpan CPAN::Packager
Download it, unpack it, then build it as per the usual:
% perl Makefile.PL
% make && make test
Then install it:
% make install
Patches
CPAN::Packager uses cpanflute2 to build rpm. but it has the bug which cpanflute2 doesnt build the module which use Build.PL. Please apply the patch below if you need to build the module which uses Build.PL
github.com/dann/p5-cpan-packager/master
patches/cpanflute2_module_build.patch
How to use
case1: build a module
sudo cpan-packager --module Test::Exception --builder Deb --conf conf/config.yaml
case2: build multiple modules at a time
sudo cpan-packager --modulelist modulelist.txt --builder RPM --conf conf/config.yaml
options --module module name (required option) --builder Deb or RPM (optional. default is Deb) --conf configuration file path (required) --always-build always build cpan modules if module is aready installed (optional) --modulelist File containing a list of modules that should be built. (optional)
RPM/Deb Packages are generated at /tmp/cpanpackager/{deb or rpm}
config.yaml is located at github repo.
See http://github.com/dann/cpan-packager/tree/master
Please see the configuration schema if you want to write config your self. You can see schema like below.
perldoc CPAN::Packager::Config::Schema
Configure CPAN mirrors
Set cpan mirror uri in your config. CPAN::Packager downloads modules from cpan_mirrors
---
global:
cpan_mirrors:
- file:///home/dann/minicpan
- http://ftp.funet.fi/pub/languages/perl/CPAN/
Use cpan-packager with minicpan (Optional)
You can use minicpan with CPAN::Packager. At first, you mirror CPAN modules with minicpan.
minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l ~/minicpan
Set cpan mirrors uri in your config if you want to use minicpan. after that you just use cpan-packager ;)
---
global:
cpan_mirrors:
- file:///home/dann/minicpan
Author
Takatoshi Kitano techmemo@gmail.com
special thanks: walf443