gnu: mm-common: Build reproducibly.
* gnu/packages/patches/mm-common-reproducible-tarball.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch. * gnu/packages/gnome.scm (mm-common)[source]: Add patch.master
parent
c5d62ec323
commit
5ce7178eb8
|
@ -1514,6 +1514,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mit-krb5-hurd.patch \
|
||||
%D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \
|
||||
%D%/packages/patches/mixxx-system-googletest-benchmark.patch \
|
||||
%D%/packages/patches/mm-common-reproducible-tarball.patch \
|
||||
%D%/packages/patches/mpc123-initialize-ao.patch \
|
||||
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
|
||||
%D%/packages/patches/mpg321-gcc-10.patch \
|
||||
|
|
|
@ -1141,7 +1141,10 @@ freedesktop.org desktop notification specification.")
|
|||
"mm-common-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))))
|
||||
"1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))
|
||||
(patches
|
||||
(search-patches
|
||||
"mm-common-reproducible-tarball.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
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
|
||||
|
Reference in New Issue