root / autotools / check-man-references @ 2c04ae0d
History | View | Annotate | Download (1.5 kB)
1 | 58997abb | Michael Hanselmann | #!/bin/bash |
---|---|---|---|
2 | 58997abb | Michael Hanselmann | # |
3 | 58997abb | Michael Hanselmann | |
4 | 58997abb | Michael Hanselmann | # Copyright (C) 2013 Google Inc. |
5 | 58997abb | Michael Hanselmann | # |
6 | 58997abb | Michael Hanselmann | # This program is free software; you can redistribute it and/or modify |
7 | 58997abb | Michael Hanselmann | # it under the terms of the GNU General Public License as published by |
8 | 58997abb | Michael Hanselmann | # the Free Software Foundation; either version 2 of the License, or |
9 | 58997abb | Michael Hanselmann | # (at your option) any later version. |
10 | 58997abb | Michael Hanselmann | # |
11 | 58997abb | Michael Hanselmann | # This program is distributed in the hope that it will be useful, but |
12 | 58997abb | Michael Hanselmann | # WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | 58997abb | Michael Hanselmann | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | 58997abb | Michael Hanselmann | # General Public License for more details. |
15 | 58997abb | Michael Hanselmann | # |
16 | 58997abb | Michael Hanselmann | # You should have received a copy of the GNU General Public License |
17 | 58997abb | Michael Hanselmann | # along with this program; if not, write to the Free Software |
18 | 58997abb | Michael Hanselmann | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
19 | 58997abb | Michael Hanselmann | # 02110-1301, USA. |
20 | 58997abb | Michael Hanselmann | |
21 | 58997abb | Michael Hanselmann | set -e -u -o pipefail |
22 | 58997abb | Michael Hanselmann | |
23 | 58997abb | Michael Hanselmann | # Use array for arguments so that comments can be inline |
24 | 58997abb | Michael Hanselmann | args=( |
25 | 58997abb | Michael Hanselmann | # "...name*(8)" (missing backslash) |
26 | 58997abb | Michael Hanselmann | -e '\w+\*+\([0-9]*\)' |
27 | 58997abb | Michael Hanselmann | |
28 | 58997abb | Michael Hanselmann | # "...name(8)" (no asterisk) |
29 | 58997abb | Michael Hanselmann | -e '\w+\([0-9]*\)' |
30 | 58997abb | Michael Hanselmann | |
31 | 58997abb | Michael Hanselmann | # "...name(8)*" (asterisk after number) |
32 | 58997abb | Michael Hanselmann | -e '\w+\([0-9]*\)\*' |
33 | 58997abb | Michael Hanselmann | |
34 | 58997abb | Michael Hanselmann | # "...name*\(8)" (only one asterisk before backslash) |
35 | 58997abb | Michael Hanselmann | -e '\w+\*\\\([0-9]*\)' |
36 | 58997abb | Michael Hanselmann | |
37 | 58997abb | Michael Hanselmann | # ":manpage:..." (Sphinx-specific) |
38 | 58997abb | Michael Hanselmann | -e ':manpage:' |
39 | 58997abb | Michael Hanselmann | ) |
40 | 58997abb | Michael Hanselmann | |
41 | 58997abb | Michael Hanselmann | for fname; do |
42 | 58997abb | Michael Hanselmann | # Ignore title and then look for faulty references |
43 | 58997abb | Michael Hanselmann | if tail -n +2 $fname | grep -n -E -i "${args[@]}"; then |
44 | 58997abb | Michael Hanselmann | { |
45 | 58997abb | Michael Hanselmann | echo "Found faulty man page reference(s) in '$fname'."\ |
46 | 58997abb | Michael Hanselmann | 'Use syntax "**name**\(number)" instead.'\ |
47 | 58997abb | Michael Hanselmann | 'Example: **gnt-instance**\(8).' |
48 | 58997abb | Michael Hanselmann | } >&2 |
49 | 58997abb | Michael Hanselmann | exit 1 |
50 | 58997abb | Michael Hanselmann | fi |
51 | 58997abb | Michael Hanselmann | done |