blob: 67c3443c765b5daf6b9c9e7155ffa09e9fc2061a [file] [log] [blame]
#!/bin/sh
#
# Copyright 2001-2004 The Apache Software Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
export CVSROOT=cvs.apache.org:/home/cvs
if [ "x$1" = "xhelp" -o "x$2" = "x" ]; then
echo "Usage: ./httpd_roll_release tag log_name [user]"
echo "tag the tag to use when checking out the repository"
echo "log_name the name of a file to log the results to."
echo "user An optional user name to use when siging the release"
exit
else
TAG=$1
fi
LOG_NAME=`pwd`/$2
USER=$3
REPO="httpd-2.0"
WORKING_DIR=`echo "$REPO" | sed -e 's/[\-\.]/./g'`
WORKING_TAG=`echo "$TAG" | sed -e 's/APACHE_2_1_/./'`
WORKING_DIR="$WORKING_DIR$WORKING_TAG"
START_DIR=`echo "$PWD"`
# Check out the correct repositories.
echo "Checking out repository $REPO into $WORKING_DIR using tag $TAG"
umask 022
echo Checking out httpd-2.0 > $LOG_NAME
cvs checkout -r $TAG -d $WORKING_DIR $REPO >> $LOG_NAME
cd $WORKING_DIR/srclib
echo "Checking out apr, and apr-util" >> $LOG_NAME
cvs checkout -r $TAG apr apr-util >> $LOG_NAME
cd $START_DIR/$WORKING_DIR
# Make sure the master site's FAQ is up-to-date. It doesn't hurt to do this
# all the time. :-)
echo "REMEMBER TO UPDATE THE SITE'S FAQ!!"
#(cd /www/httpd.apache.org/docs-2.1/faq/; cvs update)
# Now update the FAQ in the tarball via a download from the master site.
# The FAQ contains SSI tags too complex for the expand.pl script to handle.
rm -f docs/manual/faq/*.html
links -source http://httpd.apache.org/docs-2.1/faq/index.html?ONEPAGE \
> docs/manual/faq/index.html
# Create the configure scripts
echo "Creating the configure script"
cd $START_DIR/$WORKING_DIR
echo >> $LOG_NAME
echo "Running ./buildconf" >> $LOG_NAME
./buildconf >> $LOG_NAME
echo >> $LOG_NAME
echo "Fixup the timestamps preventing remake of generated files." >> $LOG_NAME
touch modules/ssl/ssl_expr_parse.c >> $LOG_NAME
touch modules/ssl/ssl_expr_parse.h >> $LOG_NAME
touch modules/ssl/ssl_expr_scan.c >> $LOG_NAME
# Remove any files we don't distribute with our code
rm -f STATUS
echo >> $LOG_NAME
echo "Removing files that we don't distribute"
echo "Removing files that we don't distribute" >> $LOG_NAME
find . -name ".cvsignore" -exec rm {} \; >> $LOG_NAME
find . -type d -name "CVS" | xargs rm -rf >> $LOG_NAME
find . -type d -name "autom4te.cache" | xargs rm -rf >> $LOG_NAME
# expand SSI directives in the manual
echo "Making sure people can read the manual (expanding SSI's)"
echo >> $LOG_NAME
echo "Making sure people can read the manual (expanding SSI's)" >> $LOG_NAME
( cd docs/manual ; chmod +x expand.pl ; ./expand.pl ; rm ./expand.pl ) >> $LOG_NAME
# Time to roll the tarball
echo "Rolling the tarballs"
cd $START_DIR
echo >> $LOG_NAME
echo "Rolling the tarball" >> $LOG_NAME
tar cvf $WORKING_DIR-alpha.tar $WORKING_DIR >> $LOG_NAME
cp -p $WORKING_DIR-alpha.tar x$WORKING_DIR-alpha.tar
gzip -9 $WORKING_DIR-alpha.tar
mv x$WORKING_DIR-alpha.tar httpd.tar
compress httpd.tar
mv httpd.tar.Z $WORKING_DIR-alpha.tar.Z
# Test the tarballs
echo "Testing the tarball"
echo >> $LOG_NAME
echo "Testing the tarball $WORKING_DIR-alpha.tar.gz" >> $LOG_NAME
gunzip -c $WORKING_DIR-alpha.tar.gz | tar tvf - >> $LOG_NAME
zcat $WORKING_DIR-alpha.tar.Z | tar tvf - >> $LOG_NAME
# remember the CHANGES file
echo "Copying the CHANGES file to this directory"
cp $WORKING_DIR/CHANGES .
# cleanup
echo "Cleaning up my workspace"
rm -fr $WORKING_DIR
if [ "x$USER" != "x" ]; then
USER="-u $USER"
fi
echo Signing the tarballs
echo "Signing the tarballs" >> $LOG_NAME
pgp -sba $WORKING_DIR-alpha.tar.gz $USER
pgp -sba $WORKING_DIR-alpha.tar.Z $USER
pgp $WORKING_DIR-alpha.tar.gz.asc $WORKING_DIR-alpha.tar.gz >> $LOG_NAME
pgp $WORKING_DIR-alpha.tar.Z.asc $WORKING_DIR-alpha.tar.Z >> $LOG_NAME
echo "Don't forget to make the tarballs available by copying them to the"
echo "/www/httpd.apache.org/dev/dist directory."