Revision 58997abb

b/Makefile.am
23 23
CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code
24 24
CHECK_HEADER = $(top_srcdir)/autotools/check-header
25 25
CHECK_MAN_DASHES = $(top_srcdir)/autotools/check-man-dashes
26
CHECK_MAN_REFERENCES = $(top_srcdir)/autotools/check-man-references
26 27
CHECK_MAN_WARNINGS = $(top_srcdir)/autotools/check-man-warnings
27 28
CHECK_VERSION = $(top_srcdir)/autotools/check-version
28 29
CHECK_NEWS = $(top_srcdir)/autotools/check-news
......
794 795
	autotools/check-header \
795 796
	autotools/check-imports \
796 797
	autotools/check-man-dashes \
798
	autotools/check-man-references \
797 799
	autotools/check-man-warnings \
798 800
	autotools/check-news \
799 801
	autotools/check-python-code \
......
1193 1195
	| $(RUN_IN_TEMPDIR) $(BUILT_PYTHON_SOURCES)
1194 1196
	@echo "Checking $< for hardcoded paths..."
1195 1197
	@if grep -nEf autotools/wrong-hardcoded-paths $<; then \
1196
	  echo "Man page $< has harcoded paths (see above)!" 1>&2 ; \
1198
	  echo "Man page $< has hardcoded paths (see above)!" 1>&2 ; \
1197 1199
	  exit 1; \
1198 1200
	fi
1199 1201
	set -e ; \
1200 1202
	trap 'echo auto-removing $@; rm $@' EXIT; \
1201 1203
	PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(DOCPP) < $< > $@ ;\
1204
	$(CHECK_MAN_REFERENCES) $@; \
1202 1205
	trap - EXIT
1203 1206

  
1204 1207
man/%.7.in man/%.8.in man/%.1.in: man/%.gen man/footer.rst
b/autotools/check-man-references
1
#!/bin/bash
2
#
3

  
4
# Copyright (C) 2013 Google Inc.
5
#
6
# This program is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 2 of the License, or
9
# (at your option) any later version.
10
#
11
# This program is distributed in the hope that it will be useful, but
12
# WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
# General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License
17
# along with this program; if not, write to the Free Software
18
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
# 02110-1301, USA.
20

  
21
set -e -u -o pipefail
22

  
23
# Use array for arguments so that comments can be inline
24
args=(
25
  # "...name*(8)" (missing backslash)
26
  -e '\w+\*+\([0-9]*\)'
27

  
28
  # "...name(8)" (no asterisk)
29
  -e '\w+\([0-9]*\)'
30

  
31
  # "...name(8)*" (asterisk after number)
32
  -e '\w+\([0-9]*\)\*'
33

  
34
  # "...name*\(8)" (only one asterisk before backslash)
35
  -e '\w+\*\\\([0-9]*\)'
36

  
37
  # ":manpage:..." (Sphinx-specific)
38
  -e ':manpage:'
39
  )
40

  
41
for fname; do
42
  # Ignore title and then look for faulty references
43
  if tail -n +2 $fname | grep -n -E -i "${args[@]}"; then
44
    {
45
      echo "Found faulty man page reference(s) in '$fname'."\
46
           'Use syntax "**name**\(number)" instead.'\
47
           'Example: **gnt-instance**\(8).'
48
    } >&2
49
    exit 1
50
  fi
51
done

Also available in: Unified diff