Advertisement
Guest User

perl-install-dir

a guest
Aug 17th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.08 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. PERL=`which perl`
  4. INSTALLDIR=$1
  5. shift
  6.  
  7. if [ $INSTALLDIR == "-h" ]; then
  8.     echo "Usage: $0 [-h] <directory> <module> [<module> [<module>]]"
  9.     echo
  10.     exit
  11. fi
  12.  
  13. if [ "$INSTALLDIR" == "" ]; then
  14.     echo "Missing <directory>"
  15.     exit
  16. fi
  17. if [[ ! "$INSTALLDIR" =~ ^\/ ]]; then
  18.     INSTALLDIR=`pwd`"/$INSTALLDIR"
  19. fi
  20.  
  21. MODULENAME="$@"
  22. if [ -z $MODULENAME ]; then
  23.     echo "Missing <module> [<module> [<module>]]"
  24.     exit
  25. fi
  26.  
  27. echo "Install $MODULENAME into $INSTALLDIR"
  28.  
  29. export PERL5LIB=$INSTALLDIR/lib/perl5
  30. export PERL_MM_OPT="INSTALL_BASE=$INSTALLDIR"
  31. export PERL_MB_OPT="--install_base=$INSTALLDIR"
  32. export PERL_LOCAL_LIB_ROOT=$INSTALLDIR
  33. export PATH=$INSTALLDIR/bin:$PATH
  34.  
  35. # run install
  36. for module in $( echo "$MODULENAME" ); do
  37.     if [ ! -z $FORCE_INSTALL ]; then
  38.         $PERL -MCPAN -e 'CPAN::Shell->force( qw/ notest install /, "'$module'");'
  39.     else
  40.         $PERL -MCPAN -e 'CPAN::install( "'$module'" );'
  41.     fi
  42.    
  43.     if [ $? -gt 0 ]; then
  44.         echo
  45.         echo "**** Error in $module *****"
  46.         echo
  47.         exit 1
  48.     fi
  49. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement