CPAN::SDKMaker

[email protected] (Stas Bekman) Thu, 07 Mar 2002 15:05:40 +0800
Newsgroups perl.sdk
Organization Hope, Humanized
Message-ID <[email protected]>
Hope that this list is alive and kicking

We were discussing a module that I wrote: CPAN::Grab at module-authors 
list: http://archive.develooper.com/[email protected]/msg00331.html
and were thinking of a better name, I've suggested CPAN::SDKMaker which 
lead me to think that it actually belongs to the SDK discussion. So what 
do you think? I've attached the description at the end

Since I haven't followed the SDK development. Do you have something like 
CPAN::Grab already, or does my tool gives some good start?

Here it the thread with some good ideas in it:
http://archive.develooper.com/[email protected]/index.html#00331

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


_____________________________________________________________________
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/