gnu-web-doc-update: New module.
authorJim Meyering <meyering@redhat.com>
Fri, 2 Oct 2009 09:03:48 +0000 (11:03 +0200)
committerJim Meyering <meyering@redhat.com>
Fri, 2 Oct 2009 09:08:09 +0000 (11:08 +0200)
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.

ChangeLog
MODULES.html.sh
build-aux/gnu-web-doc-update [new file with mode: 0755]
modules/gnu-web-doc-update [new file with mode: 0644]

index 0d14e35..15e91dd 100644 (file)
--- 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.
index 42cb57c..e465e3a 100755 (executable)
@@ -3200,6 +3200,7 @@ func_all_modules ()
   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 (executable)
index 0000000..41e989a
--- /dev/null
@@ -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 (file)
index 0000000..5b3e8ac
--- /dev/null
@@ -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