Port dist-wget to subversion
Hrvoje Niksic <[email protected]> Thu, 23 Jun 2005 14:30:36 +0200
| Newsgroups | gmane.comp.web.wget.patches |
|---|---|
| Message-ID | <[email protected]> |
This change trivially modifies dist-wget to work with subversion. dist-wget is a script used to create Wget releases out of source pulled from version control. For example, to get the stable 1.10 source in a tar.gz form (for example to send to someone who doesn't have Autoconf etc.), you could use `dist-wget -b branches/1.10', ending up with a fully functional wget-1.10.1-beta.tar.gz in the current directory. 2005-06-23 Hrvoje Niksic <[email protected]> * util/dist-wget: Port to subversion. Index: util/dist-wget =================================================================== --- util/dist-wget (revision 1766) +++ util/dist-wget (working copy) @@ -32,8 +32,8 @@ # 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 CVS source from the repository to a temporary -# directory. +# * 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. @@ -42,20 +42,26 @@ # * Runs `make dist' to produce the archive. # * Removes the checkout. # -# For example, to produce a Wget beta based on the latest CVS sources, -# with version "1.23-beta10", run `dist-wget --force-version 1.23-beta10'. -# You can choose which sources will be used by specifying `-D DATE' -# or `-r TAG'. +# 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 -CVSROOT=:pserver:[email protected]:/pack/anoncvs -SUBDIR=wget.cvs.$$ +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} @@ -71,20 +77,26 @@ -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] [-r TAG | -D DATE]" >&2 exit 1 esac shift @@ -109,15 +121,12 @@ echo "-----------" >$O # Checkout clean sources from the repository. -echo $e_n "Exporting ($EXPORT_TAG) out the CVS tree to $TMPDIR/$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 @@ -128,8 +137,8 @@ # 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