This is the mail archive of the gcc-patches@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: [PATCH] Change gcc_release for 5+


On Mon, 13 Apr 2015, Jakub Jelinek wrote:

> On Mon, Apr 13, 2015 at 09:44:12AM +0200, Richard Biener wrote:
> > > @@ -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
> 
> Guess it should be !=, you're right.
> 
> > > +      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"
> 
> Ok.
> 
> I've committed the patch in the meantime (because the second hunk was really
> needed immediately).
> So here is incremental patch that hopefully fixes what you found and
> also changes it to commit everything at once.
> 
> Does it look ok?  I guess I'll add a echo of then svn ci arguments and
> exit 1 right before the svn ci to test it without committing anything.

Looks good to me.

Richard.

> 2015-04-13  Jakub Jelinek  <jakub@redhat.com>
> 
> 	* gcc_release: Fix up thinko in the last commit, improve error
> 	message.  Commit all ChangeLog, DEV-PHASE and BASE-VER changes
> 	together, rather than doing dozens of separate commits.
> 
> --- gcc/maintainer-scripts/gcc_release.jj	2015-04-12 22:45:36.000000000 +0200
> +++ gcc/maintainer-scripts/gcc_release	2015-04-13 10:06:43.847201786 +0200
> @@ -109,45 +109,49 @@ build_sources() {
>  
>      ${SVN} -q co "${SVNROOT}/${SVNBRANCH}" "`basename ${SOURCE_DIRECTORY}`" ||\
>             error "Could not check out release sources"
> -    for x in `find ${SOURCE_DIRECTORY} -name ChangeLog`; do
> +    svnciargs=""
> +    for x in `changedir ${SOURCE_DIRECTORY} && \
> +	      find . -name ChangeLog`; do
>        # 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
> +      if ! grep "GCC ${RELEASE} released." ${SOURCE_DIRECTORY}/${x} > /dev/null ; then       
> +	cat - ${SOURCE_DIRECTORY}/${x} > ${SOURCE_DIRECTORY}/${x}.new <<EOF
>  ${LONG_DATE}  Release Manager
>  
>  	* GCC ${RELEASE} released.
>  
>  EOF
> -        mv ${x}.new ${x} || \
> -            error "Could not update ${x}"
> -        (changedir `dirname ${x}` && \
> -            ${SVN} -q ci -m 'Mark ChangeLog' `basename ${x}`) || \
> -            error "Could not commit ${x}"
> +	mv ${SOURCE_DIRECTORY}/${x}.new ${SOURCE_DIRECTORY}/${x} \
> +	  || error "Could not update ${x}"
> +	svnciargs="${svnciargs} ${x}"
>        fi
>      done
>  
>      # Update gcc/DEV-PHASE.
>  
> -    if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` = ${RELEASE} ]; then
> +    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) || \
> +	 echo ${RELEASE} > BASE-VER) || \
>  	error "Could not update BASE-VER"
> +	svnciargs="${svnciargs} gcc/BASE-VER"
>        else
> -	error "Release number ${RELEASE} does not match BASE-VER"
> +	error "Release number ${RELEASE} does not immediately follow BASE-VER"
>        fi
>      fi
>      (changedir ${SOURCE_DIRECTORY}/gcc && \
> -     : > DEV-PHASE && \
> -     ${SVN} -q ci -m 'Mark as release' DEV-PHASE) || \
> +     : > DEV-PHASE) || \
>      error "Could not update DEV-PHASE"
> +    svnciargs="${svnciargs} gcc/DEV-PHASE"
> +
> +    (changedir ${SOURCE_DIRECTORY} && \
> +     ${SVN} -q ci -m 'Update ChangeLog and version files for release' ${svnciargs}) || \
> +    error "Could not commit ChangeLog and version file updates"
>  
>      # Make sure we tag the sources for a final release.
>      TAG="tags/gcc_`echo ${RELEASE} | tr . _`_release"
> 
> 
> 	Jakub
> 
> 

-- 
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild,
Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)


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