# HG changeset patch # User Jim Meyering # Date 1254474228 -7200 # Node ID aa533c56d59a8daca8c3bc7cef946aab04dbb79b # Parent 1ef8293b6bbe30d94aac4a45ffe9d4ae7065e1d1 gnu-web-doc-update: New module. Use this script to automatically update the on-line web documentation for your GNU project at http://www.gnu.org/software/$pkg/manual/ * modules/gnu-web-doc-update: New file. * build-aux/gnu-web-doc-update: New script, from coreutils. * MODULES.html.sh (Support for maintaining and releasing projects): Add gnu-web-doc-update. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-10-02 Jim Meyering + + gnu-web-doc-update: New module. + Use this script to automatically update the on-line web documentation + for your GNU project at http://www.gnu.org/software/$pkg/manual/ + * modules/gnu-web-doc-update: New file, from coreutils. + * build-aux/gnu-web-doc-update: New script. + 2009-10-01 Paolo Bonzini link: LoadLibrary is not needed. diff --git a/MODULES.html.sh b/MODULES.html.sh --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -3200,6 +3200,7 @@ func_module autobuild func_module git-version-gen func_module gitlog-to-changelog + func_module gnu-web-doc-update func_module gnumakefile func_module gnupload func_module maintainer-makefile diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update new file mode 100755 --- /dev/null +++ b/build-aux/gnu-web-doc-update @@ -0,0 +1,40 @@ +#!/bin/sh +# Run this after each non-alpha release, to update the web documentation at +# http://www.gnu.org/software/$pkg/manual/ +# Requirements: everything required to bootstrap your package, +# plus these: git, cvs, cvsu, rsync, mktemp + +version=$(cat .prev-version) +pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) +tmp_branch=web-doc-$version-$$ + +cleanup() +{ + __st=$?; + rm -rf "$tmp" + git checkout master + git branch -d $tmp_branch + exit $__st +} +trap cleanup 0 +trap 'exit $?' 1 2 13 15 + +# We must build using sources for which --version reports the +# just-released version number, not some string like 7.6.18-20761. +# That version string propagates into all documentation. +git checkout -b $tmp_branch v$version +./bootstrap && ./configure && make && make web-manual + +tmp=$(mktemp -d --tmpdir=. web-doc-update.XXXXXX) || exit 1 +( cd $tmp \ + && cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) +rsync -avP doc/manual/ $tmp/$pkg/manual + +( + cd $tmp/$pkg/manual + + # Add any new files: + cvsu --types='?'|sed s/..// | xargs --no-run-if-empty -- cvs add -ko + + cvs ci -m $version +) diff --git a/modules/gnu-web-doc-update b/modules/gnu-web-doc-update new file mode 100644 --- /dev/null +++ b/modules/gnu-web-doc-update @@ -0,0 +1,20 @@ +Description: +update the official GNU web documentation for your project + +Files: +build-aux/gnu-web-doc-update + +Depends-on: +gendocs + +configure.ac: + +Makefile.am: + +Include: + +License: +GPLed build tool + +Maintainer: +coreutils