From: Matt S Trout <mst@shadowcat.co.uk>
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<local::lib|local::lib> 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<App::FatPacker>.
+
+=cut