Hi!

Here is an attempt to adjust gcc_release for 5+ versioning scheme.
The second hunk hopefully will use the right branch version, the first hunk
(to be tested when -f will be invoked) should bump automatically BASE-VER
(e.g. from 5.0.1 to 5.1.0).

I'd think we should perhaps also change all the ${SVN} -q ci invocations, so
that we do all the changes together and commit as one larger commit.

2015-04-12  Jakub Jelinek  <ja...@redhat.com>

        * gcc_release: For RELEASE_MAJOR 5+ only use the major
        number in branch name.  When doing final release of 5+,
        if BASE-VER doesn't match release, but is *.*.1 for the
        one smaller minor version, bump BASE-VER.

--- gcc_release (revision 221957)
+++ gcc_release (working copy)
@@ -9,7 +9,7 @@
 # Contents:
 #   Script to create a GCC release.
 #
-# Copyright (c) 2001-2014 Free Software Foundation.
+# Copyright (c) 2001-2015 Free Software Foundation.
 #
 # This file is part of GCC.
 #
@@ -130,8 +130,20 @@ EOF
 
     # Update gcc/DEV-PHASE.
 
-    [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` = ${RELEASE} ] || \
-    error "Release number ${RELEASE} does not match BASE-VER"
+    if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` = ${RELEASE} ]; then
+      [ ${RELEASE_MAJOR} -lt 5 ] && \
+       error "Release number ${RELEASE} does not match BASE-VER"
+      if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` \
+          = ${RELEASE_MAJOR}.`expr ${RELEASE_MINOR} - 1`.1 \
+          -a x${RELEASE_REVISION} = x0 ]; then
+       (changedir ${SOURCE_DIRECTORY}/gcc && \
+        echo ${RELEASE} > BASE-VER && \
+        ${SVN} -q ci -m 'Bump release' BASE-VER) || \
+       error "Could not update BASE-VER"
+      else
+       error "Release number ${RELEASE} does not match BASE-VER"
+      fi
+    fi
     (changedir ${SOURCE_DIRECTORY}/gcc && \
      : > DEV-PHASE && \
      ${SVN} -q ci -m 'Mark as release' DEV-PHASE) || \
@@ -605,7 +617,11 @@ if [ $SNAPSHOT -eq 0 ]; then
 
   # Compute the name of the branch, which is based solely on the major
   # and minor release numbers.
-  SVNBRANCH="branches/gcc-${RELEASE_MAJOR}_${RELEASE_MINOR}-branch"
+  if [ ${RELEASE_MAJOR} -ge 5 ]; then
+    SVNBRANCH="branches/gcc-${RELEASE_MAJOR}-branch"
+  else
+    SVNBRANCH="branches/gcc-${RELEASE_MAJOR}_${RELEASE_MINOR}-branch"
+  fi
 
   # If this is not a final release, set various parameters accordingly.
   if [ ${FINAL} -ne 1 ]; then

        Jakub

Reply via email to