Annotation of embedaddon/php/makedist, revision 1.1.1.1
1.1 misho 1: #!/bin/sh
2: #
3: # Distribution generator for SVN based packages.
4: # To work, this script needs a consistent tagging of all releases.
5: # Each release of a package should have a tag of the form
6: #
7: # <package>_<version>
8: #
9: # where <package> is the package name and the SVN module
10: # and <version> s the version number with underscores instead of dots.
11: #
12: # For example: svn cp $PHPROOT/php/php-src/trunk $PHPROOT/php/php-src/tags/php_5_0_1
13: #
14: # The distribution ends up in a .tar.gz file that contains the distribution
15: # in a directory called <package>-<version>. The distribution contains all
16: # directories from the SVN module except the one called "nodist", but only
17: # the files INSTALL, README and config* are included.
18: # A .tar.bz2 file is also created.
19: #
20: # Usage: makedist <package> <version>
21: #
22: # Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
23: #
24: # $Id: makedist 284087 2009-07-14 21:49:44Z gwynne $
25: #
26:
27: if test "$#" != "2"; then
28: echo "Usage: makedist <package> <version>" >&2
29: exit 1
30: fi
31:
32: PKG=$1 ; shift
33: VER=$1 ; shift
34:
35: old_IFS="$IFS"
36: IFS=.
37: eval set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
38: if test "${1}" = "1" -a "${2}" -lt "28"; then
39: echo "You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)"
40: exit 10
41: fi
42: IFS="$old_IFS"
43:
44: PHPROOT=http://svn.php.net/repository
45: PHPMOD=php/php-src
46: LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
47:
48: if echo '\c' | grep -s c >/dev/null 2>&1
49: then
50: ECHO_N="echo -n"
51: ECHO_C=""
52: else
53: ECHO_N="echo"
54: ECHO_C='\c'
55: fi
56:
57: MY_OLDPWD=`pwd`
58:
59: # the destination .tar.gz file
60: ARCHIVE=$MY_OLDPWD/$PKG-$VER.tar
61:
62: # temporary directory used to check out files from SVN
63: DIR=$PKG-$VER
64: DIRPATH=$MY_OLDPWD/$DIR
65:
66: if test -d "$DIRPATH"; then
67: echo "The directory $DIR"
68: echo "already exists, rename or remove it and run makedist again."
69: exit 1
70: fi
71:
72: # version part of the SVN release tag
73: SVNVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
74:
75: # SVN release tag
76: if test "$VER" != "HEAD" -a "$VER" != "trunk"; then
77: SVNTAG=tags/${PKG}_$SVNVER
78: else
79: SVNTAG=trunk
80: fi
81:
82: #if test ! -d $DIRPATH; then
83: # mkdir -p $DIRPATH || exit 2
84: #fi
85:
86: # Export PHP
87: $ECHO_N "makedist: exporting tag '$SVNTAG' from '$PHPMOD'...$ECHO_C"
88: svn export $PHPROOT/$PHPMOD/$SVNTAG $DIRPATH || exit 4
89: echo ""
90:
91: # remove SVN stuff...
92: cd $DIR || exit 5
93: find . \( -name .svn -type d \) -exec rm -rf {} \;
94:
95: # The full ChangeLog is available separately from lxr.php.net
96: rm -f ChangeLog*
97:
98: # hide away our own versions of libtool-generated files
99: for i in $LT_TARGETS; do
100: if test -f "$i"; then
101: mv $i $i.bak
102: cp $i.bak $i
103: fi
104: done
105:
106: # generate some files so people don't need bison, flex and autoconf
107: # to install
108: set -x
109: ./buildconf --copy --force
110:
111: # remove buildmk.stamp. Otherwise, buildcheck.sh might not be run,
112: # when a user runs buildconf in the distribution.
113: rm -f buildmk.stamp
114:
115: ./genfiles
116:
117: # now restore our versions of libtool-generated files
118: for i in $LT_TARGETS; do
119: test -f "$i" && mv $i.bak $i
120: done
121:
122: # download pear
123: $ECHO_N "makedist: Attempting to download PEAR's phar archive"
124: if test ! -x wget; then
125: wget http://pear.php.net/install-pear-nozlib.phar -nd -P pear/
126: else
127: $ECHO_N "Missing wget binary needed for pear download";
128: exit 0;
129: fi
130:
131: cd $MY_OLDPWD
132: $ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
133: rm -f $ARCHIVE.gz
134: tar cf $ARCHIVE $PKG-$VER || exit 8
135: gzip -9 $ARCHIVE || exit 9
136: echo ""
137:
138: $ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
139: rm -f $ARCHIVE.bz2
140: tar cf $ARCHIVE $PKG-$VER || exit 10
141: bzip2 -9 $ARCHIVE || exit 11
142: echo ""
143:
144: $ECHO_N "makedist: cleaning up...$ECHO_C"
145: rm -rf $DIRPATH || exit 12
146: echo ""
147:
148: exit 0
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>