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
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
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}).)"
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
52 # the destination .tar.gz file
53 ARCHIVE
=$MY_OLDPWD/php-
$VER.
tar
55 # temporary directory used to check out files from SVN
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."
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
72 # hide away our own versions of libtool-generated files
73 for i
in $LT_TARGETS; do
80 # generate some files so people don't need bison, flex and autoconf
83 .
/buildconf
--copy --force
85 # remove buildmk.stamp. Otherwise, buildcheck.sh might not be run,
86 # when a user runs buildconf in the distribution.
91 # now restore our versions of libtool-generated files
92 for i
in $LT_TARGETS; do
93 test -f "$i" && mv $i.bak
$i
97 find .
-name \
*.orig
-print0 |
xargs -0 rm
98 rm -fr autom4te.cache
/
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
/
105 $ECHO_N "Missing wget binary needed for pear download";
110 $ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
112 tar cf
$ARCHIVE php-
$VER ||
exit 8
113 gzip -9 $ARCHIVE ||
exit 9
116 $ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
118 tar cf
$ARCHIVE php-
$VER ||
exit 10
119 bzip2 -9 $ARCHIVE ||
exit 11
122 $ECHO_N "makedist: cleaning up...$ECHO_C"
123 rm -rf $DIRPATH ||
exit 12