diff options
Diffstat (limited to 'maintainer-scripts')
-rw-r--r-- | maintainer-scripts/ChangeLog | 51 | ||||
-rw-r--r-- | maintainer-scripts/crontab | 3 | ||||
-rwxr-xr-x | maintainer-scripts/gcc_release | 48 | ||||
-rwxr-xr-x | maintainer-scripts/update_version_svn | 2 | ||||
-rwxr-xr-x | maintainer-scripts/update_web_docs_libstdcxx_svn | 4 | ||||
-rwxr-xr-x | maintainer-scripts/update_web_docs_svn | 51 |
6 files changed, 136 insertions, 23 deletions
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 4e551beddae..8449a9dd3fa 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,54 @@ +2015-04-13 Jakub Jelinek <jakub@redhat.com> + + * update_version_svn: Update DATESTAMP also on + branches/gcc-[0-9]+-branch. + + * 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. + +2015-04-12 Jakub Jelinek <jakub@redhat.com> + + * gcc_release: For RELEASE_MAJOR 5+ only use the major + number in branch name. When doing final release of 5+, + if BASE-VER doesn't match release, but is *.*.1 for the + one smaller minor version, bump BASE-VER. + + * crontab: Enable snapshots from gcc-5-branch. + +2015-04-07 Gerald Pfeifer <gerald@pfeifer.com> + + * update_web_docs_libstdcxx_svn (FILTER): Introduce. + Use to filter output of the copying process. + +2015-02-25 Arnaud Charlet <charlet@adacore.com> + + * update_web_docs_svn: Preserve gcc/ada/*.png. Update comments. + +2015-02-25 Arnaud Charlet <charlet@adacore.com> + + * update_web_docs_svn: Add -I gcc/gcc/ada/doc/gnat_ugn for gnat_ugn + +2015-02-06 David Malcolm <dmalcolm@redhat.com> + + PR jit/64257 + * update_web_docs_svn: When copying up files for the built jit + documentation, also copy up .txt files. + +2015-02-04 David Malcolm <dmalcolm@redhat.com> + + PR jit/64257 + * update_web_docs_svn: Update build of jit docs to use EPEL6 + variant install of sphinx 1.0.8, rather than 0.6.6. + +2015-01-26 David Malcolm <dmalcolm@redhat.com> + + PR jit/64257 + * update_web_docs_svn: Don't delete gcc/jit/docs or + gcc/jit/jit-common.h, gcc/jit/notes.txt. Special case the + building of the JIT docs (using sphinx-build). Special case + copying them up. + 2014-08-14 Richard Biener <rguenther@suse.de> * crontab: Change trunk snapshots from 4.10 to 5. diff --git a/maintainer-scripts/crontab b/maintainer-scripts/crontab index 663858ff75e..8855b5192f8 100644 --- a/maintainer-scripts/crontab +++ b/maintainer-scripts/crontab @@ -1,6 +1,7 @@ 16 0 * * * sh /home/gccadmin/scripts/update_version_svn 50 0 * * * sh /home/gccadmin/scripts/update_web_docs_svn 55 0 * * * sh /home/gccadmin/scripts/update_web_docs_libstdcxx_svn +32 22 * * 2 sh /home/gccadmin/scripts/gcc_release -s 5:branches/gcc-5-branch -l -d /sourceware/snapshot-tmp/gcc all 32 22 * * 3 sh /home/gccadmin/scripts/gcc_release -s 4.9:branches/gcc-4_9-branch -l -d /sourceware/snapshot-tmp/gcc all 32 22 * * 4 sh /home/gccadmin/scripts/gcc_release -s 4.8:branches/gcc-4_8-branch -l -d /sourceware/snapshot-tmp/gcc all -32 22 * * 7 sh /home/gccadmin/scripts/gcc_release -s 5:trunk -l -d /sourceware/snapshot-tmp/gcc all +32 22 * * 7 sh /home/gccadmin/scripts/gcc_release -s 6:trunk -l -d /sourceware/snapshot-tmp/gcc all diff --git a/maintainer-scripts/gcc_release b/maintainer-scripts/gcc_release index c20b410bd22..639b2559aec 100755 --- a/maintainer-scripts/gcc_release +++ b/maintainer-scripts/gcc_release @@ -9,7 +9,7 @@ # Contents: # Script to create a GCC release. # -# Copyright (c) 2001-2014 Free Software Foundation. +# Copyright (c) 2001-2015 Free Software Foundation. # # This file is part of GCC. # @@ -109,33 +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. - [ `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 + [ ${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) || \ + error "Could not update BASE-VER" + svnciargs="${svnciargs} gcc/BASE-VER" + else + 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" @@ -605,7 +621,11 @@ if [ $SNAPSHOT -eq 0 ]; then # Compute the name of the branch, which is based solely on the major # and minor release numbers. - SVNBRANCH="branches/gcc-${RELEASE_MAJOR}_${RELEASE_MINOR}-branch" + if [ ${RELEASE_MAJOR} -ge 5 ]; then + SVNBRANCH="branches/gcc-${RELEASE_MAJOR}-branch" + else + SVNBRANCH="branches/gcc-${RELEASE_MAJOR}_${RELEASE_MINOR}-branch" + fi # If this is not a final release, set various parameters accordingly. if [ ${FINAL} -ne 1 ]; then diff --git a/maintainer-scripts/update_version_svn b/maintainer-scripts/update_version_svn index 800a70e8946..c707acaba06 100755 --- a/maintainer-scripts/update_version_svn +++ b/maintainer-scripts/update_version_svn @@ -20,7 +20,7 @@ SVN=${SVN:-/usr/bin/svn} # Compute the branches which we should update. BRANCHES=`$SVN ls $SVNROOT/branches \ | sed -e 's/\///' \ - | egrep 'gcc-[0-9]+_[0-9]+-branch$' \ + | egrep 'gcc-[0-9]+(_[0-9]+)?-branch$' \ | egrep -v $IGNORE_BRANCHES` # Always update the mainline. BRANCHES="${BRANCHES} ${ADD_BRANCHES}" diff --git a/maintainer-scripts/update_web_docs_libstdcxx_svn b/maintainer-scripts/update_web_docs_libstdcxx_svn index 10d45f5c4eb..efceaf9a2c3 100755 --- a/maintainer-scripts/update_web_docs_libstdcxx_svn +++ b/maintainer-scripts/update_web_docs_libstdcxx_svn @@ -19,6 +19,7 @@ WWWDIR=/www/gcc/htdocs/onlinedocs/libstdc++ ## No more changes should be needed. Ha, right, whatever. ##################################################################### +FILTER="newer or same age version exists|0 blocks" PATH=/usr/local/bin:$PATH export SVNROOT @@ -38,8 +39,7 @@ cd doc rm -f Makefile # copy the tree to the onlinedocs area, preserve directory structure -#find . -depth -print | cpio -pdv $WWWDIR -find . -depth -print | cpio -pd $WWWDIR 2>&1 | grep -v "newer or same age version exists" +find . -depth -print | cpio -pd $WWWDIR 2>&1 | egrep -v "$FILTER" err=${PIPESTATUS[1]} if [ $err -gt 0 ]; then diff --git a/maintainer-scripts/update_web_docs_svn b/maintainer-scripts/update_web_docs_svn index c66122068bf..46e34d10fe4 100755 --- a/maintainer-scripts/update_web_docs_svn +++ b/maintainer-scripts/update_web_docs_svn @@ -107,15 +107,21 @@ else svn -q export $SVNROOT/tags/$RELEASE gcc fi -# Remove all unwanted files. This is needed (a) to build the Ada -# generator programs with the installed library, not the new one and -# (b) to avoid packaging all the sources instead of only documentation -# sources. +# Remove all unwanted files. This is needed to avoid packaging all the +# sources instead of only documentation sources. +# Note that we have to preserve gcc/jit/docs since the jit docs are +# not .texi files (Makefile, .rst and .png), and the jit docs use +# include directives to pull in content from jit/jit-common.h and +# jit/notes.txt, so we have to preserve those also. find gcc -type f \( -name '*.texi' \ -o -path gcc/gcc/doc/install.texi2html \ -o -path gcc/gcc/doc/include/texinfo.tex \ -o -path gcc/gcc/BASE-VER \ -o -path gcc/gcc/DEV-PHASE \ + -o -path "gcc/gcc/ada/doc/gnat_ugn/*.png" \ + -o -path "gcc/gcc/jit/docs/*" \ + -o -path "gcc/gcc/jit/jit-common.h" \ + -o -path "gcc/gcc/jit/notes.txt" \ -o -print0 \) | xargs -0 rm -f # Build a tarball of the sources. @@ -148,7 +154,7 @@ for file in $MANUALS; do if [ "${filename}" ]; then includes="-I ${includedir} -I `dirname ${filename}`" if [ "$file" = "gnat_ugn" ]; then - includes="$includes -I gcc/gcc/ada" + includes="$includes -I gcc/gcc/ada -I gcc/gcc/ada/doc/gnat_ugn" fi makeinfo --html $includes -o ${file} ${filename} tar cf ${file}-html.tar ${file}/*.html @@ -158,6 +164,26 @@ for file in $MANUALS; do fi done +# The jit is a special-case, using sphinx rather than texinfo. +# Specifically, the jit docs need sphinx 1.0 or later. +# +# The jit/docs Makefile uses the executable $(SPHINXBUILD), +# defaulting to "sphinx-build". +# +# sphinx is packaged in Fedora and EPEL 6 within "python-sphinx", +# and in openSUSE within "python-Sphinx". +# +# For EPEL6, python-sphinx is sphinx 0.6.6, which is missing various +# directives (e.g. ":c:macro:"), so we need the variant +# python-sphinx10 package. The latter installs its executable as +# /usr/bin/sphinx-1.0-build +# so we need to override SPHINXBUILD with this when invoking "make". +pushd gcc/gcc/jit/docs +make SPHINXBUILD=/usr/bin/sphinx-1.0-build html +popd +cp -a gcc/gcc/jit/docs/_build/html jit +mkdir -p $DOCSDIR/jit + # Work around makeinfo generated file names and references with # "_002d" instead of "-". find . -name '*.html' | while read f; do @@ -204,6 +230,21 @@ for file in */*.html *.ps *.pdf *.tar; do fi done +# Again, the jit is a special case, with nested subdirectories +# below "jit", and with some non-HTML files (.png images from us, +# plus .css and .js supplied by sphinx, and source files, renamed +# from .rst to .txt). +find jit \ + -name "*.html" -o -name "*.png" \ + -o -name "*.css" -o -name "*.js" \ + -o -name "*.txt" | + while read file ; do + # Note that $file here will contain path fragments beginning + # with "jit/", e.g. "jit/cp/topics/functions.html" + mkdir -p $(dirname $DOCSDIR/$file) + cp $file $DOCSDIR/$file + done + cd $DOCSDIR # Finally, generate the installation documentation |