Changelog for beta 9013V1.1w
[tomato.git] / release / src / router / php / makedist
blobbfc8fcc44a239a91690d361fa90330cbab3f75ba
1 #!/bin/sh
3 # Distribution generator for git
5 # Usage: makedist version
6 # Example: makedist 5.4.1
7 # Example: makedist 5.3.5RC1
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
12 # php-X.Y.Z[sub]
14 # The distribution ends up in a .tar.gz file that contains the distribution
15 # in a directory called php-<version>.
16 # A .tar.bz2 file is also created.
18 # Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
19 # Adapted to git by Stanislav Malyshev <stas@php.net>
22 if test "$#" != "1"; then
23 echo "Usage: makedist <version>" >&2
24 exit 1
27 VER=$1 ; shift
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}).)"
34 exit 2
36 IFS="$old_IFS"
38 PHPROOT=git@git.php.net:php-src.git
39 LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
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'
50 MY_OLDPWD=`pwd`
52 # the destination .tar.gz file
53 ARCHIVE=$MY_OLDPWD/php-$VER.tar
55 # temporary directory used to check out files from SVN
56 DIR=php-$VER
57 DIRPATH=$MY_OLDPWD/$DIR
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
65 # Export PHP
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
68 echo ""
70 cd $DIR || exit 5
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
78 done
80 # generate some files so people don't need bison, flex and autoconf
81 # to install
82 set -x
83 ./buildconf --copy --force
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
89 ./genfiles
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
96 # removing junk files
97 find . -name \*.orig -print0 | xargs -0 rm
98 rm -fr autom4te.cache/
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";
106 exit 7
109 cd $MY_OLDPWD
110 $ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
111 rm -f $ARCHIVE.gz
112 tar cf $ARCHIVE php-$VER || exit 8
113 gzip -9 $ARCHIVE || exit 9
114 echo ""
116 $ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
117 rm -f $ARCHIVE.bz2
118 tar cf $ARCHIVE php-$VER || exit 10
119 bzip2 -9 $ARCHIVE || exit 11
120 echo ""
122 $ECHO_N "makedist: cleaning up...$ECHO_C"
123 rm -rf $DIRPATH || exit 12
124 echo ""
126 exit 0