blob: 34b9a32d4f3178b20dc00178ce2e3335dcd9b2db [file] [log] [blame]
#!/bin/bash
#
# Copyright (C) 2013 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
set -e -u -o pipefail
# Use array for arguments so that comments can be inline
args=(
# "...name*(8)" (missing backslash)
-e '\w+\*+\([0-9]*\)'
# "...name(8)" (no asterisk)
-e '\w+\([0-9]*\)'
# "...name(8)*" (asterisk after number)
-e '\w+\([0-9]*\)\*'
# "...name*\(8)" (only one asterisk before backslash)
-e '\w+\*\\\([0-9]*\)'
# ":manpage:..." (Sphinx-specific)
-e ':manpage:'
)
for fname; do
# Ignore title and then look for faulty references
if tail -n +2 $fname | grep -n -E -i "${args[@]}"; then
{
echo "Found faulty man page reference(s) in '$fname'."\
'Use syntax "**name**\(number)" instead.'\
'Example: **gnt-instance**\(8).'
} >&2
exit 1
fi
done