This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Change gcc_release for 5+
- From: Richard Biener <rguenther at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 13 Apr 2015 10:26:35 +0200 (CEST)
- Subject: Re: [PATCH] Change gcc_release for 5+
- Authentication-results: sourceware.org; auth=none
- References: <20150412205354 dot GC1735 at tucnak dot redhat dot com> <alpine dot LSU dot 2 dot 11 dot 1504130941210 dot 6786 at zhemvz dot fhfr dot qr> <20150413081532 dot GH1735 at tucnak dot redhat dot com>
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)