]> Cypherpunks repositories - gostls13.git/commitdiff
misc/dist: don't lose mode bits when setting tar permissions
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 14 Mar 2012 15:24:11 +0000 (08:24 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 14 Mar 2012 15:24:11 +0000 (08:24 -0700)
R=golang-dev, bsiegert, rsc
CC=golang-dev
https://golang.org/cl/5822046

misc/dist/bindist.go

index b7f7df7b1e2028e0ac058e9bac0bf5e17ae9d96c..8fd3bfde0fc41ec9c0f893c4bff15b8329dab44f 100644 (file)
@@ -546,11 +546,11 @@ func makeTar(targ, workdir string) error {
                hdr.Uid = 0
                hdr.Gid = 0
 
-               // Force mode to 0755 for executables, 0644 for everything else.
-               if hdr.Mode&0111 != 0 {
-                       hdr.Mode = 0755
+               // Force permissions to 0755 for executables, 0644 for everything else.
+               if fi.Mode().Perm()&0111 != 0 {
+                       hdr.Mode = hdr.Mode&^0777 | 0755
                } else {
-                       hdr.Mode = 0644
+                       hdr.Mode = hdr.Mode&^0777 | 0644
                }
 
                err = tw.WriteHeader(hdr)