summaryrefslogtreecommitdiff
path: root/gnu-web-doc-update
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-09-21 08:56:17 +0200
committerJim Meyering <meyering@redhat.com>2009-09-21 08:56:17 +0200
commitc48003a53cbeee75dd34f5c3932a60ee97defb28 (patch)
tree99a3b23648af7952411914d6fdd29c07f9a26223 /gnu-web-doc-update
parenta2883947bc7bcc5e4cb3d18d55f60998383cdef9 (diff)
downloadcoreutils-c48003a53cbeee75dd34f5c3932a60ee97defb28.tar.xz
maint: automate the web-doc updating procedure
* gnu-web-doc-update: New script, destined for gnulib. * README-release: Refer to the new script.
Diffstat (limited to 'gnu-web-doc-update')
-rwxr-xr-xgnu-web-doc-update40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu-web-doc-update b/gnu-web-doc-update
new file mode 100755
index 000000000..41e989add
--- /dev/null
+++ b/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
+)