[ANNOUNCE] CPAN::DistroBuilder v0.01

[email protected] (Stas Bekman) Thu, 14 Mar 2002 15:42:20 +0800
Newsgroups perl.sdk
Organization Hope, Humanized
Message-ID <[email protected]>
The uploaded file

     CPAN-DistroBuilder-0.01.tar.gz

has entered CPAN as

   file: $CPAN/authors/id/S/ST/STAS/CPAN-DistroBuilder-0.01.tar.gz
   size: 3977 bytes
    md5: 5607eb3df07d09b2150c40a43872602d

This is a very first version.

NAME
       CPAN::DistroBuilder - Create a distro from a bundle or a number 
of modules from CPAN

SYNOPSIS
       % perl -MCPAN::DistroBuilder -webuild ApacheSDK 0.1 Bundle::Apache

       % perl -MCPAN::DistroBuilder -webuild CoolSDK 0.1 MD5 CGI

DESCRIPTION
     This package does a very simple thing. It fetches the source packages
     from CPAN, using "CPAN.pm" and puts them all into a single *tar.gz*
     package ready for distribution. This distribution package later can be
     installed in one command and therefore very useful for users who 
have to
     use our software, but know little or no Perl at all and don't know how
     to use CPAN shell to fetch and install all the required packages.
     Releasing Bundles and properly defining prerequisites in the CPAN
     modules is very important, and we go one step further to actually
     provide sort of SDK.

     This package relies on the locally working "CPAN.pm"'s shell. If you
     didn't configure your "CPAN.pm", do it before using this package. 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.pm"'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.pm"'s shell to do the right thing, there 
is not
     much we can do. Remember that we have to run "perl Makefile.PL" to
     extract the prerequisites. You can adjust the value of the
     "inactivity_timeout" attribute in "CPAN::DistroBuilderConfig".

     Unfortunately some packages define they own interactive methods which
     CPAN cannot skip automatically, in this case you have to manually 
answer
     the question.

USAGE
     To package the packages or bundles *Foo* and *Bar* into a ready for
     distribution package *FooBar-0.2*, execute:

       % perl -MCPAN::DistroBuilder -webuild FooBar 0.2 Foo Bar

     this will create *FooBar-0.2.tar.gz* in the current directory.

     To install the contents of the created distribution package, run:

       % tar -xzvf FooBar-0.2.tar.gz
       % cd FooBar-0.2
       % perl Makefile.PL && make && make test && make install

     The last command will go through all the source packages and run:

       % perl Makefile.PL && make && make test && make install

     in every one. You may need to do the "make install" part as a root user
     if the files need to be installed system-wide.

     When the packages are fetches from CPAN they are saved in the
     *distro-build* directory (or a different one if you override the
     "build_dir" attribute in "CPAN::DistroBuilderConfig") created at the
     current directory. This directory is cleaned up automatically on the
     next invocation of the this tool, if invoked from the same directory.

     Notice that the build process is logged to the *make.out* file in the
     current directory.

     As a side-effect of using "CPAN.pm" is that it creates the *.cpan*
     directory in the current directory where it downloads the index files
     and the modules source packages.

AUTHORS
     Stas Bekman <[email protected]>

     Inspired by Doug MacEachern <[email protected]>

COPYRIGHT
     The "CPAN::DistroBuilder" module is free software; you can redistribute
     it and/or modify it under the same terms as Perl itself.



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