]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
share/mk/: $DISTDATE: If the repository is "dirty", use the newest timestamp
authorAlejandro Colomar <alx@kernel.org>
Sat, 24 Feb 2024 00:10:35 +0000 (01:10 +0100)
committerAlejandro Colomar <alx@kernel.org>
Sun, 25 Feb 2024 09:50:54 +0000 (10:50 +0100)
Otherwise, the files within the 'dist' tarball will have a timestamp
older than their last actual modification, which is problematic with
'distcheck'.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
share/mk/configure/build-depends/coreutils.mk
share/mk/configure/version.mk
share/mk/dist/files.mk

index 4601f736303af1121f3bc9b68693bf2e97db4483..f94800cf79883cd130d139fb7410c2c9a93481ca 100644 (file)
@@ -16,6 +16,7 @@ MKDIR    := mkdir
 REALPATH := realpath
 RM       := rm
 SORT     := sort
+STAT     := stat
 TAC      := tac
 TAIL     := tail
 TEST     := test
index 7d10fd1d3c69878bb67c64b8c5ac67689922b034..0996ab3239e3c77f3de6dd503cf42ef4f8ad93d6 100644 (file)
@@ -8,13 +8,37 @@ ifndef MAKEFILE_CONFIGURE_VERSION_INCLUDED
 MAKEFILE_CONFIGURE_VERSION_INCLUDED := 1
 
 
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
 include $(MAKEFILEDIR)/configure/build-depends/git.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
 include $(MAKEFILEDIR)/configure/verbose.mk
 
 
 DISTNAME    := $(shell $(GIT) describe --dirty)
 DISTVERSION := $(patsubst man-pages-%,%,$(DISTNAME))
-DISTDATE    := $(shell $(GIT) log -1 --format='%aD')
+
+
+DISTFILESCMD := \
+       $(FIND) $(srcdir) -not -type d \
+       | $(GREP) -v '^$(srcdir)/.git$$' \
+       | $(GREP) -v '^$(srcdir)/.tmp/' \
+       | $(GREP) -v '^$(srcdir)/.checkpatch-camelcase.' \
+       | $(SORT)
+
+DISTDATECMD := \
+       $(ECHO) '$(DISTVERSION)' \
+       | if $(GREP) -- '-dirty$$' >/dev/null; then \
+               $(DISTFILESCMD) \
+               | $(XARGS) $(STAT) -c %y \
+               | $(SORT) -n \
+               | $(TAIL) -n1; \
+       else \
+               $(GIT) log -1 --format='%aD'; \
+       fi;
+
+
+DISTDATE := $(shell $(DISTDATECMD))
 
 
 endif  # include guard
index 08183fd80448d3a744daac93361509738b73f6df..08883280e299dcf58985d4703fa81e53541a28c4 100644 (file)
@@ -14,14 +14,6 @@ include $(MAKEFILEDIR)/configure/version.mk
 include $(MAKEFILEDIR)/dist/_.mk
 
 
-DISTFILESCMD := \
-       $(FIND) $(srcdir) -not -type d \
-       | $(GREP) -v "^$(srcdir)/.git$$" \
-       | $(GREP) -v "^$(srcdir)/.tmp/" \
-       | $(GREP) -v "^$(srcdir)/.checkpatch-camelcase." \
-       | $(SORT)
-
-
 DISTFILES   := $(shell $(DISTFILESCMD) | $(SED) 's,:,\\:,g')
 _DISTFILES  := $(patsubst $(srcdir)/%,$(_DISTDIR)/%,$(DISTFILES))
 _DISTPAGES  := $(filter     $(_DISTDIR)/man%,$(_DISTFILES))