diff --git a/Makefile b/Makefile index ec6a1ce..7b9ca81 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,9 @@ TZPFMS_VERSION ?= "$(patsubst v%,%,$(shell git describe))" -SOURCE_DATE_EPOCH ?= $(shell git log -1 --no-show-signature --format=%at man/klapki.8) -TZPFMS_DATE ?= $(shell LC_ALL=C date -d@$(SOURCE_DATE_EPOCH) '+%B %e, %Y') +SOURCE_DATE_EPOCH ?= +TZPFMS_DATE ?= + AWK ?= awk SED ?= sed @@ -19,6 +20,13 @@ OUTDIR := out/ BLDDIR := out/build/ SYSTEMD_SYSTEM_UNITDIR := $(shell $(PKGCONF) --variable=systemd_system_unit_dir systemd 2>/dev/null || echo /usr/lib/systemd/system) +ifneq "$(TZPFMS_DATE)" "" +MANUAL_DATE := $(TZPFMS_DATE) +else ifneq "$(SOURCE_DATE_EPOCH)" "" +MANUAL_DATE := $(shell LC_ALL=C date -d@$(SOURCE_DATE_EPOCH) '+%B %e, %Y') +else +MANUAL_DATE = $(shell LC_ALL=C date -d@$(shell git log -1 --no-show-signature --format=%at $(1)) '+%B %e, %Y') +endif PKGS := libzfs libzfs_core tss2-esys tss2-rc @@ -111,7 +119,7 @@ $(OUTDIR)systemd/usr/libexec/tzpfms-zfs-load-key@ : init.d/systemd/libexec-tzpfm # Can't put it at the very top, since man(1) only loads mdoc *after* the first mdoc macro (.Dd in our case) $(OUTDIR)man/% : man/%.pp $(MANPAGE_HEADERS) @mkdir -p $(dir $@) - $(AWK) -f pp.awk $< TZPFMS_PASSPHRASE_HELPER_MAN='$(DEF_TPH_MAN)' | $(AWK) '/^$$/ {prev_empty=1; next} $$1 == "#" && $$2 ~ /^[0-9]*$$/ {prev_empty=0; next} {if(prev_empty) print ""; prev_empty=0; print}' | $(AWK) '$$0 == ".Dd" {$$2 = "$(TZPFMS_DATE)"} $$1 == ".Dt" { print ".ds doc-volume-operating-system" } $$0 == ".Os" {$$2 = "tzpfms"; $$3 = $(TZPFMS_VERSION)} {print}' > $@ + $(AWK) -f pp.awk $< TZPFMS_PASSPHRASE_HELPER_MAN='$(DEF_TPH_MAN)' | $(AWK) '/^$$/ {prev_empty=1; next} $$1 == "#" && $$2 ~ /^[0-9]*$$/ {prev_empty=0; next} {if(prev_empty) print ""; prev_empty=0; print}' | $(AWK) '$$0 == ".Dd" {$$2 = "$(call MANUAL_DATE,$<)"} $$1 == ".Dt" { print ".ds doc-volume-operating-system" } $$0 == ".Os" {$$2 = "tzpfms"; $$3 = $(TZPFMS_VERSION)} {print}' > $@ ! $(MANDOC) -Tlint $@ 2>&1 | grep -vE -e 'mandoc: outdated mandoc.db' -e 'STYLE: referenced manual not found' -e 'STYLE: operating system explicitly specified: Os tzpfms' -e 'WARNING: cross reference to self: Xr zfs-tpm.*-change-key 8' -e 'STYLE: input text line longer than 80 bytes' # The "WARNING: unknown font, skipping request: TS.+fC[RBI]" one: see https://bugs.debian.org/992002