This is the mail archive of the 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, Mark Mitchell wrote:
>>> There are four entries for GCC 3.3 release in all ChangeLogs. Like this:
> Let's give it a try.  Please put it on the mainline.  If you would,
> would you also updates release.html to say "For the GCC 3.4 release,
> verify that at least one ChangeLog entry has been created by the release
> script?"  I'll remove that once 3.4 is out.

I have now committed the modified patch below...

On Thu, 15 May 2003, Joseph S. Myers wrote:
> You can test this sort of thing against an rsynced copy of the repository
> (so it needn't wait for 3.4 to come into effect, or require any artificial
> extra entries on the release instructions).

...and verified the patch by repeatedly running the script for GCC 3.3.9
and 3.3.10 (locally, of course <g>).

Mark, do you want the note in releasing.html nevertheless?  And should
this go to the 3.3-branch as well to avoid duplicate ChangeLog entries


2003-05-24  Gerald Pfeifer  <>

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

Index: gcc_release
RCS file: /cvs/gcc/gcc/maintainer-scripts/gcc_release,v
retrieving revision 1.24
diff -u -5 -p -r1.24 gcc_release
--- gcc_release	20 May 2003 11:47:50 -0000	1.24
+++ gcc_release	23 May 2003 22:51:28 -0000
@@ -120,21 +120,26 @@ build_sources() {

     ${CVS} co -d "`basename ${SOURCE_DIRECTORY}`" \
            -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} > /dev/null ; then
+        cat - ${x} > ${x}.new <<EOF
 ${LONG_DATE}  Release Manager

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

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

     # Update `gcc/version.c'.
     for x in gcc/version.c; do
       y=`basename ${x}`

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