forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 1
/
makedist
executable file
·129 lines (105 loc) · 2.95 KB
/
makedist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/sh
#
# Distribution generator for git
#
# Usage: makedist version
# Example: makedist 5.4.1
# Example: makedist 5.3.5-RC1
#
# 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 <[email protected]> 1997-05-28.
# Adapted to git by Stanislav Malyshev <[email protected]>
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"
[email protected]: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
# The full ChangeLog is available separately from lxr.php.net
rm -f ChangeLog*
# 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