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)

Reply via email to