]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tools: checkman.sh portability lexgrog
authorJ William Piggott <elseifthen@gmx.com>
Mon, 12 Jan 2015 20:19:45 +0000 (15:19 -0500)
committerJ William Piggott <elseifthen@gmx.com>
Tue, 13 Jan 2015 16:43:45 +0000 (11:43 -0500)
checkman.sh depends upon the man-db package:
   Add using grog when lexgrog not installed.

   /dev/null some troff noise.

Signed-off-by: J William Piggott <elseifthen@gmx.com>
tools/checkmans.sh

index 6b80853ccdd786dff64c57f2f9f2c696e8cc8850..513a7507dbdfd6478c0388b787198162b43ea8fe 100755 (executable)
@@ -90,11 +90,23 @@ for I in $(
        echo "From: cat ${I} | troff -mandoc -ww -z"
        echo "=================================================="
        fi
-       if ! lexgrog ${I} >/dev/null; then
-               echo "error: run: lexgrog ${I}" >&2
-               I_ERR=1
+       GROG=1
+       if command -v lexgrog &> /dev/null; then
+               if ! lexgrog ${I} >/dev/null; then
+                       echo "error: run: lexgrog ${I}"
+                       echo "=================================================="
+                       ((++COUNT_ERRORS))
+               fi
+       elif command -v grog &> /dev/null; then
+               if ! grog ${I} | grep man >/dev/null; then
+                       echo "error: grog ${I} is not a man file"
+                       echo "=================================================="
+                       ((++COUNT_ERRORS))
+               fi
+       else
+       GROG=0
        fi
-       REPEATS=( $(cat ${I} | troff -mandoc -ww -Tascii | grotty |
+       REPEATS=( $(cat ${I} | troff -mandoc -Tascii 2>/dev/null | grotty |
                col -b |
                sed  -e 's/\s\+/\n/g; /^$/d' |
                awk 'BEGIN { p="" } { if (0 < length($0)) { if (p == $0) { print } } p = $0 }') )
@@ -147,8 +159,12 @@ for I in ${!BIN_LIST[@]}; do
 done
 set -u
 
+if [ ${GROG} = 0 ]; then
+echo "warning: neither grog nor lexgrog commands were found"
+fi
+
 if [ ${COUNT_ERRORS} -ne 0 ]; then
-       echo "error: ${SCRIPT_INVOCATION_SHORT_NAME}: ${COUNT_ERRORS} manuals failed" >&2
+       echo "error: ${SCRIPT_INVOCATION_SHORT_NAME}: ${COUNT_ERRORS} manuals failed"
        exit 1
 fi