#!/bin/bash # Check for expat library EXPATLIB=libexpat.a if [ -f /lib/$EXPATLIB ]; then found=1 elif [ -f /usr/lib/$EXPATLIB ]; then found=1 elif [ -f /usr/local/lib/$EXPATLIB ]; then found=1 else echo "Expat library not found, please install: http://sourceforge.net/projects/expat" exit fi # USE THE CORRECT PERL BINARY AND TMP DIRS whichos=`uname` PATCHER=patch if [ "$whichos" = "SunOS" ]; then PATH=/usr/local/bin:/usr/ccs/bin:$PATH PATCHER=gpatch fi PATH=$PWD/PerlSrc/perl/bin:$PATH export PATH TEMPDIR=$PWD/tmp TMP=$PWD/tmp export TMP export TEMPDIR if [ -d tmp ]; then /bin/rm -rf tmp fi mkdir tmp # UNPACK AND BUILD REQUIRED MODULES if [ -d PerlModules ]; then /bin/rm -rf PerlModules fi mkdir PerlModules cd PerlModules perl -e 'use ExtUtils::Installed; my ($inst) = ExtUtils::Installed->new(); my (@modules) = $inst->modules(); foreach (@modules) { my $vrs = $inst->version($_); print "$_\t$vrs\n"; }' > cur-modules.list # ... FOR PAR for ff in `cat ../par-deps.list`; do f=`echo $ff | sed -e 's/::/-/g'` if [ "$ff" = "HTML::Tree" ] ; then ff="HTML-Tree" fi have=`egrep "^$ff" cur-modules.list | wc -l | awk '{ print $1; }'` if [ $have -gt 0 ] ; then echo $ff already installed continue fi echo INSTALLING $f gzip -dc ../Tars/$f-[0-9]*.tar.gz | tar xvf - #tar zxvf ../Tars/$f-[0-9]*.tar.gz cd $f-[0-9]* if [ -f Makefile ] ; then make clean /bin/rm Makefile.old fi if [ "$f" = "libwww-perl" ] ; then yes "n" | perl Makefile.PL elif [ "$f" = "Math-Pari" ] ; then gzip -dc ../../Tars/pari-2.1.7.tgz | tar xvf - #tar zxvf ../../Tars/pari-2.1.7.tgz perl Makefile.PL machine=none elif [ "$f" = "HTML-Parser" ] ; then yes "no" | perl Makefile.PL elif [ "$f" = "Crypt-OpenPGP" ] ; then yes "n" | perl Makefile.PL elif [ "$f" = "Module-Signature" ] ; then yes "n" | perl Makefile.PL else perl Makefile.PL fi sleep 4 make make test sleep 2 make install cd .. done # Build PAR have=`egrep "^PAR[^:A-Za-z0-9]" cur-modules.list | wc -l | awk '{ print $1; }'` if [ $have -gt 0 ] ; then echo PAR already installed else echo INSTALLING PAR gzip -dc ../Tars/PAR-[0-9]*.tar.gz | tar xvf - # tar zxvf ../Tars/PAR-[0-9]*.tar.gz cd PAR-[0-9]* if [ -f Makefile ] ; then make clean /bin/rm Makefile.old fi perl Makefile.PL make make test sleep 2 make install cd .. fi # Reset module list /bin/rm cur-modules.list perl -e 'use ExtUtils::Installed; my ($inst) = ExtUtils::Installed->new(); my (@modules) = $inst->modules(); foreach (@modules) { my $vrs = $inst->version($_); print "$_\t$vrs\n"; }' > cur-modules.list # ... FOR VCP # # unzip any zips # for ff in ../Tars/*.zip; do unzip $ff done for ff in `cat ../vcp-deps.list`; do f=`echo $ff | sed -e 's/::/-/g'` if [ "$ff" = "HTML::Tree" ] ; then ff="HTML-Tree" fi if [ "$ff" = "HTML::Format" ] ; then ff="HTML-Format" fi have=`egrep "^$ff" cur-modules.list | wc -l | awk '{ print $1; }'` if [ $have -gt 0 ] ; then echo $ff already installed continue fi echo INSTALLING $f gzip -dc ../Tars/$f-*.tar.gz | tar xvf - #tar zxvf ../Tars/$f-*.tar.gz cd $f-[0-9]*.* if [ -f Makefile ] ; then make clean /bin/rm Makefile.old fi perl Makefile.PL if [ "$f" = "PodToHTML" ]; then # Patch the HTML_Elements.pm file $PATCHER -R -i ../../PodToHTML.Pod.HTML_Elements.pm.patch Pod/HTML_Elements.pm fi make make test sleep 2 make install cd .. done
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 6118 | Dimitry Andric | Integ from //public/revml to //guest/dimitry_andric/revml/main. | ||
//guest/perforce_software/revml/product/BUILD/build-modules.sh | |||||
#8 | 5239 | alan_teague | Fixed typos in copying over changes from offline deltas | ||
#7 | 5237 | alan_teague | Revised build files to reflect updated modules and revised calls required for Solaris | ||
#6 | 4435 | alan_teague | Binary build instructions for Solaris and Windows | ||
#5 | 4368 | alan_teague | Revised for Solaris, templates created for platform INSTALL instructions | ||
#4 | 4351 | alan_teague | Really making the change from tar zxvf to gzip -dc | tar xvf | ||
#3 | 4350 | alan_teague | Changed tar zxvf to be gzip -dc | tar xvf - | ||
#2 | 4344 | alan_teague |
Revised productization files updating to latest perl modules and normalizing scripts to work on both linux and bsd platforms. |
||
#1 | 4311 | alan_teague |
Initial versions of productization files and scripts. All are draft quality submitted for review. |