summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-10-02 11:03:48 +0200
committerJim Meyering <meyering@redhat.com>2009-10-02 11:08:09 +0200
commitee6bf517990504ad29488024f2f7dd089e91668c (patch)
tree2acc892e53c44aa24354cf733f88b4a9e47cad55
parentf7b182c11bce2ba412f47a764dd7555a488dbfb1 (diff)
downloadgnulib-ee6bf517990504ad29488024f2f7dd089e91668c.tar.gz
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.
-rw-r--r--ChangeLog8
-rwxr-xr-xMODULES.html.sh1
-rwxr-xr-xbuild-aux/gnu-web-doc-update40
-rw-r--r--modules/gnu-web-doc-update20
4 files changed, 69 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d14e354c3..15e91dd03a 100644
--- 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.
diff --git a/MODULES.html.sh b/MODULES.html.sh
index 42cb57c67e..e465e3a4df 100755
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -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
index 0000000000..41e989add0
--- /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
index 0000000000..5b3e8ac311
--- /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