41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
From 024c121c844a4ec920133eb3f7e6b6ee8044c0b6 Mon Sep 17 00:00:00 2001
|
|
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
|
|
Date: Sat, 12 Dec 2020 04:05:56 +0000
|
|
Original-Patch: https://bugs.debian.org/977177
|
|
Subject: [PATCH] Set uid, username, gid, and group name on files in
|
|
generated tarball.
|
|
|
|
The user and group may otherwise vary between builds on different systems.
|
|
|
|
---
|
|
util/meson_aux/skeletonmm-tarball.py | 16 +++++++++++++++-
|
|
1 file changed, 15 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/util/meson_aux/skeletonmm-tarball.py b/util/meson_aux/skeletonmm-tarball.py
|
|
index db9e650..89049b6 100755
|
|
--- a/util/meson_aux/skeletonmm-tarball.py
|
|
+++ b/util/meson_aux/skeletonmm-tarball.py
|
|
@@ -39,10 +39,18 @@ elif output_file.endswith('.gz'):
|
|
else:
|
|
mode = 'w'
|
|
|
|
+def reproducible(tarinfo):
|
|
+ # Set consistent user and group on files in the tar archive
|
|
+ tarinfo.uid = 0
|
|
+ tarinfo.uname = 'root'
|
|
+ tarinfo.gid = 0
|
|
+ tarinfo.gname = 'root'
|
|
+ return tarinfo
|
|
+
|
|
with tarfile.open(output_file, mode=mode) as tar_file:
|
|
os.chdir(source_dir) # Input filenames are relative to source_dir.
|
|
for file in sys.argv[3:]:
|
|
- tar_file.add(file)
|
|
+ tar_file.add(file, filter=reproducible)
|
|
# Errors raise exceptions. If an exception is raised, Meson+ninja will notice
|
|
# that the command failed, despite exit(0).
|
|
sys.exit(0)
|
|
--
|
|
2.29.2
|
|
|