summaryrefslogtreecommitdiff
path: root/makedist
diff options
context:
space:
mode:
Diffstat (limited to 'makedist')
-rwxr-xr-xmakedist126
1 files changed, 126 insertions, 0 deletions
diff --git a/makedist b/makedist
new file mode 100755
index 0000000..bfc8fcc
--- /dev/null
+++ b/makedist
@@ -0,0 +1,126 @@
+#!/bin/sh
+#
+# Distribution generator for git
+#
+# Usage: makedist version
+# Example: makedist 5.4.1
+# Example: makedist 5.3.5RC1
+#
+# To work, this script needs a consistent tagging of all releases.
+# Each release of a package should have a tag of the form
+#
+# php-X.Y.Z[sub]
+#
+# The distribution ends up in a .tar.gz file that contains the distribution
+# in a directory called php-<version>.
+# A .tar.bz2 file is also created.
+#
+# Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
+# Adapted to git by Stanislav Malyshev <stas@php.net>
+
+
+if test "$#" != "1"; then
+ echo "Usage: makedist <version>" >&2
+ exit 1
+fi
+
+VER=$1 ; shift
+
+old_IFS="$IFS"
+IFS=.
+eval set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
+if test "${1}" = "1" -a "${2}" -lt "28"; then
+ echo "You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)"
+ exit 2
+fi
+IFS="$old_IFS"
+
+PHPROOT=git@git.php.net:php-src.git
+LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
+
+if echo '\c' | grep -s c >/dev/null 2>&1
+then
+ ECHO_N="echo -n"
+ ECHO_C=""
+else
+ ECHO_N="echo"
+ ECHO_C='\c'
+fi
+
+MY_OLDPWD=`pwd`
+
+# the destination .tar.gz file
+ARCHIVE=$MY_OLDPWD/php-$VER.tar
+
+# temporary directory used to check out files from SVN
+DIR=php-$VER
+DIRPATH=$MY_OLDPWD/$DIR
+
+if test -d "$DIRPATH"; then
+ echo "The directory $DIR"
+ echo "already exists, rename or remove it and run makedist again."
+ exit 1
+fi
+
+# Export PHP
+$ECHO_N "makedist: exporting tag 'php-$VER' from '$PHPROOT'...$ECHO_C"
+git archive --format=tar --remote=$PHPROOT refs/tags/php-$VER --prefix=php-$VER/ | (cd $MY_OLDPWD; tar xvf -) || exit 4
+echo ""
+
+cd $DIR || exit 5
+
+# hide away our own versions of libtool-generated files
+for i in $LT_TARGETS; do
+ if test -f "$i"; then
+ mv $i $i.bak
+ cp $i.bak $i
+ fi
+done
+
+# generate some files so people don't need bison, flex and autoconf
+# to install
+set -x
+./buildconf --copy --force
+
+# remove buildmk.stamp. Otherwise, buildcheck.sh might not be run,
+# when a user runs buildconf in the distribution.
+rm -f buildmk.stamp
+
+./genfiles
+
+# now restore our versions of libtool-generated files
+for i in $LT_TARGETS; do
+ test -f "$i" && mv $i.bak $i
+done
+
+# removing junk files
+find . -name \*.orig -print0 | xargs -0 rm
+rm -fr autom4te.cache/
+
+# download pear
+$ECHO_N "makedist: Attempting to download PEAR's phar archive"
+if test ! -x wget; then
+ wget http://pear.php.net/install-pear-nozlib.phar -nd -P pear/
+else
+ $ECHO_N "Missing wget binary needed for pear download";
+ exit 7
+fi
+
+cd $MY_OLDPWD
+$ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
+rm -f $ARCHIVE.gz
+tar cf $ARCHIVE php-$VER || exit 8
+gzip -9 $ARCHIVE || exit 9
+echo ""
+
+$ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
+rm -f $ARCHIVE.bz2
+tar cf $ARCHIVE php-$VER || exit 10
+bzip2 -9 $ARCHIVE || exit 11
+echo ""
+
+$ECHO_N "makedist: cleaning up...$ECHO_C"
+rm -rf $DIRPATH || exit 12
+echo ""
+
+exit 0