On Thu, 3 May 2018, Jakub Jelinek wrote: > Hi! > > The following is an attempt to verify two steps from releasing.html > which are needed before the gcc_release is run, but we sometimes forget to > do it before that, so either NEWS in the tarballs doesn't contain info > about the new major release at all, or doesn't contain info about the > current release in those pages. > > This will complain before tagging the release. > > Tested with a dry run with exit 0 after the second hunk, ok for trunk?
LGTM. Richard. > 2018-05-03 Jakub Jelinek <ja...@redhat.com> > > PR other/85622 > * gcc_release: For -f, verify contrib/gennews has the major version > pages listed and both index.html and changes.html have been updated > for the new release. > > --- maintainer-scripts/gcc_release.jj 2018-01-25 12:13:11.204328565 +0100 > +++ maintainer-scripts/gcc_release 2018-05-03 10:59:10.597852827 +0200 > @@ -9,7 +9,7 @@ > # Contents: > # Script to create a GCC release. > # > -# Copyright (c) 2001-2015 Free Software Foundation. > +# Copyright (c) 2001-2018 Free Software Foundation. > # > # This file is part of GCC. > # > @@ -109,6 +109,36 @@ build_sources() { > > ${SVN} -q co "${SVNROOT}/${SVNBRANCH}" "`basename ${SOURCE_DIRECTORY}`" > ||\ > error "Could not check out release sources" > + > + grep -q "gcc-${RELEASE_MAJOR}/index.html > gcc-${RELEASE_MAJOR}/changes.html" \ > + ${SOURCE_DIRECTORY}/contrib/gennews ||\ > + error "New release not listed in contrib/gennews" > + > + ${SOURCE_DIRECTORY}/contrib/gennews > NEWS ||\ > + error "Could not regenerate NEWS files" > + > + grep -q "no releases of GCC ${RELEASE_MAJOR} have yet been made" NEWS &&\ > + error "gcc-${RELEASE_MAJOR}/index.html has not been updated yet" > + > + grep -q "GCC ${RELEASE_MAJOR} has not been released yet" NEWS &&\ > + error "gcc-${RELEASE_MAJOR}/changes.html has not been updated yet" > + > + thisindex="http:\/\/gcc.gnu.org\/gcc-${RELEASE_MAJOR}\/index.html" > + thischanges="http:\/\/gcc.gnu.org\/gcc-${RELEASE_MAJOR}\/changes.html" > + previndex="http:\/\/gcc.gnu.org\/gcc-`expr ${RELEASE_MAJOR} - > 1`\/index.html" > + sed -n -e "/^${thisindex}/,/^${thischanges}/p" NEWS |\ > + sed -n -e "/Release History/,/References and Acknowledgments/p" |\ > + grep -q "GCC ${RELEASE_MAJOR}.${RELEASE_MINOR}" ||\ > + error "GCC ${RELEASE_MAJOR}.${RELEASE_MINOR} not mentioned "\ > + "in gcc-${RELEASE_MAJOR}/index.html" > + > + sed -n -e "/^${thischanges}/,/^${previndex}/p" NEWS |\ > + grep -q "^GCC ${RELEASE_MAJOR}.${RELEASE_MINOR}" ||\ > + error "GCC ${RELEASE_MAJOR}.${RELEASE_MINOR} not mentioned "\ > + "in gcc-${RELEASE_MAJOR}/changes.html" > + > + rm -f NEWS > + > svnciargs="" > for x in `changedir ${SOURCE_DIRECTORY} && \ > find . -name ChangeLog`; do > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)