changeset 12087:aa533c56d59a

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.
author Jim Meyering <meyering@redhat.com>
date Fri, 02 Oct 2009 11:03:48 +0200
parents 1ef8293b6bbe
children 2fb195fbc006
files ChangeLog MODULES.html.sh build-aux/gnu-web-doc-update modules/gnu-web-doc-update
diffstat 4 files changed, 69 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-10-02  Jim Meyering  <meyering@redhat.com>
+
+	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  <bonzini@gnu.org>
 
 	link: LoadLibrary is not needed.
--- 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
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
+)
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