X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=util%2Fdist-wget;h=ee1cb14e006b08db3e35baa9a1284af79ec7ea43;hp=d8546e05e0f1f8b6562f9ab9a62688554190c1ce;hb=5b48c4759ba2b881bda0f5f80e264910e594c52b;hpb=d925033e38365fdd4b3bf76c8df3add4551152a8 diff --git a/util/dist-wget b/util/dist-wget index d8546e05..ee1cb14e 100755 --- a/util/dist-wget +++ b/util/dist-wget @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh # Copyright (C) 2001 Free Software Foundation, Inc. @@ -26,12 +26,42 @@ # file, but you are not obligated to do so. If you do not wish to do # so, delete this exception statement from your version. - -CVSROOT=:pserver:cvs@sunsite.dk:/pack/anoncvs -SUBDIR=wget.cvs.$$ +## +# +# This script creates a Wget distribution (wget-VERSION.tar.gz). +# It uses `make dist' to do most of the work, but corrects some +# things that `make dist' doesn't and can't do. Specifically: +# +# * Checks out the clean source from the Subversion repository to a +# temporary directory. +# * Runs autoconf, configure and `make' in the doc and po subdirs to +# make sure that all the generated files, such as `configure', +# `wget.info', and translated PO files, end up in the distribution. +# * Optionally changes src/version.c and doc/version.texi to the +# version forced by `--force-version'. +# * Runs `make dist' to produce the archive. +# * Removes the checkout. +# +# For example, to produce a Wget beta based on the latest sources on +# the trunk, with version changed to "1.23-beta10", run `dist-wget +# --force-version 1.23-beta10'. You can choose which sources will be +# used by specifying `-b PATH' ("trunk" by default) in combination +# with one of `-D DATE' or `-r REVISION' (the latest revision by +# default). +# +# Use the MAKE environment variable to specify a different version of +# make, for example MAKE=gmake dist-wget ... +# +## + +set -e + +SVNURL=http://svn.dotsrc.org/repo/wget/ +SUBDIR=wget.checkout.$$ DEBUG=no -EXPORT_TAG='-r HEAD' +EXPORT_PATH=trunk +EXPORT_REVISION=HEAD VERSION= MAKE=${MAKE-make} @@ -47,20 +77,26 @@ do -d) DEBUG=yes ;; + -b) + shift + EXPORT_PATH=$1 + ;; -D) shift - EXPORT_TAG="-D '$1'" + # Subversion uses the -r {DATE} syntax for specifying revisions + # based on dates. + EXPORT_REVISION={$1} ;; -r) shift - EXPORT_TAG="-r $1" + EXPORT_REVISION=$1 ;; --force-version) shift VERSION=$1 ;; *) - echo "Usage: $0 [-d] [-r TAG | -D DATE]" >&2 + echo "Usage: $0 [-d] [-b BRANCH-PATH] [-r REVISION | -D DATE]" >&2 exit 1 esac shift @@ -69,7 +105,7 @@ done # Resolve echo -n incompatibilities. e_n=-n e_c= -if test "`(echo foo; echo -n bar) | tr '[\012]' x`" != fooxbar; then +if test x"`(echo -n foo; echo bar)`" != xfoobar; then e_n= e_c='\c' fi @@ -85,26 +121,24 @@ echo "Output from commands is in $O." echo "-----------" >$O # Checkout clean sources from the repository. -echo $e_n "Exporting ($EXPORT_TAG) out the CVS tree to $SUBDIR... $e_c" -cvs -d $CVSROOT export $EXPORT_TAG -d $SUBDIR wget 1>>$O 2>&1 +echo $e_n "Exporting $SVNURL$EXPORT_PATH/ (-r $EXPORT_REVISION) to $TMPDIR/$SUBDIR... $e_c" +svn export -r "$EXPORT_REVISION" "$SVNURL/$EXPORT_PATH/" $SUBDIR 1>>$O 2>&1 echo "done." cd $SUBDIR -# Remove the dummy `Branches' directory. -rm -rf Branches 1>>$O 2>&1 - # Force the version if required. if test x"$VERSION" != x then - echo "char *version_string = \"$VERSION\";" > src/version.c echo "Forcing version to $VERSION." + echo "char *version_string = \"$VERSION\";" > src/version.c + echo "@set VERSION $VERSION" > doc/version.texi fi # Create configure and friends. if test ! -f configure; then - echo $e_n "Creating \`configure' from \`configure.in'... $e_c" - $MAKE -f Makefile.cvs 1>>$O 2>&1 + echo $e_n "Creating \`configure' and \`src/config.h'... $e_c" + ./autogen.sh 1>>$O 2>&1 echo "done." fi @@ -137,8 +171,9 @@ echo "done." # Create the distribution file. echo $e_n "Creating distribution tarball... $e_c" $MAKE dist 1>>$O 2>&1 -mv wget-*.tar.gz $DEST_DIR -echo "done." +archive=`echo wget-*.tar.gz` +mv "$archive" $DEST_DIR +echo "$archive" cd ..