Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
- cpan2rpm -

This script generates an RPM package from a Perl module.  It uses the
standard RPM file structure and creates a spec file, a source RPM, and
a binary, leaving these in their respective directories.

The script can operate on local files, urls and CPAN module names.
Install this package if you want to create RPMs out of Perl modules.


cpan2rpm is distributed in RPM format.  To install: download the file
and issue the following command:

	rpm -Uvh cpan2rpm-x.xx-x.noarch.rpm

Alternatively you can supply rpm with a url, like this:

	rpm -Uvh http://somelocation/cpan2rpm*.rpm

If a package for your platform is not available, download the .src RPM
and rebuild.  You can also simply download the tarball and rebuild it
like this:

	rpmbuild -ta cpan2rpm-*.tar.gz

after which the resulting package will be located in



1) cpan2rpm can fetch tarballs from URLs.  To do this it needs either LWP
installed, or the HTTP::Lite module.  If neither of these is available, the
system will try various external programs e.g. lynx, ncftp, etc.  You can
get an RPM of HTTP::Lite from our web site (the source RPM is also
available) but should the package not be available for your platform you
can also bootstrap it like this (thanks to Jim Radford for this suggestion):

	./cpan2rpm  HTTP::Lite
	rpm -Uvh .../HTTP-Lite-<version-release.arch>.rpm
	./cpan2rpm cpan2rpm-1.49.tar.gz
	rpm -Uvh .../cpan2rpm-1.49-1.noarch.rpm

2) To fix a problem with the rpm-build dependency generator, we've
included the file perl.req.patch which may need be applied as root.
For further information please see the docs for the --req-scan-all switch.
The patch may be applied as follows:

	sudo patch -p0 < perl.req.patch

3) For dependencies to work the RH requirements script must be
executable (at the time of this writing rpm-build ships without this
script in the correct mode).  You can do this with:

	sudo chmod +x /usr/lib/rpm/perl.req

4) You may also encounter build problems if you are using a version
of ExtUtils::MakeMaker between 5.91 and 6.05.  Much effort has gone
into trying to make cpan2rpm work with differing versions of this
module and the best solution is simply to upgrade.  Note: If you are
running an earlier version of MakeMaker, you should not be required
to upgrade.

To upgrade, execute the following line:

	./cpan2rpm --shadow-pure --install ExtUtils::MakeMaker

5) cpan2rpm does not support passive mode when using ftp to retrieve
tarballs, however, the wget utility may be configured to use passive
mode by including the line below in ~/.wgetrc:

    passive_ftp = on

Note that whilst cpan2rpm will firts try other means of retrieval, if
these fail (and they will when beind firewalls) wget will eventually
get run, assuming it is installed on your system.

6) If you are building on Redhat 9.0 and are experiencing weird
problems with corrupt makefiles, please be aware there is a bug
with the perl package shipped with that distribution.  The short
answer is: do not set your LANG environment variable to UTF, the
problem has something to do with UTF translations.  Do something
like this:

    # export LANG=en_US

For more information see:


For full documentation see the accompanying man page or refer to


For help and thank you notes, e-mail  To review
known issues, report a new bug, submit a patch, or add to the
wishlist, please visit:

$Id: README,v 2.11 2004-03-12 22:21:31 ekkis Exp $


A utility to produce RPM packages from CPAN modules




No releases published


No packages published

Contributors 4