Skip to content
No description or website provided.
Perl Shell
Find file
Pull request Compare This branch is 4 commits ahead, 47 commits behind bobtfish:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
patched-local-lib
root
script
t
Changes
Makefile.PL
README
locallibapp.conf

README

So... this is an implementation of Catalyst's scripts that use local::lib

Unfortunately, stock local::lib doesn't seem to work right! So I had to make some small patches.

    1. Favor $PERL5LIB over priv/archexplib
    2. Untaint @INC, so perl programs that do taint checking (-T) don't compain
    3. Only re-export the $PER5LIB we started with, so @INC doesn't grow and grow and grow (use ./recursive-print to see this)

The patch is in local-lib.diff (script/local-lib.diff)

All in all, it works pretty well, and most of CPAN is well behaved

* Test::Simple (t/exit.t) is a problem, because it uses a custom perl invocation (that munges with @INC), won't install
* ExtUtils::MakeMaker fails a ton of tests (but this is just ignored?), won't install
* Mouse has a failing test, won't install

How to make a self-contained script:

< use FindBin;
< use lib "$FindBin::Bin/../lib";

> use FindBin;
> BEGIN { do "$FindBin::Bin/env" or die $@ }

Maybe env should be called "local-lib-env" or "lib-env"?

Procedure:

    # To bootstrap local::lib
    cd patched-local-lib
    /path/to/locallibapp/script/cpan -i .

    # To install Catalyst
    cd locallibapp
    ./script/cpan -i -f Test::Simple
    ./script/cpan -i -f Mouse
    ./script/cpan -i Module::Install
    ./script/make-installdeps
    ./script/catalyst-server
Something went wrong with that request. Please try again.