]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
share/mk/: lint-man-blank: Add target to lint about blank lines
authorAlejandro Colomar <alx@kernel.org>
Tue, 12 Aug 2025 09:09:48 +0000 (11:09 +0200)
committerAlejandro Colomar <alx@kernel.org>
Sun, 24 Aug 2025 20:20:44 +0000 (22:20 +0200)
groff's CHECKSTYLE already warns about this, but it's imperfect, and it
doesn't work with mdoc(7).  This linter is simpler, and works better.

Suggested-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
share/mk/lint/man/_.mk
share/mk/lint/man/blank.mk [new file with mode: 0644]

index 3d641535cbc094b44e090b670ab9200f94e11b17..e17ee9a5a55cd6670f0e2c85866cd1e5993ed79f 100644 (file)
@@ -7,7 +7,7 @@ MAKEFILE_LINT_MAN_INCLUDED := 1
 
 
 .PHONY: lint-man
-lint-man: lint-man-mandoc lint-man-tbl lint-man-so;
+lint-man: lint-man-blank lint-man-mandoc lint-man-tbl lint-man-so;
 
 
 endif  # include guard
diff --git a/share/mk/lint/man/blank.mk b/share/mk/lint/man/blank.mk
new file mode 100644 (file)
index 0000000..3946922
--- /dev/null
@@ -0,0 +1,42 @@
+# Copyright, the authors of the Linux man-pages project
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_LINT_MAN_BLANK_INCLUDED
+MAKEFILE_LINT_MAN_BLANK_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/build/man/man.mk
+include $(MAKEFILEDIR)/build/man/mdoc.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils/cat.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils/echo.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils/touch.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep/grep.mk
+
+
+_XFAIL_LINT_man_blank := \
+       $(_MANDIR)/man7/bpf-helpers.7.lint-man.blank.touch
+
+
+_LINT_man_blank := $(patsubst %, %.lint-man.blank.touch, $(_NONSO_MAN) $(_NONSO_MDOC))
+ifeq ($(SKIP_XFAIL),yes)
+_LINT_man_blank := $(filter-out $(_XFAIL_LINT_man_blank), $(_LINT_man_blank))
+endif
+
+
+$(_LINT_man_blank): %.lint-man.blank.touch: % $(MK) | $$(@D)/
+       $(info  $(INFO_)GREP            $@)
+       $(CAT) <$< \
+       | if $(GREP) '^$$' >/dev/null; then \
+               >&2 $(ECHO) "lint-man-blank: $<: spurious blank lines:"; \
+               >&2 $(GREP) -nT '^$$' <$<; \
+               exit 1; \
+       fi;
+       $(TOUCH) $@
+
+
+.PHONY: lint-man-blank
+lint-man-blank: $(_LINT_man_blank);
+
+
+endif  # include guard