From 14a5c1068d3751173dc41f3097b12e95791b2160 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Sat, 20 Apr 2024 08:24:58 +0000 Subject: [PATCH] man: do not ignore the exit status of roff tools PR: 223516 Approved by: emaste, bapt Differential Revision: https://reviews.freebsd.org/D44798 --- usr.bin/man/man.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index fd51648757a..03803b77746 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -33,6 +33,12 @@ # it is better to terminate it. ulimit -t 20 +# do not ignore the exit status of roff tools +set -o pipefail + +# ignore SIGPIPE exits because pagers may exit before reading all their input. +trap '' SIGPIPE + # Usage: add_to_manpath path # Adds a variable to manpath while ensuring we don't have duplicates. # Returns true if we were able to add something. False otherwise. @@ -312,7 +318,7 @@ man_check_for_so() { # We need to loop to accommodate multiple .so directives. while true do - line=$($cattool "$manpage" | head -n1) + line=$($cattool "$manpage" 2>/dev/null | head -n1) case "$line" in .so*) trim "${line#.so}" decho "$manpage includes $tstr"