guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch core-updates updated: gnu: mm-common: Build reproducibly.


From: guix-commits
Subject: branch core-updates updated: gnu: mm-common: Build reproducibly.
Date: Tue, 30 Aug 2022 20:43:52 -0400

This is an automated email from the git hooks/post-receive script.

vagrantc pushed a commit to branch core-updates
in repository guix.

The following commit(s) were added to refs/heads/core-updates by this push:
     new 5ce7178eb8 gnu: mm-common: Build reproducibly.
5ce7178eb8 is described below

commit 5ce7178eb8375716625de14f59e227fdd9b8d9f0
Author: Vagrant Cascadian <vagrant@reproducible-builds.org>
AuthorDate: Fri Aug 19 19:32:08 2022 -0700

    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.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gnome.scm                             |  5 ++-
 .../patches/mm-common-reproducible-tarball.patch   | 40 ++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index d16cf9f3f7..7eb58804ca 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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                     \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f6b893e68..6ad633b567 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -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
diff --git a/gnu/packages/patches/mm-common-reproducible-tarball.patch 
b/gnu/packages/patches/mm-common-reproducible-tarball.patch
new file mode 100644
index 0000000000..f0890aaf57
--- /dev/null
+++ b/gnu/packages/patches/mm-common-reproducible-tarball.patch
@@ -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
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]