From: Matt S Trout Date: Thu, 25 Mar 2010 09:04:15 +0000 (+0000) Subject: Changes for 0.009001 (first release) X-Git-Tag: v0.9.4~12 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a5e340ba23372cdf9d42d47cf9b4890a8129a7ca;p=p5sagit%2FApp-FatPacker.git Changes for 0.009001 (first release) --- diff --git a/Changes b/Changes new file mode 100644 index 0000000..d15d49b --- /dev/null +++ b/Changes @@ -0,0 +1,2 @@ +2010-03-25 + - Initial release diff --git a/bin/fatpack b/bin/fatpack new file mode 100644 index 0000000..3024f04 --- /dev/null +++ b/bin/fatpack @@ -0,0 +1,70 @@ +#!/usr/bin/env perl + +use App::FatPacker -run_script; + +=head1 NAME + +fatpack - Command line frontend for App::FatPacker + +=head1 COMMANDS + +=head2 trace + + $ fatpack trace [--to=trace-file|--to-stderr] myscript.pl + +Compiles myscript.pl (as in "perl -c") and writes out a trace file containing +every module require()d during the compilation. + +The trace file is called 'fatpacker.trace' by default; the --to option +overrides this. + +If you pass --to-stderr fatpack writes the trace to STDERR instead. + +You cannot pass both --to and --to-stderr. + +=head2 packlists-for + + $ fatpack packlists-for Module1 Module2 Module3 + +Searches your perl's @INC for .packlist files containing the .pm files for +the modules requested and emits a list of unique packlist files to STDOUT. + +These packlists will, in a pure cpan-installation environment, be all non-core +distributions required for those modules. + +Unfortunately most vendors strip the .packlist files so if you installed +modules via e.g. apt-get you may be missing those modules; installing your +dependencies into a L first is the preferred workaround. + +=head2 tree + + $ fatpack tree fatlib packlist1 packlist2 packlist3 + +Takes a list of packlist files and copies their contents into a tree at the +requested location. + +This tree should be sufficient to 'use lib' to make available all modules +provided by the distributions whose packlists were specified. + +=head2 file + + $ fatpack file + +Recurses into the 'lib' and 'fatlib' directories and bundles all .pm files +found into a BEGIN block which adds a virtual @INC entry to load these files +from the bundled code rather than disk. + +=head1 RECIPES + +Current basic recipe for packing: + + $ fatpack trace myscript.pl + $ fatpack packlists-for `cat factpacker.trace` >packlists + $ fatpack tree fatlib `cat packlists` + $ (fatpack file; cat myscript.pl) >myscript.packed.pl + +=head1 COPYRIGHT, LICENSE, AUTHOR + +See the corresponding sections in L. + +=cut