/usr/bin/fatpack is in libapp-fatpacker-perl 0.010007-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #!/usr/bin/env perl
use App::FatPacker -run_script;
=head1 NAME
fatpack - Command line frontend for App::FatPacker
=head1 COMMANDS
=head2 pack
$ 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 L</RECIPES>).
=head2 trace
$ 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.
=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 fatpacker.trace` >packlists
$ fatpack tree `cat packlists`
$ fatpack file myscript.pl >myscript.packed.pl
=head1 COPYRIGHT, LICENSE, AUTHOR
See the corresponding sections in L<App::FatPacker>.
=cut
|