openafs/doc/man-pages/generate-man
Russ Allbery da878c2b9d man-page-bash-bashish-20060308
if ! command is a bashish.  Use if command ; then : ; else instead.
2006-03-08 20:05:59 +00:00

65 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
#
# Generate the OpenAFS man pages from POD source. This script is normally
# invoked by regen.sh but may be run at any time to rebuild all of the man
# pages (with a newer version of pod2man than was used for the release, for
# instance).
# Exit on any error.
set -e
if [ ! -d pod1 ] ; then
echo 'generate-man must be run from the doc/man-pages directory' >&2
exit 1
fi
if pod2man pod1/afs.pod > /dev/null ; then
:
else
echo 'pod2man not found, skipping man page generation' >&2
exit 1
fi
if perl -e 'use Pod::Man 2.04' > /dev/null 2>&1 ; then
:
else
echo 'Pod::Man is older than the recommended version of 2.04 or later' >&2
echo 'Continuing with man page generation anyway' >&2
fi
# Create the directories. We generate each section into its own directory
# to make installation rules easier.
[ -d man1 ] || mkdir man1
[ -d man5 ] || mkdir man5
[ -d man8 ] || mkdir man8
# Generate each set of man pages. For each, allow for the case of the
# directory being empty. In that case, for won't expand the wildcard, and
# we want to avoid running pod2man with a wildcard as an argument.
pod1=`ls pod1`
if [ -n "$pod1" ] ; then
cd pod1
for f in *.pod ; do
pod2man -c 'AFS Command Reference' -r 'OpenAFS' -s 1 "$f" \
> ../man1/`echo "$f" | sed 's/\.pod$//'`.1
done
cd ..
fi
pod5=`ls pod5`
if [ -n "$pod5" ] ; then
cd pod5
for f in *.pod ; do
pod2man -c 'AFS File Reference' -r 'OpenAFS' -s 5 "$f" \
> ../man5/`echo "$f" | sed 's/\.pod$//'`.5
done
cd ..
fi
pod8=`ls pod8`
if [ -n "$pod8" ] ; then
cd pod8
for f in *.pod ; do
pod2man -c 'AFS Command Reference' -r 'OpenAFS' -s 8 "$f" \
> ../man8/`echo "$f" | sed 's/\.pod$//'`.8
done
cd ..
fi