Source: pcp
Severity: normal
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: umask username
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Several of the tarballs shipped in /usr/share/pcp/demos/tutorials/ embed
the username, userid, groupname, groupid and umask of the build user:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/pcp.html

  /usr/share/pcp/demos/tutorials/cpuperf.tar.gz

  
-rw-r--r--···0·pbuilder1··(1111)·pbuilder1··(1111)····93752·2015-08-06·05:46:36.000000·cpuperf/babylon.percpu.0
  vs.
  
-rw-rw-r--···0·pbuilder2··(2222)·pbuilder2··(2222)····93752·2015-08-06·05:46:36.000000·cpuperf/babylon.percpu.0


The attached patch fixes this by passing arguments to ensure consistent
sort order, timestamp, user, group, uid, gid and file permissions.


Thanks for maintaining pcp!


live well,
  vagrant
From b4511208eddf9c970dc34873dccad4c9c93378c7 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Sun, 6 Mar 2022 18:49:44 +0000
Subject: [PATCH 1/3] Patch tarball generation to sort order of files, use
 consistent timestamp, mode, and set numeric owner and group to 0.

---
 man/html/cpuperf/GNUmakefile   | 2 +-
 man/html/diskmodel/GNUmakefile | 2 +-
 man/html/diskperf/GNUmakefile  | 2 +-
 man/html/pmie/GNUmakefile      | 2 +-
 man/html/pmview/GNUmakefile    | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/man/html/cpuperf/GNUmakefile b/man/html/cpuperf/GNUmakefile
index 7c07e81..04e17ac 100644
--- a/man/html/cpuperf/GNUmakefile
+++ b/man/html/cpuperf/GNUmakefile
@@ -15,7 +15,7 @@ $(BINTAR): $(PCPLOGS) $(CONFIGS)
 	for f in `echo $^`; do \
 	    echo $(BUNDLE)/$$f >> $$CDIR/manifest; \
 	done; \
-	$(TAR) --format ustar -T $$CDIR/manifest -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
+	$(TAR) --format ustar -T $$CDIR/manifest --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=u=wrX,og=rX -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
 	echo "Created $(BINTAR)"
 
 include $(BUILDRULES)
diff --git a/man/html/diskmodel/GNUmakefile b/man/html/diskmodel/GNUmakefile
index d61ff9d..1adb083 100644
--- a/man/html/diskmodel/GNUmakefile
+++ b/man/html/diskmodel/GNUmakefile
@@ -16,7 +16,7 @@ $(BINTAR): $(PCPLOGS) $(CONFIGS) $(MODELS)
 	for f in `echo $^`; do \
 	    echo $(BUNDLE)/$$f >> $$CDIR/manifest; \
 	done; \
-	$(TAR) --format ustar -T $$CDIR/manifest -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
+	$(TAR) --format ustar -T $$CDIR/manifest --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=u=wrX,og=rX -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
 	echo "Created $(BINTAR)"
 
 include $(BUILDRULES)
diff --git a/man/html/diskperf/GNUmakefile b/man/html/diskperf/GNUmakefile
index e111f13..550b9ce 100644
--- a/man/html/diskperf/GNUmakefile
+++ b/man/html/diskperf/GNUmakefile
@@ -15,7 +15,7 @@ $(BINTAR): $(PCPLOGS) $(CONFIGS)
 	for f in `echo $^`; do \
 	    echo $(BUNDLE)/$$f >> $$CDIR/manifest; \
 	done; \
-	$(TAR) --format ustar -T $$CDIR/manifest -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
+	$(TAR) --format ustar -T $$CDIR/manifest --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=u=wrX,og=rX -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
 	echo "Created $(BINTAR)"
 
 include $(BUILDRULES)
diff --git a/man/html/pmie/GNUmakefile b/man/html/pmie/GNUmakefile
index ff6a061..c3a6582 100644
--- a/man/html/pmie/GNUmakefile
+++ b/man/html/pmie/GNUmakefile
@@ -15,7 +15,7 @@ $(BINTAR): $(PCPLOGS) $(CONFIGS)
 	for f in `echo $^`; do \
 	    echo $(BUNDLE)/$$f >> $$CDIR/manifest; \
 	done; \
-	$(TAR) --format ustar -T $$CDIR/manifest -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
+	$(TAR) --format ustar -T $$CDIR/manifest --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=u=wrX,og=rX -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
 	echo "Created $(BINTAR)"
 
 include $(BUILDRULES)
diff --git a/man/html/pmview/GNUmakefile b/man/html/pmview/GNUmakefile
index 714282b..e08c479 100644
--- a/man/html/pmview/GNUmakefile
+++ b/man/html/pmview/GNUmakefile
@@ -15,7 +15,7 @@ $(BINTAR): $(PCPLOGS) $(CONFIGS)
 	for f in `echo $^`; do \
 	    echo $(BUNDLE)/$$f >> $$CDIR/manifest; \
 	done; \
-	$(TAR) --format ustar -T $$CDIR/manifest -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
+	$(TAR) --format ustar -T $$CDIR/manifest --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=u=wrX,og=rX -cf - | $(ZIP) --best --no-name > $$CDIR/$(BINTAR); \
 	echo "Created $(BINTAR)"
 
 include $(BUILDRULES)
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to