--- App-Staticperl/staticperl.sh 2010/12/07 19:55:56 1.8 +++ App-Staticperl/staticperl.sh 2010/12/08 22:27:35 1.11 @@ -63,7 +63,7 @@ # set version in a way that Makefile.PL can extract VERSION=VERSION; eval \ -$VERSION=0.1 +$VERSION=0.9 BZ2=bz2 BZIP2=bzip2 @@ -248,59 +248,69 @@ } install() { - [ -e "$PERL_PREFIX/staticstamp.install" ] && return + if ! [ -e "$PERL_PREFIX/staticstamp.install" ]; then + build - build - - verblock <"$PERL_PREFIX"/bin/cpan-make-install <"$PERL_PREFIX"/bin/cpan-make-install <"$PERL_PREFIX/lib/CPAN/MyConfig.pm" + # trick CPAN into avoiding ~/.cpan completely + echo 1 >"$PERL_PREFIX/lib/CPAN/MyConfig.pm" - "$PERL_PREFIX"/bin/perl -MCPAN -e ' - CPAN::Shell->o (conf => urllist => push => "'"$CPAN"'"); - CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan"); - CPAN::Shell->o (conf => q); - CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan"); - CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/build"); - CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/prefs"); - CPAN::Shell->o (conf => q , "'"$STATICPERL"'/cpan/histfile"); - CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/sources"); - CPAN::Shell->o (conf => q, "'"$PERL_PREFIX"'/bin/cpan-make-install"); - CPAN::Shell->o (conf => q, q); - CPAN::Shell->o (conf => q, q); - CPAN::Shell->o (conf => q); - ' || fatal "error while initialising CPAN" - - NOCHECK_INSTALL=+ - instcpan $STATICPERL_MODULES - [ $EXTRA_MODULES ] && instcpan $EXTRA_MODULES + "$PERL_PREFIX"/bin/perl -MCPAN -e ' + CPAN::Shell->o (conf => urllist => push => "'"$CPAN"'"); + CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan"); + CPAN::Shell->o (conf => q); + CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan"); + CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/build"); + CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/prefs"); + CPAN::Shell->o (conf => q , "'"$STATICPERL"'/cpan/histfile"); + CPAN::Shell->o (conf => q, "'"$STATICPERL"'/cpan/sources"); + CPAN::Shell->o (conf => q, "'"$PERL_PREFIX"'/bin/cpan-make-install"); + CPAN::Shell->o (conf => q, q); + CPAN::Shell->o (conf => q, q); + CPAN::Shell->o (conf => q); + ' || fatal "error while initialising CPAN" - postinstall || fatal "postinstall hook failed" + touch "$PERL_PREFIX/staticstamp.install" + fi + + if ! [ -e "$PERL_PREFIX/staticstamp.postinstall" ]; then + NOCHECK_INSTALL=+ + instcpan $STATICPERL_MODULES + [ $EXTRA_MODULES ] && instcpan $EXTRA_MODULES - touch "$PERL_PREFIX/staticstamp.install" + postinstall || fatal "postinstall hook failed" + + touch "$PERL_PREFIX/staticstamp.postinstall" + fi } ############################################################################# @@ -422,6 +432,11 @@ bundle --perl "$@" exit ;; + mkapp ) + ( install ) + bundle --app "$@" + exit + ;; help ) podusage 2 ;;