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

Jérémy Bobbio lunar at moszumanska.debian.org
Fri Jan 15 21:11:30 UTC 2016


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

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

commit ed71134177747a2f56809d2718090bc7804272f9
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 c718eac..d59f5b5 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -645,10 +645,10 @@ do_build(const char *const *argv)
       char mtime_option[30];
       snprintf(mtime_option, sizeof(mtime_option), "--mtime=@%ld", build_timestamp);
       mtime_option[29] = '\0';
-      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--sort=name",
+      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--sort=name", "--mode=go=rX,u+rw,a-s",
                          mtime_option, "--clamp-mtime", ".", NULL);
     } else {
-      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--sort=name", ".", NULL);
+      execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--sort=name", "--mode=go=rX,u+rw,a-s", ".", 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