php-src/makedist

152 lines
3.6 KiB
Plaintext
Raw Normal View History

1999-04-08 05:05:13 +08:00
#!/bin/sh
#
# Distribution generator for CVS based packages.
# To work, this script needs a consistent tagging of all releases.
# Each release of a package should have a tag of the form
#
# <package>_<version>
#
# where <package> is the package name and the CVS module
# and <version> s the version number with underscores instead of dots.
#
# For example: cvs tag php_5_0_1
1999-04-08 05:05:13 +08:00
#
# The distribution ends up in a .tar.gz file that contains the distribution
# in a directory called <package>-<version>. The distribution contains all
# directories from the CVS module except the one called "nodist", but only
# the files INSTALL, README and config* are included.
#
# Since you can no longer set the CVS password via an env variable, you
# need to have previously done a cvs login for the server and user id
# this script uses so it will have an entry in your ~/.cvspasswd file.
#
# Usage: makedist <package> <version>
#
# Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
#
# $Id$
#
2000-06-26 06:48:02 +08:00
if test "$#" != "2"; then
echo "Usage: makedist <package> <version>" >&2
exit 1
fi
PKG=$1 ; shift
VER=$1 ; shift
old_IFS="$IFS"
IFS=.
2002-03-21 02:54:30 +08:00
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}).)"
2000-06-26 06:48:02 +08:00
exit 10
fi
IFS="$old_IFS"
PHPROOT=:pserver:cvsread@cvs.php.net:/repository
2003-06-29 07:32:04 +08:00
PHPMOD=php-src
LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
1999-04-08 05:05:13 +08:00
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
1999-07-17 19:59:37 +08:00
MY_OLDPWD=`pwd`
1999-04-08 05:05:13 +08:00
# the destination .tar.gz file
ARCHIVE=$MY_OLDPWD/$PKG-$VER.tar
1999-04-08 05:05:13 +08:00
# temporary directory used to check out files from CVS
DIR=$PKG-$VER
DIRPATH=$MY_OLDPWD/$DIR
1999-04-08 05:05:13 +08:00
if test -d "$DIRPATH"; then
echo "The directory $DIR"
echo "already exists, rename or remove it and run makedist again."
exit 1
fi
1999-04-08 05:05:13 +08:00
# version part of the CVS release tag
CVSVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
1999-04-08 05:05:13 +08:00
# CVS release tag
if test "$VER" != "HEAD"; then
CVSTAG=${PKG}_$CVSVER
else
CVSTAG=HEAD
fi
1999-04-08 05:05:13 +08:00
if test ! -d $DIRPATH; then
mkdir -p $DIRPATH || exit 2
1999-04-08 05:05:13 +08:00
fi
# Export PHP
$ECHO_N "makedist: exporting tag '$CVSTAG' from '$PHPMOD'...$ECHO_C"
2002-10-11 02:37:07 +08:00
cvs -z 9 -d $PHPROOT export -d $DIR -r $CVSTAG $PHPMOD || exit 4
1999-04-08 05:05:13 +08:00
echo ""
# remove CVS stuff...
cd $DIR || exit 5
1999-04-08 05:05:13 +08:00
find . \( \( -name CVS -type d \) -o -name .cvsignore \) -exec rm -rf {} \;
2000-05-05 01:52:14 +08:00
# 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
1999-04-08 05:05:13 +08:00
# generate some files so people don't need bison, flex and autoconf
# to install
set -x
2003-05-22 08:31:31 +08:00
./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
# 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 0;
fi
cd $MY_OLDPWD
1999-04-08 05:05:13 +08:00
$ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
2002-10-11 03:01:34 +08:00
rm -f $ARCHIVE.gz
tar cf $ARCHIVE $PKG-$VER || exit 8
gzip -9 $ARCHIVE || exit 9
1999-04-08 05:05:13 +08:00
echo ""
2002-08-24 17:56:51 +08:00
$ECHO_N "makedist: making bz2zipped tar archive...$ECHO_C"
2002-10-11 03:01:34 +08:00
rm -f $ARCHIVE.bz2
2002-08-24 17:56:51 +08:00
tar cf $ARCHIVE $PKG-$VER || exit 10
bzip2 -9 $ARCHIVE || exit 11
echo ""
1999-04-08 05:05:13 +08:00
$ECHO_N "makedist: cleaning up...$ECHO_C"
2002-08-24 17:56:51 +08:00
rm -rf $DIRPATH || exit 12
1999-04-08 05:05:13 +08:00
echo ""
exit 0