1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-10 01:12:02 +02:00

maint: automate the web-doc updating procedure

* gnu-web-doc-update: New script, destined for gnulib.
* README-release: Refer to the new script.
This commit is contained in:
Jim Meyering
2009-09-21 08:56:17 +02:00
parent a2883947bc
commit c48003a53c
2 changed files with 42 additions and 11 deletions

View File

@@ -81,17 +81,8 @@ Once all the builds and tests have passed,
Then go here to approve it:
https://savannah.gnu.org/news/approve.php?group=coreutils
* For non-alpha releases, update the on-line manual at
* After each non-alpha release, update the on-line manual accessible via
http://www.gnu.org/software/coreutils/manual/
Run `make web-manual', then copy the contents of doc/manual
into a CVS checkout of the coreutils manual repository.
Also edit coreutils.html (FIXME? why?) before doing a CVS commit.
CVS_RSH=ssh \
cvs -d:ext:$USER@cvs.savannah.gnu.org:/web/coreutils co coreutils
Be sure to "cvs add -ko" any files that "cvs status" marks with "?".
That is necessary whenever a new texinfo node is added. Each becomes
a new file in html_node that must then be "cvs add"ed.
by running the gnu-web-doc-update script.

40
gnu-web-doc-update Executable file
View File

@@ -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
)