diff options
Diffstat (limited to 'maintainer-scripts')
-rw-r--r-- | maintainer-scripts/ChangeLog | 6 | ||||
-rw-r--r-- | maintainer-scripts/crontab | 1 | ||||
-rwxr-xr-x | maintainer-scripts/update_version | 71 |
3 files changed, 61 insertions, 17 deletions
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 4d93cf58b3e..1c62a9a4e31 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,9 @@ +2002-02-25 Mark Mitchell <mark@codesourcery.com> + + * update_version: Automatically update version files on all + branches. + * crontab: Only invoke update_version once. + 2002-02-23 Joseph S. Myers <jsm28@cam.ac.uk> * gcc_release: Revert change to -p interface. Allow for local and diff --git a/maintainer-scripts/crontab b/maintainer-scripts/crontab index 2d9655dcf25..4c7079bed7d 100644 --- a/maintainer-scripts/crontab +++ b/maintainer-scripts/crontab @@ -1,5 +1,4 @@ 16 0 * * * sh /home/gccadmin/scripts/update_version -16 0 * * * sh /home/gccadmin/scripts/update_version -rgcc-3_0-branch 50 0 * * * sh /home/gccadmin/scripts/update_web_docs 55 0 * * * sh /home/gccadmin/scripts/update_web_docs_libstdcxx 40 16 * * 1 sh /home/gccadmin/scripts/gcc_release -s -l -d /sourceware/snapshot-tmp all diff --git a/maintainer-scripts/update_version b/maintainer-scripts/update_version index cd3c5e6ea18..2b3362eb1fb 100755 --- a/maintainer-scripts/update_version +++ b/maintainer-scripts/update_version @@ -1,14 +1,24 @@ #!/bin/sh # Run this from /tmp. -CVSROOT=/cvs/gcc +CVSROOT=${CVSROOT:-/cvs/gcc} export CVSROOT /bin/rm -rf /tmp/$$ /bin/mkdir /tmp/$$ cd /tmp/$$ +# The path to cvs. +CVS=${CVS:-/usr/local/bin/cvs} + +# Compute the branches which we should update. +$CVS co gcc/ChangeLog +BRANCHES=`$CVS status -v gcc/ChangeLog \ + | awk '{print $1;}' \ + | egrep 'gcc-[0-9]+_[0-9]+-branch$'` +# Always update the mainline. +BRANCHES="${BRANCHES} HEAD" + # ARGS is passed to 'cvs co' -ARGS="$*" CURR_DATE=`/bin/date +"%Y%m%d"` # version is contained within a char* @@ -17,25 +27,54 @@ textstring_FILES="gcc/gcc/version.c gcc/gcc/f/version.c gcc/libf2c/libF77/Versio # version is contained within a #define cppdefine_FILES="gcc/libstdc++-v3/include/bits/c++config" -/usr/local/bin/cvs co $ARGS $textstring_FILES $cppdefine_FILES +# Assume all will go well. +RESULT=0 + +for BRANCH in $BRANCHES; do + # Check out the files on the branch. HEAD is a special case; if + # you check out files with -r HEAD, CVS will not let you check + # in changes. + if test "$BRANCH" = HEAD; then + ${CVS} co $textstring_FILES $cppdefine_FILES + else + ${CVS} co -r $BRANCH $textstring_FILES $cppdefine_FILES + fi -for file in $textstring_FILES; do - OLD_VERSION=`/bin/cat $file` - /bin/sed -e "s/\(.*\"[^ ]*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" >${file} <<HERE -$OLD_VERSION + # There are no files to commit yet. + COMMIT_FILES="" + + for file in $textstring_FILES; do + if test -f $file; then + OLD_VERSION=`/bin/cat $file` + /bin/sed -e "s/\(.*\"[^ ]*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" >${file} <<HERE + $OLD_VERSION HERE -done -for file in $cppdefine_FILES; do - OLD_VERSION=`/bin/cat $file` - /bin/sed -e "s/\(#.*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" >${file} <<HERE -$OLD_VERSION + COMMIT_FILES="$COMMIT_FILES $file" + fi + done + + for file in $cppdefine_FILES; do + if test -f $file; then + OLD_VERSION=`/bin/cat $file` + /bin/sed -e "s/\(#.*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" >${file} <<HERE + $OLD_VERSION HERE -done -/usr/local/bin/cvs commit -m "Daily bump." $textstring_FILES $cppdefine_FILES -commit_results=$? + COMMIT_FILES="$COMMIT_FILES $file" + fi + done + + if test -n "$COMMIT_FILES" \ + && ! ${CVS} commit -m "Daily bump." $COMMIT_FILES; then + # If we could not commit the files, indicate failure. + RESULT=1 + fi + + # Remove the files. + rm -rf gcc +done /bin/rm -rf /tmp/$$ -exit $commit_results +exit $RESULT |