Coder Social home page Coder Social logo

cpan2rpm's Introduction

- 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.

- INSTALLATION -

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

	/usr/src/redhat/RPMS/<your-platform-here>

- NOTES & FIXES -

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:

    http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=87682

- DOCUMENTATION -

For full documentation see the accompanying man page or refer to

	http://perl.arix.com/cpan2rpm/

- SUPPORT -

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

    http://rt.cpan.org/NoAuth/Bugs.html?Dist=cpan2rpm

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.