| #!/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." |