mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-21 03:12:48 +02:00
Commit cde1ea0e separated the coreutils-specific patches from help2man. Most changes had been made to accommodate to the coreutils style guide, i.e., to avoid syntax-check failures like sc_long_lines. Yet 2 changes had to be put into the patch help2man.diff. But this added the dependency to patch(1) in distribution builds. Incidentally, the 2 remaining parts of the patch can easily be done outside of help2man. Therefore, this commit partly reverts the recent separation of help2man into 'help2man.in' and 'help2man.diff', and instead uses the original help2man script. * man/help2man.in: Rename to ... * man/help2man: ... this file. * man/help2man.diff: Remove. * man/local.mk (mandeps): Remove man/help2man. (man/help2man): Remove recipe. (.x.1): Add the --info-page option when calling help2man in order to change the name of the texinfo manual from the default, "info PRG", to "info coreutils 'PRG invocation'". Furthermore, use an sed pattern to remove the sentence starting with "For complete documentation". * .gitignore (/man/help2man): Remove entry. * .x-update-copyright: Replace the entries for the files 'man/help2man.diff' and 'man/help2man.in' by 'man/help2man'. * cfg.mk (sc_long_lines): Instead of 'man/help2man.in', exempt 'man/help2man' from this test. (sc_po_check): Likewise. (sc_space_tab): Instead of 'man/help2man.diff', exempt 'man/help2man' from this test. (sc_trailing_blank): Likewise. (sc_prohibit_tab_based_indentation): Instead of 'man/help2man.in' and 'man/help2man.diff', exempt 'man/help2man'. * man/dummy-man: Recognize the option --info-page=... as no-op.
74 lines
1.8 KiB
Bash
Executable File
74 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# Poor man's placeholder for help2man invocation on systems lacking perl;
|
|
# it generates a dummy man page stating that a proper one could not be
|
|
# generated, and redirecting the user back to either the info
|
|
# documentation or the '--help' output.
|
|
|
|
set -e; set -u
|
|
|
|
fatal_ ()
|
|
{
|
|
printf '%s: %s\n' "$0" "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
basename_ ()
|
|
{
|
|
printf '%s\n' "$1" | sed 's,.*/,,'
|
|
}
|
|
|
|
output=
|
|
source="GNU coreutils"
|
|
while test $# -gt 0; do
|
|
case $1 in
|
|
# Help2man options we recognize and handle.
|
|
--output=*) output=`expr x"$1" : x'--output=\(.*\)'`;;
|
|
--output) shift; output=$1;;
|
|
--source=*) source=`expr x"$1" : x'--source=\(.*\)'`;;
|
|
--source) shift; source=$1;;
|
|
# Recognize (as no-op) other help2man options that might be used
|
|
# in the makefile.
|
|
--include=*);;
|
|
--include) shift;;
|
|
--info-page=*);;
|
|
-*) fatal_ "invalid or unrecognized help2man option '$1'";;
|
|
--) shift; break;;
|
|
*) break;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
test $# -gt 0 || fatal_ "missing argument"
|
|
test $# -le 1 || fatal_ "too many non-option arguments"
|
|
|
|
baseout=`basename_ "$output"`
|
|
sed 's/^/WARNING: /' >&2 <<END
|
|
Cannot create proper '$baseout' man page, since perl is missing or
|
|
inadequate on this system. Creating a stub man page instead.
|
|
END
|
|
|
|
progname=`basename_ "$1"`
|
|
year=`LC_ALL=C date +%Y`
|
|
bs='\'
|
|
|
|
cat >"$output" <<END
|
|
.TH "$progname" 1 "$year" "$source" "User Commands"
|
|
.SH NAME
|
|
$progname $bs- a $source program
|
|
.SH DESCRIPTION
|
|
.B OOOPS!
|
|
Due to the lack of perl on the build system, we were
|
|
unable to create a proper manual page for
|
|
.B $progname.
|
|
For concise option descriptions, run
|
|
.IP
|
|
.B env $progname --help
|
|
.PP
|
|
The full documentation for
|
|
.B $progname
|
|
is maintained as a Texinfo manual, which should be accessible
|
|
on your system via the command
|
|
.IP
|
|
.B info coreutils $bs(aq$progname invocation$bs(aq
|
|
END
|