From 1b9f940b0c10e9694dfc15c1822d44eb04dbce3c Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Fri, 28 Oct 2005 14:44:48 +0000 Subject: [PATCH] gcc_update: Update for svn. 2005-10-28 Daniel Berlin Ben Elliston * gcc_update: Update for svn. * newcvsroot: Ditto. * gcc_build: Ditto. Co-Authored-By: Ben Elliston From-SVN: r105933 --- contrib/ChangeLog | 7 ++++++ contrib/gcc_build | 63 ++++++++++++++++++---------------------------- contrib/gcc_update | 50 ++++++++++++++++-------------------- contrib/newcvsroot | 2 ++ 4 files changed, 56 insertions(+), 66 deletions(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index d727689dbe4..3e95967d382 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,10 @@ +2005-10-28 Daniel Berlin + Ben Elliston + + * gcc_update: Update for svn. + * newcvsroot: Ditto. + * gcc_build: Ditto. + 2005-10-21 Mark Mitchell * texi2pod.pl: Substitue for @value even when part of @include. diff --git a/contrib/gcc_build b/contrib/gcc_build index af1a5bcdecb..f0e79266595 100755 --- a/contrib/gcc_build +++ b/contrib/gcc_build @@ -4,12 +4,14 @@ # # File: gcc_build # Author: Mark Mitchell -# Date: 07/10/2000 +# Date: 2000-07-10 +# +# Adapted to Subversion by Ben Elliston , 2005-07-14. # # Contents: # Script to automatically download and build GCC. # -# Copyright (c) 2000, 2001, 2003 Free Software Foundation. +# Copyright (c) 2000, 2001, 2003, 2005 Free Software Foundation. # # This file is part of GCC. # @@ -34,9 +36,6 @@ # Notes ######################################################################## -# If you are using password-based CVS, you must manually log in, and -# not log out from, the CVS server before running this script. - # You can set the following variables in the environment. They # have no corresponding command-line options because they should # only be needed infrequently: @@ -86,44 +85,28 @@ changedir() { error "Could not change directory to $1" } -# Set up CVS environment variables - -cvs_setup() { - CVSROOT=":${CVS_PROTOCOL}:${CVS_USERNAME}@" - CVSROOT="${CVSROOT}${CVS_SERVER}:${CVS_REPOSITORY}" - export CVSROOT -} - # Checkout a fresh copy of the GCC build tree. checkout_gcc() { - # Tell CVS where to find everything. - cvs_setup - # If the destination already exists, don't risk destroying it. test -e ${DESTINATION} && \ error "${DESTINATION} already exists" - # CVS doesn't allow an absolute path for the destination directory. - DESTINATION_PARENT=`dirname ${DESTINATION}` - test -d ${DESTINATION_PARENT} || \ - error "${DESTINATION_PARENT} is not a directory" - changedir ${DESTINATION_PARENT} - # Checkout the tree - $GCC_CVS -z 9 co -d `basename ${DESTINATION}` gcc || \ + test -n "${SVN_USERNAME}" && SVN_USERNAME="${SVN_USERNAME}@" + SVNROOT="${SVN_PROTOCOL}://${SVN_USERNAME}${SVN_SERVER}${SVN_REPOSITORY}" + + $GCC_SVN co $SVNROOT ${DESTINATION} || \ error "Could not check out GCC" } # Update GCC. update_gcc() { - # Tell CVS where to find everything - cvs_setup - # If the destination does not already exist, complain. test -d ${DESTINATION} || \ - error "{$DESTINATION} does not exist" + error "${DESTINATION} does not exist" + # Enter the destination directory. changedir ${DESTINATION} @@ -189,7 +172,7 @@ export_gcc() { # Build a tarball of the source directory. tar czf ${TARFILE} \ --exclude=${OBJDIR} \ - --exclude=CVS \ + --exclude=.svn \ --exclude='.#*' \ --exclude='*~' \ `basename ${DESTINATION}` @@ -210,16 +193,17 @@ install_gcc() { # Initialization ######################################################################## -# CVS command -GCC_CVS=${GCC_CVS-${CVS-cvs}} -# The CVS server containing the GCC repository. -CVS_SERVER="gcc.gnu.org" +# SVN command +GCC_SVN=${GCC_SVN-${SVN-svn}} +# The SVN server containing the GCC repository. +SVN_SERVER="dberlin.org" # The path to the repository on that server. -CVS_REPOSITORY="/cvs/gcc" -# The CVS protocol to use. -CVS_PROTOCOL="pserver" +SVN_REPOSITORY="/trunk" +# The SVN protocol to use. +SVN_PROTOCOL="svn" # The username to use when connecting to the server. -CVS_USERNAME="anoncvs" +# An empty string means anonymous. +SVN_USERNAME="" # The directory where the checked out GCC will be placed. DESTINATION="${HOME}/dev/gcc" @@ -252,6 +236,9 @@ UPDATE=0 # Main Program ######################################################################## +# Issue usage if no parameters are given. +test $# -eq 0 && usage + # Parse the options. while getopts "c:d:m:o:p:t:u:x:" ARG; do case $ARG in @@ -259,10 +246,10 @@ while getopts "c:d:m:o:p:t:u:x:" ARG; do d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; - p) CVS_PROTOCOL="${OPTARG}";; + p) SVN_PROTOCOL="${OPTARG}";; t) TARFILE="${OPTARG}";; x) MAKE_CHECK_OPTIONS="${OPTARG}";; - u) CVS_USERNAME="${OPTARG}";; + u) SVN_USERNAME="${OPTARG}";; \?) usage;; esac done diff --git a/contrib/gcc_update b/contrib/gcc_update index 40c3a9fcd35..90124deac8c 100755 --- a/contrib/gcc_update +++ b/contrib/gcc_update @@ -1,10 +1,18 @@ #! /bin/sh # -# Update a local CVS tree from the GCC repository, with an emphasis +# Update a local Subversion tree from the GCC repository, with an emphasis # on treating generated files correctly, so that autoconf, gperf et # al are not required for the ``end'' user. # -# By default all command-line options are passed to `cvs update` in +# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation +# Originally by Gerald Pfeifer , August 1998. +# +# This script is Free Software, and it can be copied, distributed and +# modified as defined in the GNU General Public License. A copy of +# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html +# +# +# By default all command-line options are passed to `svn update` in # addition to $UPDATE_OPTIONS (defined below). If the first parameter # reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself # are omitted. @@ -12,7 +20,7 @@ # If the first parameter reads --patch, the second parameter is considered # a patch file. # -# If the first parameter is --touch, no cvs operation will be performed, +# If the first parameter is --touch, no svn operation will be performed, # only generated files that appear to be out of date in the local tree # will be touched. # @@ -24,30 +32,16 @@ # # Examples: # -# contrib/gcc_update -r gcc_latest_snapshot -# contrib/gcc_update -A -# contrib/gcc_update --nostdflags -P -r gcc-2_95-branch gcc/testsuite +# contrib/gcc_update -r 8712 # contrib/gcc_update --patch some-patch # contrib/gcc_update --touch # contrib/gcc_update --list -# -# -# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation -# Originally by Gerald Pfeifer , August 1998. -# -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html -# CVS command -GCC_CVS=${GCC_CVS-${CVS-cvs}} -# Default options used when updating via CVS. -UPDATE_OPTIONS=-Pd -# Use -P to prune empty directories. -# Use -d to create any directories that exist in the repository but not -# locally. -# Use -A to reset any sticky tags, dates, or `-k' options. +# SVN command +GCC_SVN=${GCC_SVN-${SVN-svn}} +# Default options used when updating via SVN (none). +UPDATE_OPTIONS="" ######## Anything below shouldn't be changed by regular users. @@ -234,9 +228,9 @@ p esac -# Check whether this indeed looks like a local CVS tree. -if [ ! -d CVS ]; then - echo "This does not seem to be a GCC CVS tree!" +# Check whether this indeed looks like a local SVN tree. +if [ ! -d .svn ]; then + echo "This does not seem to be a GCC SVN tree!" exit fi @@ -247,12 +241,12 @@ else set -- $UPDATE_OPTIONS ${1+"$@"} fi -chat "Updating CVS tree" +chat "Updating SVN tree" -$GCC_CVS -q ${silent+-Q} update ${1+"$@"} +$GCC_SVN --non-interactive -q update ${1+"$@"} if [ $? -ne 0 ]; then (touch_files_reexec) - echo "CVS update of full tree failed." >&2 + echo "SVN update of full tree failed." >&2 exit 1 fi diff --git a/contrib/newcvsroot b/contrib/newcvsroot index 43e8e079c0b..29827cc4eea 100755 --- a/contrib/newcvsroot +++ b/contrib/newcvsroot @@ -7,6 +7,8 @@ # Usage: newcvsroot if [ $# != 3 ]; then + echo "Note to svn users: use svn switch --relocate instead." + echo echo "usage: `basename $0` " exit 1 fi