1 | #!/bin/sh
|
---|
2 | # Poor man's placeholder for help2man invocation on systems lacking perl,
|
---|
3 | # or when cross compiling.
|
---|
4 | # It just copies the distributed man pages.
|
---|
5 |
|
---|
6 | set -e; set -u
|
---|
7 |
|
---|
8 | fatal_ ()
|
---|
9 | {
|
---|
10 | printf '%s: %s\n' "$0" "$*" >&2
|
---|
11 | exit 1
|
---|
12 | }
|
---|
13 |
|
---|
14 | basename_ ()
|
---|
15 | {
|
---|
16 | printf '%s\n' "$1" | sed 's,.*/,,'
|
---|
17 | }
|
---|
18 |
|
---|
19 | output=
|
---|
20 | source="GNU sed"
|
---|
21 | while test $# -gt 0; do
|
---|
22 | case $1 in
|
---|
23 | # Help2man options we recognize and handle.
|
---|
24 | --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;;
|
---|
25 | --output) shift; output=$1;;
|
---|
26 | --include=*) include=`expr x"$1" : x'--include=\(.*\)'`;;
|
---|
27 | --include) shift; include=$1;;
|
---|
28 | --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;;
|
---|
29 | --source) shift; source=$1;;
|
---|
30 | # Recognize (as no-op) other help2man options that might be used
|
---|
31 | # in the makefile.
|
---|
32 | --info-page=*);;
|
---|
33 | -*) fatal_ "invalid or unrecognized help2man option '$1'";;
|
---|
34 | --) shift; break;;
|
---|
35 | *) break;;
|
---|
36 | esac
|
---|
37 | shift
|
---|
38 | done
|
---|
39 |
|
---|
40 | test $# -gt 0 || fatal_ "missing argument"
|
---|
41 | test $# -le 1 || fatal_ "too many non-option arguments"
|
---|
42 |
|
---|
43 | dist_man=$(printf '%s\n' "$include" | sed 's/\.x$/.1/')
|
---|
44 | test -f "$dist_man" && cp "$dist_man" "$output" && exit || :
|
---|
45 |
|
---|
46 | baseout=`basename_ "$output"`
|
---|
47 | sed 's/^/WARNING: /' >&2 <<END
|
---|
48 | Did not generate or find default '$baseout' man page.
|
---|
49 | Creating a stub man page instead.
|
---|
50 | END
|
---|
51 |
|
---|
52 | progname=`basename_ "$1"`
|
---|
53 | bs='\'
|
---|
54 |
|
---|
55 | cat >"$output" <<END
|
---|
56 | .TH "$progname" 1 "$source" "User Commands"
|
---|
57 | .SH NAME
|
---|
58 | $progname $bs- stream editor for filtering and transforming text
|
---|
59 | .SH DESCRIPTION
|
---|
60 | .B OOPS!
|
---|
61 | We were unable to create a proper manual page for
|
---|
62 | .B $progname.
|
---|
63 | For concise option descriptions, run
|
---|
64 | .IP
|
---|
65 | .B env $progname --help
|
---|
66 | .PP
|
---|
67 | The full documentation for
|
---|
68 | .B $progname
|
---|
69 | is maintained as a Texinfo manual, which should be accessible
|
---|
70 | on your system via the command
|
---|
71 | .IP
|
---|
72 | .B info sed invoking
|
---|
73 | END
|
---|