--- App-Staticperl/staticperl.pod 2011/05/19 18:58:19 1.41 +++ App-Staticperl/staticperl.pod 2011/07/09 18:26:27 1.47 @@ -86,7 +86,7 @@ This means the modules to include often need to be tweaked manually. All this does not preclude more permissive modes to be implemented in -the future, but right now, you have to resolve state hidden dependencies +the future, but right now, you have to resolve hidden dependencies manually. =item * PAR works out of the box, F does not. @@ -204,7 +204,9 @@ Starts an interactive CPAN shell that you can use to install further modules. Installs the perl first if necessary, but apart from that, no magic is involved: you could just as well run it manually via -F<~/.staticperl/perl/bin/cpan>. +F<~/.staticperl/perl/bin/cpan>, except that F additionally +sets the environment variable C<$PERL> to the path of the perl +interpreter, which is handy in subshells. Any additional arguments are simply passed to the F command. @@ -568,6 +570,23 @@ # load the binary chomp (my $data = do "bindata.pl"); +=item C<--allow-dlls> + +By default, when F hits a dynamic perl extension (e.g. a F<.so> +or F<.dll> file), it will stop with a fatal error. + +This option instead packages the shared object into the bundle, with a +prefix of F<&fs/perl/> (e.g. F<&fs/perl/auto/List/Util/Util.so>). What you +do with that is up to you, F has no special support for this +at the moment, apart from working around the lack of availability of +F while bootstrapping, at a speed cost. + +One way to deal with this is to write all files starting with F<&fs/> into +some directory and Cing the path corresponding to F<&fs/perl/> +onto C<@INC>. + +#TODO: example + =back =item Step 2: filter all files using C<--include> and C<--exclude> options. @@ -884,11 +903,11 @@ The directory where staticperl stores all its files (default: F<~/.staticperl>). -=item C, C, ... +=item C -Usually set to C<1> to make modules "less inquisitive" during their -installation, you can set any environment variable you want - some modules -(such as L or L) use environment variables for further tweaking. +The path to a directory (will be created if it doesn't exist) where +downloaded perl sources are being cached, to avoid downloading them +again. The default is empty, which means there is no cache. =item C @@ -896,6 +915,13 @@ is also a good choice (5.8.9 is much smaller than 5.12.3, while 5.10.1 is about as big as 5.12.3). +=item C, C, ... + +Usually set to C<1> to make modules "less inquisitive" during their +installation. You can set (and export!) any environment variable you want +- some modules (such as L or L) use environment variables for +further tweaking. + =item C The prefix where perl gets installed (default: F<$STATICPERL/perl>), @@ -1169,7 +1195,7 @@ If you use C, then you should also be aware that uClibc shares C between all threads when statically linking. See L for a -workaround (And L for discussion). +workaround (and L for discussion). C support is also recommended, especially if you want to play around with buildroot options. Enabling the C @@ -1187,12 +1213,12 @@ built-in ash shell. Finally, you need F inside the chroot for many scripts to work -- F or bind-mounting your F will -both provide this. +- either F or bind-mounting your F +will provide this. After you have compiled and set up your buildroot target, you can copy F from the C distribution or from your -perl f directory (if you installed it) into the F +perl F directory (if you installed it) into the F filesystem, chroot inside and run it. =head1 RECIPES / SPECIFIC MODULES