Annotation of embedaddon/php/makedist, revision 1.1

1.1     ! misho       1: #!/bin/sh
        !             2: #
        !             3: # Distribution generator for SVN based packages.
        !             4: # To work, this script needs a consistent tagging of all releases.
        !             5: # Each release of a package should have a tag of the form
        !             6: #
        !             7: #  <package>_<version>
        !             8: #
        !             9: # where <package> is the package name and the SVN module
        !            10: # and <version> s the version number with underscores instead of dots.
        !            11: #
        !            12: # For example: svn cp $PHPROOT/php/php-src/trunk $PHPROOT/php/php-src/tags/php_5_0_1
        !            13: #
        !            14: # The distribution ends up in a .tar.gz file that contains the distribution
        !            15: # in a directory called <package>-<version>.  The distribution contains all
        !            16: # directories from the SVN module except the one called "nodist", but only
        !            17: # the files INSTALL, README and config* are included.
        !            18: # A .tar.bz2 file is also created.
        !            19: #
        !            20: # Usage: makedist <package> <version>
        !            21: #
        !            22: # Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
        !            23: #
        !            24: # $Id: makedist 284087 2009-07-14 21:49:44Z gwynne $
        !            25: #
        !            26: 
        !            27: if test "$#" != "2"; then
        !            28:     echo "Usage: makedist <package> <version>" >&2
        !            29:     exit 1
        !            30: fi
        !            31: 
        !            32: PKG=$1 ; shift
        !            33: VER=$1 ; shift
        !            34: 
        !            35: old_IFS="$IFS"
        !            36: IFS=.
        !            37: eval set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
        !            38: if test "${1}" = "1" -a "${2}" -lt "28"; then
        !            39:   echo "You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)"
        !            40:   exit 10
        !            41: fi
        !            42: IFS="$old_IFS"
        !            43: 
        !            44: PHPROOT=http://svn.php.net/repository
        !            45: PHPMOD=php/php-src
        !            46: LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
        !            47: 
        !            48: if echo '\c' | grep -s c >/dev/null 2>&1
        !            49: then
        !            50:     ECHO_N="echo -n"
        !            51:     ECHO_C=""
        !            52: else
        !            53:     ECHO_N="echo"
        !            54:     ECHO_C='\c'
        !            55: fi
        !            56: 
        !            57: MY_OLDPWD=`pwd`
        !            58: 
        !            59: # the destination .tar.gz file
        !            60: ARCHIVE=$MY_OLDPWD/$PKG-$VER.tar
        !            61: 
        !            62: # temporary directory used to check out files from SVN
        !            63: DIR=$PKG-$VER
        !            64: DIRPATH=$MY_OLDPWD/$DIR
        !            65: 
        !            66: if test -d "$DIRPATH"; then
        !            67:     echo "The directory $DIR"
        !            68:     echo "already exists, rename or remove it and run makedist again."
        !            69:     exit 1
        !            70: fi
        !            71: 
        !            72: # version part of the SVN release tag
        !            73: SVNVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
        !            74: 
        !            75: # SVN release tag
        !            76: if test "$VER" != "HEAD" -a "$VER" != "trunk"; then
        !            77:   SVNTAG=tags/${PKG}_$SVNVER
        !            78: else
        !            79:   SVNTAG=trunk
        !            80: fi
        !            81: 
        !            82: #if test ! -d $DIRPATH; then
        !            83: #    mkdir -p $DIRPATH || exit 2
        !            84: #fi
        !            85: 
        !            86: # Export PHP
        !            87: $ECHO_N "makedist: exporting tag '$SVNTAG' from '$PHPMOD'...$ECHO_C"
        !            88: svn export $PHPROOT/$PHPMOD/$SVNTAG $DIRPATH || exit 4
        !            89: echo ""
        !            90: 
        !            91: # remove SVN stuff...
        !            92: cd $DIR || exit 5
        !            93: find . \( -name .svn -type d \) -exec rm -rf {} \;
        !            94: 
        !            95: # The full ChangeLog is available separately from lxr.php.net
        !            96: rm -f ChangeLog*
        !            97: 
        !            98: # hide away our own versions of libtool-generated files
        !            99: for i in $LT_TARGETS; do
        !           100:   if test -f "$i"; then
        !           101:     mv $i $i.bak
        !           102:     cp $i.bak $i
        !           103:   fi
        !           104: done
        !           105: 
        !           106: # generate some files so people don't need bison, flex and autoconf
        !           107: # to install
        !           108: set -x
        !           109: ./buildconf --copy --force
        !           110: 
        !           111: # remove buildmk.stamp. Otherwise, buildcheck.sh might not be run,
        !           112: # when a user runs buildconf in the distribution.
        !           113: rm -f buildmk.stamp
        !           114: 
        !           115: ./genfiles
        !           116: 
        !           117: # now restore our versions of libtool-generated files
        !           118: for i in $LT_TARGETS; do
        !           119:   test -f "$i" && mv $i.bak $i
        !           120: done
        !           121: 
        !           122: # download pear 
        !           123: $ECHO_N "makedist: Attempting to download PEAR's phar archive"
        !           124: if test ! -x wget; then
        !           125:        wget http://pear.php.net/install-pear-nozlib.phar -nd -P pear/
        !           126: else
        !           127:        $ECHO_N "Missing wget binary needed for pear download";
        !           128:        exit 0;
        !           129: fi
        !           130: 
        !           131: cd $MY_OLDPWD
        !           132: $ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
        !           133: rm -f $ARCHIVE.gz
        !           134: tar cf $ARCHIVE $PKG-$VER || exit 8
        !           135: gzip -9 $ARCHIVE || exit 9
        !           136: echo ""
        !           137: 
        !           138: $ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
        !           139: rm -f $ARCHIVE.bz2
        !           140: tar cf $ARCHIVE $PKG-$VER || exit 10
        !           141: bzip2 -9 $ARCHIVE || exit 11
        !           142: echo ""
        !           143: 
        !           144: $ECHO_N "makedist: cleaning up...$ECHO_C"
        !           145: rm -rf $DIRPATH || exit 12
        !           146: echo ""
        !           147: 
        !           148: exit 0

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>