]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
dist.mk, version.mk: Create reproducible tarballs man-pages-6.05-a1
authorAlejandro Colomar <alx@kernel.org>
Tue, 11 Apr 2023 20:33:44 +0000 (22:33 +0200)
committerAlejandro Colomar <alx@kernel.org>
Tue, 11 Apr 2023 20:44:03 +0000 (22:44 +0200)
Anyone can create a tarball from a release tag, and it should be
identical to the release tarball, so that the PGP signature made at the
release matches.  This is useful for distributors.

Suggested-by: Marcos Fouces <marcos@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/dist.mk
lib/version.mk

index ccbaeb8813482ce3f40b29f6535f77e2b97f16da..de1042bc1ae241227d50ee51b14e62b7cb82c0c0 100644 (file)
@@ -18,6 +18,13 @@ include $(srcdir)/lib/verbose.mk
 
 _DISTDIR := $(builddir)/dist
 
+DEFAULT_TARFLAGS := --sort=name
+DEFAULT_TARFLAGS += --owner=root:0
+DEFAULT_TARFLAGS += --group=root:0
+DEFAULT_TARFLAGS += --mtime='$(DISTDATE)'
+EXTRA_TARFLAGS   :=
+TARFLAGS         := $(DEFAULT_TARFLAGS) $(EXTRA_TARFLAGS)
+
 DISTFILES   := $(shell $(GIT) ls-files $(HIDE_ERR) | $(SED) 's,^,$(srcdir)/,')
 _DISTFILES  := $(patsubst $(srcdir)/%,$(_DISTDIR)/%,$(DISTFILES))
 _DISTPAGES  := $(filter     $(_DISTDIR)/man%,$(_DISTFILES))
@@ -41,10 +48,10 @@ $(_DISTOTHERS): $(_DISTDIR)/%: $(srcdir)/% | $$(@D)/
 
 $(DISTFILE): $(_DISTFILES) | $$(@D)/
        $(info TAR      $@)
-       $(TAR) cf $@ -T /dev/null
+       $(TAR) $(TARFLAGS) -cf $@ -T /dev/null
        $(GIT) ls-files \
        | $(SED) 's,^,$(_DISTDIR)/,' \
-       | $(XARGS) $(TAR) rf $@ -C $(srcdir) \
+       | $(XARGS) $(TAR) $(TARFLAGS) -rf $@ -C $(srcdir) \
                --transform 's,^$(_DISTDIR),$(DISTNAME),'
 
 $(DISTFILE).bz2: %.bz2: % | $$(@D)/
index 1a8fa53c24bfa8570115334a15c83e0fb91b1542..1d17b6c9982fe283655ac13aecdcc54a1caa8676 100644 (file)
@@ -14,6 +14,7 @@ include $(srcdir)/lib/verbose.mk
 
 DISTNAME    := $(shell $(GIT) describe $(HIDE_ERR))
 DISTVERSION := $(patsubst man-pages-%,%,$(DISTNAME))
+DISTDATE    := $(shell $(GIT) log -1 --format='%aD')
 
 
 endif  # MAKEFILE_VERSION_INCLUDED