[PATCH 2/4] Makefile: Improve recipe for "check-groff-warnings" target

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Fix race condition (don't remove and re-create $GROFF_LOG repeatedly),
* check for failure to create $GROFF_LOG,
* use $TMPDIR if set instead of hardcoded "/tmp",
* quote variables,
* use clobbering redirection (just in case),
* don't create unnecessary subshells,
* add a semicolon for consistency.

Signed-off-by: Alexander Miller <alex.miller@xxxxxx>
---
Note: I didn't remove the trailing space from 'echo "$$i: "' since
some scripts out there may rely on the output format.
---
 Makefile | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 1003843..6531641 100644
--- a/Makefile
+++ b/Makefile
@@ -64,15 +64,15 @@ install:
 # Check if groff reports warnings (may be words of sentences not displayed)
 # from http://lintian.debian.org/tags/manpage-has-errors-from-man.html 
 check-groff-warnings:
-	GROFF_LOG=$$(mktemp /tmp/manpages-checksXXXX); \
+	GROFF_LOG="$$(mktemp --tmpdir manpages-checksXXXX)" || exit $$?; \
 	for i in man?/*.[1-9]; \
 	do \
-		if grep -q 'SH.*NAME' $$i; then \
-			LC_ALL=en_US.UTF-8 MANWIDTH=80 man --warnings -E UTF-8 -l $$i > /dev/null 2>$$GROFF_LOG; \
-			[ -s $$GROFF_LOG ] && ( echo "$$i: " ; cat $$GROFF_LOG ; echo "" ); \
-			rm $$GROFF_LOG 2>/dev/null; \
-		fi \
-	done
+		if grep -q 'SH.*NAME' "$$i"; then \
+			LC_ALL=en_US.UTF-8 MANWIDTH=80 man --warnings -E UTF-8 -l "$$i" > /dev/null 2>| "$$GROFF_LOG"; \
+			[ -s "$$GROFF_LOG" ] && { echo "$$i: "; cat "$$GROFF_LOG"; echo; }; \
+		fi; \
+	done; \
+	rm -f "$$GROFF_LOG"
 
 # someone might also want to look at /var/catman/cat2 or so ...
 # a problem is that the location of cat pages varies a lot
-- 
2.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux