Annotation of embedaddon/php/makedist, revision 1.1.1.3

1.1       misho       1: #!/bin/sh
                      2: #
1.1.1.2   misho       3: # Distribution generator for git
1.1       misho       4: #
1.1.1.2   misho       5: # Usage: makedist version
                      6: # Example: makedist 5.4.1
1.1.1.3 ! misho       7: # Example: makedist 5.3.5RC1
1.1       misho       8: #
1.1.1.2   misho       9: # To work, this script needs a consistent tagging of all releases.
                     10: # Each release of a package should have a tag of the form
1.1       misho      11: #
1.1.1.3 ! misho      12: #  php-X.Y.Z[sub]
1.1       misho      13: #
                     14: # The distribution ends up in a .tar.gz file that contains the distribution
1.1.1.2   misho      15: # in a directory called php-<version>.  
1.1       misho      16: # A .tar.bz2 file is also created.
1.1.1.2   misho      17: # 
1.1       misho      18: # Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
1.1.1.2   misho      19: # Adapted to git by Stanislav Malyshev <stas@php.net>
1.1       misho      20: 
1.1.1.2   misho      21: 
                     22: if test "$#" != "1"; then
                     23:     echo "Usage: makedist <version>" >&2
1.1       misho      24:     exit 1
                     25: fi
                     26: 
                     27: VER=$1 ; shift
                     28: 
                     29: old_IFS="$IFS"
                     30: IFS=.
                     31: eval set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
                     32: if test "${1}" = "1" -a "${2}" -lt "28"; then
                     33:   echo "You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)"
1.1.1.2   misho      34:   exit 2
1.1       misho      35: fi
                     36: IFS="$old_IFS"
                     37: 
1.1.1.2   misho      38: PHPROOT=git@git.php.net:php-src.git
1.1       misho      39: LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
                     40: 
                     41: if echo '\c' | grep -s c >/dev/null 2>&1
                     42: then
                     43:     ECHO_N="echo -n"
                     44:     ECHO_C=""
                     45: else
                     46:     ECHO_N="echo"
                     47:     ECHO_C='\c'
                     48: fi
                     49: 
                     50: MY_OLDPWD=`pwd`
                     51: 
                     52: # the destination .tar.gz file
1.1.1.2   misho      53: ARCHIVE=$MY_OLDPWD/php-$VER.tar
1.1       misho      54: 
                     55: # temporary directory used to check out files from SVN
1.1.1.2   misho      56: DIR=php-$VER
1.1       misho      57: DIRPATH=$MY_OLDPWD/$DIR
                     58: 
                     59: if test -d "$DIRPATH"; then
                     60:     echo "The directory $DIR"
                     61:     echo "already exists, rename or remove it and run makedist again."
                     62:     exit 1
                     63: fi
                     64: 
                     65: # Export PHP
1.1.1.3 ! misho      66: $ECHO_N "makedist: exporting tag 'php-$VER' from '$PHPROOT'...$ECHO_C"
        !            67: git archive --format=tar --remote=$PHPROOT refs/tags/php-$VER --prefix=php-$VER/ | (cd $MY_OLDPWD; tar xvf -) || exit 4
1.1       misho      68: echo ""
                     69: 
                     70: cd $DIR || exit 5
                     71: 
                     72: # hide away our own versions of libtool-generated files
                     73: for i in $LT_TARGETS; do
                     74:   if test -f "$i"; then
                     75:     mv $i $i.bak
                     76:     cp $i.bak $i
                     77:   fi
                     78: done
                     79: 
                     80: # generate some files so people don't need bison, flex and autoconf
                     81: # to install
                     82: set -x
                     83: ./buildconf --copy --force
                     84: 
                     85: # remove buildmk.stamp. Otherwise, buildcheck.sh might not be run,
                     86: # when a user runs buildconf in the distribution.
                     87: rm -f buildmk.stamp
                     88: 
                     89: ./genfiles
                     90: 
                     91: # now restore our versions of libtool-generated files
                     92: for i in $LT_TARGETS; do
                     93:   test -f "$i" && mv $i.bak $i
                     94: done
                     95: 
1.1.1.2   misho      96: # removing junk files
                     97: find . -name \*.orig -print0 | xargs -0 rm
                     98: rm -fr autom4te.cache/
                     99: 
1.1       misho     100: # download pear 
                    101: $ECHO_N "makedist: Attempting to download PEAR's phar archive"
                    102: if test ! -x wget; then
                    103:        wget http://pear.php.net/install-pear-nozlib.phar -nd -P pear/
                    104: else
                    105:        $ECHO_N "Missing wget binary needed for pear download";
1.1.1.2   misho     106:        exit 7
1.1       misho     107: fi
                    108: 
                    109: cd $MY_OLDPWD
                    110: $ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
                    111: rm -f $ARCHIVE.gz
1.1.1.2   misho     112: tar cf $ARCHIVE php-$VER || exit 8
1.1       misho     113: gzip -9 $ARCHIVE || exit 9
                    114: echo ""
                    115: 
                    116: $ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
                    117: rm -f $ARCHIVE.bz2
1.1.1.2   misho     118: tar cf $ARCHIVE php-$VER || exit 10
1.1       misho     119: bzip2 -9 $ARCHIVE || exit 11
                    120: echo ""
                    121: 
                    122: $ECHO_N "makedist: cleaning up...$ECHO_C"
                    123: rm -rf $DIRPATH || exit 12
                    124: echo ""
                    125: 
                    126: exit 0

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