File: man-lint

package info (click to toggle)
pcp 5.2.6-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 185,908 kB
  • sloc: ansic: 307,504; sh: 138,932; xml: 90,613; cpp: 65,924; python: 18,517; perl: 16,958; yacc: 8,925; lex: 2,843; makefile: 1,502; fortran: 60; java: 52
file content (39 lines) | stat: -rwxr-xr-x 865 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
#
# man page lint checking, mainly for use in PCP CI builds.
# Usage: scripts/man-lint <file>...
#
# Note: silently exits if 'mandoc' utility is unavailable.
# Will also (optionally) use 'lexgrog' if it is installed,
# as a secondary static check.
#

which mandoc >/dev/null 2>&1
[ $? -eq 0 ] || exit 0	# not installed

sts=1
tmp=`mktemp -d /tmp/pcp.XXXXXXXXX` || exit 1
trap "rm -rf $tmp; exit \$sts" 0 1 2 3 15

mandoc -T lint "$@" \
    | grep -v ' UNSUPP: ' \
    | grep -v ' WARNING: missing date' \
    | grep -v ' WARNING: cannot parse date' \
> $tmp/mandoc 2>&1

if test -s $tmp/mandoc
then
    cat $tmp/mandoc	# failure, report issues
else
    which lexgrog >/dev/null 2>&1
    if test $? -eq 0
    then
	lexgrog "$@" > $tmp/lexgrog
	sts=$?
	[ $sts -ne 0 ] && cat $tmp/lexgrog	# failure, report issues
    else
        sts=0
    fi
fi

exit $sts