[Reproducible-commits] [dpkg] 27/30: dpkg-deb: Normalize file permissions when creating control.tar

Mattia Rizzolo mattia at debian.org
Mon May 9 09:02:55 UTC 2016


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

mattia pushed a commit to branch pu/reproducible_builds
in repository dpkg.

commit c2471402b4baaad45464363f103694a8344a3a1a
Author: Jérémy Bobbio <lunar at debian.org>
Date:   Thu Jun 4 18:48:28 2015 +0200

    dpkg-deb: Normalize file permissions when creating control.tar
    
    Permissions of file in control.tar will likely be affected by a different
    umask. While `dh_fixperms` already normalizes permissions for most
    packages, debhelper is not used by everywhere. As there is no use cases
    for having different permissions for control files than 644 or 755,
    we can normalize them directly in dpkg.
    
    This helps packages to build reproducibly when built with different umasks.
    
    Closes: #787980
---
 dpkg-deb/build.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
index b8a00d8..28c227d 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -464,11 +464,11 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
       char mtime_option[30];
       snprintf(mtime_option, sizeof(mtime_option), "--mtime=@%ld", build_timestamp);
       mtime_option[29] = '\0';
-      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--null", "--no-unquote",
+      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--mode=go=rX,u+rw,a-s", "--null", "--no-unquote",
                          mtime_option, "--clamp-mtime", "--no-recursion",
                          "-T", "-", NULL);
     } else {
-      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--null", "--no-unquote",
+      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--mode=go=rX,u+rw,a-s", "--null", "--no-unquote",
                          "--no-recursion", "-T", "-", NULL);
     }
     ohshite(_("unable to execute %s (%s)"), "tar -cf", TAR);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dpkg.git



More information about the Reproducible-commits mailing list