X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=util%2Fdist-wget;h=1e26366dc52ee2f2980897b2c3305f91fc29783c;hb=4d7c5e087b2bc82c9f503dff003916d1047903ce;hp=57a0dd987b63cac37b19c6a4181bf87a8aeb5ea2;hpb=8d0e351cb30d4663c317b1147ca2e91273987de3;p=wget diff --git a/util/dist-wget b/util/dist-wget index 57a0dd98..1e26366d 100755 --- a/util/dist-wget +++ b/util/dist-wget @@ -1,10 +1,10 @@ -#!/bin/sh -e +#!/bin/sh # Copyright (C) 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, @@ -13,8 +13,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# along with this program. If not, see . # In addition, as a special exception, the Free Software Foundation # gives permission to link the code of its release of Wget with the @@ -26,13 +25,44 @@ # 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='-D now' +EXPORT_PATH=trunk +EXPORT_REVISION=HEAD VERSION= +MAKE=${MAKE-make} if test x"$TMPDIR" = x then @@ -46,20 +76,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 @@ -68,7 +104,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 @@ -84,33 +120,31 @@ 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 # Remove `Makefile' if it already exists. if test -f Makefile; then - echo $e_n "Cleaning old Makefiles with \`make distclean'... $e_c" - make distclean 1>>$O 2>&1 + echo $e_n "Cleaning old Makefiles with \`$MAKE distclean'... $e_c" + $MAKE distclean 1>>$O 2>&1 echo "done." fi @@ -122,22 +156,23 @@ echo "done." # Now build the MO files. echo $e_n "Building MO files out of PO files... $e_c" cd po -make 1>>$O 2>&1 +$MAKE 1>>$O 2>&1 cd .. echo "done." # Now build the Info documentation and the man page. echo $e_n "Building Info and man documentation... $e_c" cd doc -make 1>>$O 2>&1 +$MAKE 1>>$O 2>&1 cd .. 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." +$MAKE dist 1>>$O 2>&1 +archive=`echo wget-*.tar.gz` +mv "$archive" $DEST_DIR +echo "$archive" cd ..