X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=maintainer-scripts%2Fupdate_version;h=2217052332c9a1fafd753c006a1f781a5bfb57fb;hp=cd3c5e6ea1879d89d60d6ae68a1a3e36175b0589;hb=2136cd14292eca6dbc25f8f6013d4a2d5568cc1d;hpb=c461487ab4ecc7c5f43ae7f736f056c27f326e4a;ds=sidebyside diff --git a/maintainer-scripts/update_version b/maintainer-scripts/update_version index cd3c5e6ea18..2217052332c 100755 --- a/maintainer-scripts/update_version +++ b/maintainer-scripts/update_version @@ -1,41 +1,113 @@ -#!/bin/sh +#!/bin/sh +# +# Update the current version date in all files in the tree containing +# it. Consider all release branches except those matching the regular +# expression in $IGNORE_BRANCHES, and also consider those branches listed +# in $ADD_BRANCHES. + +CVSROOT=${CVSROOT:-/cvs/gcc} +IGNORE_BRANCHES='gcc-(2_95|3_0|3_1|3_2|3_3)-branch' +ADD_BRANCHES='HEAD autovect-branch dfp-branch' # Run this from /tmp. -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$' \ + | egrep -v $IGNORE_BRANCHES` +# Always update the mainline. +BRANCHES="${BRANCHES} ${ADD_BRANCHES}" + # ARGS is passed to 'cvs co' -ARGS="$*" CURR_DATE=`/bin/date +"%Y%m%d"` # version is contained within a char* -textstring_FILES="gcc/gcc/version.c gcc/gcc/f/version.c gcc/libf2c/libF77/Version.c gcc/libf2c/libI77/Version.c gcc/libf2c/libU77/Version.c" +textstring_FILES="gcc/gcc/version.c" # 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 +# version is all there is +datestamp_FILES="gcc/gcc/DATESTAMP" -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} <${file} <$file.new -e \ + "s/\(.*\"[^ ]*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi + fi + done + for file in $cppdefine_FILES; do + if test -f $file; then + /bin/sed <$file >$file.new -e \ + "s/\(#.*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi + fi + done + + for file in $datestamp_FILES; do + if test -f $file; then + echo ${CURR_DATE} > $file.new + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi + 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 $RESULT