summaryrefslogtreecommitdiff
path: root/maintainer-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'maintainer-scripts')
-rw-r--r--maintainer-scripts/ChangeLog51
-rw-r--r--maintainer-scripts/crontab3
-rwxr-xr-xmaintainer-scripts/gcc_release48
-rwxr-xr-xmaintainer-scripts/update_version_svn2
-rwxr-xr-xmaintainer-scripts/update_web_docs_libstdcxx_svn4
-rwxr-xr-xmaintainer-scripts/update_web_docs_svn51
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