diff mbox

Change gcc_release for 5+

Message ID 20150412205354.GC1735@tucnak.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek April 12, 2015, 8:53 p.m. UTC
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  <jakub@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.


	Jakub

Comments

Richard Biener April 13, 2015, 7:44 a.m. UTC | #1
On Sun, 12 Apr 2015, Jakub Jelinek wrote:

> 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  <jakub@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"

Hmm, didn't you invert the test for old releases this way?

> +      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"

"... does not immediately follow 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

That looks ok.

Thanks,
Richard.

>    # If this is not a final release, set various parameters accordingly.
>    if [ ${FINAL} -ne 1 ]; then
> 
> 	Jakub
> 
>
diff mbox

Patch

--- 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