From: Brad Fitzpatrick Date: Wed, 14 Mar 2012 15:24:11 +0000 (-0700) Subject: misc/dist: don't lose mode bits when setting tar permissions X-Git-Tag: weekly.2012-03-22~98 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d6ea81e0b9f078253151dbca0341f44ba7e9d466;p=gostls13.git misc/dist: don't lose mode bits when setting tar permissions R=golang-dev, bsiegert, rsc CC=golang-dev https://golang.org/cl/5822046 --- diff --git a/misc/dist/bindist.go b/misc/dist/bindist.go index b7f7df7b1e..8fd3bfde0f 100644 --- a/misc/dist/bindist.go +++ b/misc/dist/bindist.go @@ -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)