This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.3 Released


On Thu, 15 May 2003, Jie Zhang wrote:
> There are four entries for GCC 3.3 release in all ChangeLogs. Like this:
>
> 2003-05-13 Release Manager
>

This is due to our releases being automatically created a nice script,
which helps avoid operator error, but unconditionally adds such a
ChangeLog entry for every run.

Mark, I have not tested the patch below, because I'm afraid of wreaking
havoc, but this (or a slight variation thereof) should address the problem.

Gerald

2003-05-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_release (build_sources): Only update ChangeLog files which
	do not yet contain the entry we are going to add.

Index: gcc_release
===================================================================
RCS file: /cvs/gcc/gcc/maintainer-scripts/gcc_release,v
retrieving revision 1.22
diff -u -3 -p -r1.22 gcc_release
--- gcc_release	12 May 2003 21:01:03 -0000	1.22
+++ gcc_release	15 May 2003 14:27:17 -0000
@@ -122,18 +122,23 @@ build_sources() {
            -r ${BRANCH} gcc || \
            error "Could not check out release sources"
     for x in `find ${SOURCE_DIRECTORY} -name ChangeLog`; do
-      cat - ${x} > ${x}.new <<EOF
+      # Update this ChangeLog file only if it does not yet contain the
+      # entry we are going to add.  (This is a safety net for repeated
+      # runs of this script for the same release.)
+      if [ ! grep "GCC ${RELEASE} released." ${x} ]; then
+        cat - ${x} > ${x}.new <<EOF
 ${LONG_DATE}  Release Manager

-	* GCC ${RELEASE} Released.
+	* GCC ${RELEASE} released.

 EOF
-      mv ${x}.new ${x} || \
-        error "Could not update ${x}"
-      (changedir `dirname ${x}` && \
-        ${CVS} ci -m 'Mark ChangeLog' `basename ${x}`) || \
-        error "Could not commit ${x}"
-    done
+        mv ${x}.new ${x} || \
+            error "Could not update ${x}"
+        (changedir `dirname ${x}` && \
+            ${CVS} ci -m 'Mark ChangeLog' `basename ${x}`) || \
+            error "Could not commit ${x}"
+        done
+      fi

     # Update `gcc/version.c'.
     for x in gcc/version.c; do


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]