I've posted this about 6 months ago, but got no feedback. I guess I'll just go ahead and release the module.
-------- Original Message --------
Subject: RFC: CPAN::Grab
Date: Thu, 6 Sep 2001 17:28:02 +0800 (SGT)
From: Stas Bekman <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
CC: "Andreas J. Koenig" <[EMAIL PROTECTED]>
I've attached a new module (very small) called CPAN::Grab.
Andreas, any chance we can integrate it with CPAN dist?
Here is the doc, the questions are at the end.
NAME
CPAN::Grab - Grab a bundle or a number of modules from CPAN and
package them into one buildable tar.
SYNOPSIS
% perl -MCPAN::Grab -wegrab MyLocalBundle 0.1 Bundle::Apache
% perl -MCPAN::Grab -wegrab MyCoolBundle 0.1 MD5 CGI
DESCRIPTION
This package does a very simple thing. It grabs the source packages
from
CPAN, using "CPAN.pm" and puts them all into a single *tar.gz*, that
later can be installed in one command. Sometimes it's important that we
provide an easy way to provide all the required package, to save a
hassle to users especially if they have to use our software, but know
little or no Perl at all and don't know how to use CPAN shell to
install
all the required packages. Releasing Bundles and properly defining
prerequisites is important, and we go one step further to actually
provide sort of SDK.
This package relies on the locally working CPAN shell. If you didn't
configure your CPAN.pm, do it now. If normally CPAN.pm works for you,
this package should work too.
CAVEATS
Some packages' build is interactive (i.e. user input is expected).
Therefore we use CPAN's *inactivity_timeout* attribute to interrupt the
awaiting for user's input after a few seconds, which works in *perl
Makefile.PL* stage, but not during *make*. In the latter case you have
to manually satisfy the requested input or interrupt it. Since here we
completely rely on CPAN shell to do the right thing, there is not much
we can do.
USAGE
To grab the packages *Foo* and *Bar* (which can be single modules, or
bundles) and pack them into a package *FooBar* version 0.2, execute:
% perl -MCPAN::Grab -wegrab FooBar 0.2 Foo Bar
this will create FooBar-0.2.tar.gz in the current directory.
Now to install the contents of this package, run:
% tar -xzvf FooBar-0.2.tar.gz
% cd FooBar
% perl Makefile.PL && make install
The last command will go through all the source packages and run:
% perl Makefile.PL && make install
in every one.
AUTHORS
Stas Bekman <[EMAIL PROTECTED]>
Inspired by Doug MacEachern <[EMAIL PROTECTED]>
__END_OF_DOC__
Also Barrie Slaymaker has suggested that MakeMaker will be aware of this
module and take a use of PREREQ_PM, so authors can produce a version of
their module with all the prerequisites in the same package. This could be
done via:
make prereq_dist
Now the questions:
- Should it go to CPAN on its own?
- Should it be integrated with CPAN.pm shell?
- Should MakeMaker be aware of it?
- Is CPAN::Grab is the right name?
Thanks!
_____________________________________________________________________
Stas Bekman JAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide http://perl.apache.org/guide
mailto:[EMAIL PROTECTED] http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
--
_____________________________________________________________________
Stas Bekman JAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide http://perl.apache.org/guide
mailto:[EMAIL PROTECTED] http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
CPAN-Grab-0.1.tar.gz
Description: Binary data
