18 Feb 2019 13:44:24 UTC
- Distribution: App-FatPacker
- Source (raw)
- Browse (raw)
- How to Contribute
- Repository (git clone)
- Issues (18)
- Testers (2150 / 1 / 0)
- KwaliteeBus factor: 10
- 39.09% Coverage
- License: perl_5
- Perl: v5.8.0
- Activity24 month
- Download (11.9KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version++ed by:17 non-PAUSE usersMSTROUT Matt S Troutand 1 contributors
- mst - Matt S. Trout (cpan:MSTROUT)
fatpack - Command line frontend for App::FatPacker
$ fatpack pack myscript.pl > myscript.packed.pl
A shortcut to do all the work of tracing, collecting packlists, extracting modules in fatlib, then concatenating into a packed script - in one shot. If you need more detailed controls for additional modules, use the following commands separately (see "RECIPES").
$ fatpack trace [--to=trace-file|--to-stderr] [--use=MODULE] 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.
If the --use option specifies a module (or modules, if used multiple times) those modules will be additionally included in the trace output.
$ 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 local::lib first is the preferred workaround.
$ 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.
$ 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.
Current basic recipe for packing:
$ fatpack trace myscript.pl $ fatpack packlists-for `cat fatpacker.trace` >packlists $ fatpack tree `cat packlists` $ fatpack file myscript.pl >myscript.packed.pl
See the corresponding sections in App::FatPacker.
Module Install Instructions
To install App::FatPacker, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell install App::FatPacker
For more information on module installation, please visit the detailed CPAN module installation guide.