NAME
cpan-packager - create redhat/debian packages from perl modules
SYNOPSIS
case1: build a module
sudo cpan-packager --module Test::Exception --builder Deb --conf conf/config.yaml --verbose
case2: build multiple modules at a time
sudo cpan-packager --modulelist modulelist.txt --builder RPM --conf conf/config.yaml --verbose
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) --verbose print command result (optional)
RPM/Deb Packages are generated at ~/.cpanpackager/{deb or rpm}
Configuration location and schema
config.yaml is located at github repo.
See http://github.com/dann/p5-cpan-packager
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
CPAN::Packager downloads modules from cpan_mirrors if you set CPAN mirror uri in your config.
---
global:
cpan_mirrors:
- http://ftp.funet.fi/pub/languages/perl/CPAN/
- file:///home/dann/minicpan
Use cpan-packager with minicpan
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
Specify installation location (optional)
It is possible for a CPAN::Packager user to explicitly specify installation locations for a distribution's libraries, documentation, man pages, binaries, and scripts. Setting both of the below environment variables, for example, will accomplish this.
PERL_MM_OPT="INSTALLVENDORMAN1DIR=/usr/local/share/man/man1
INSTALLVENDORMAN3DIR=/usr/local/share/man/man3
INSTALLVENDORBIN=/usr/local/bin INSTALLVENDORSCRIPT=/usr/local/bin"
PERL_MB_OPT="--config installvendorman1dir=/usr/local/share/man/man1
--config installvendorman3dir=/usr/local/share/man/man3 --config
installvendorbin=/usr/local/bin --config
installvendorscript=/usr/local/bin"
Additionally, for RPMs, you may specify the directory in which non-man documentation (Changes, README, etc) are installed via adding an entry to your ~/.rpmmacros file:
%_defaultdocdir /usr/local/share/doc
Additional setup (For debian users)
Copy conf/debian/rules* to ~/.dh-make-perl directory. copying perllocal.pod is conflited if you dont do that.
DESCRIPTION
cpan-packager will create the files required to build a debian or redhat source package out of a perl package. This works for most simple packages and is also useful for getting started with packaging perl modules. Given a perl package name, it can also automatically download it from CPAN.
BUGS
Please report any bugs or feature requests to "<bug-CPAN-Packagerat rt.cpan.org>", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPAN-Packager>. I will be notified, and then you’ll automatically be notified of progress on your bug as I make changes.
AUTHOR
Takatoshi Kitano <kitano.tk@gmail.com>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 122:
Non-ASCII character seen before =encoding in 'you’ll'. Assuming UTF-8