summaryrefslogtreecommitdiff
path: root/templates/Makefile
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-21 19:31:50 -0500
committerJunio C Hamano <gitster@pobox.com>2008-09-09 13:32:32 -0700
commitd8bdc49265559786533d7f7377b2c39038dd6309 (patch)
tree48e0535ee4d5aaa57cfd290bf277816d9c985927 /templates/Makefile
parentaaefbfa66c348a461b3081873ef42819c8b38dac (diff)
downloadgit-d8bdc49265559786533d7f7377b2c39038dd6309.tar.gz
Fix permission bits on sources checked out with an overtight umask
Two patches 9907721 (templates/Makefile: don't depend on local umask setting, 2008-02-28) and 96cda0b (templates/Makefile: install is unnecessary, just use mkdir -p, 2008-08-21) tried to prevent an overtight umask the builder/installer might have from screwing over the installation procedure, but we forgot there was another source of trouble. If the person who checked out the source tree had an overtight umask, it will leak out to the built products, which is propagated to the installation destination. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'templates/Makefile')
-rw-r--r--templates/Makefile12
1 files changed, 7 insertions, 5 deletions
diff --git a/templates/Makefile b/templates/Makefile
index cc3fc3094c..a12c6e214e 100644
--- a/templates/Makefile
+++ b/templates/Makefile
@@ -23,17 +23,19 @@ all: boilerplates.made custom
bpsrc = $(filter-out %~,$(wildcard *--*))
boilerplates.made : $(bpsrc)
- $(QUIET)ls *--* 2>/dev/null | \
+ $(QUIET)umask 022 && ls *--* 2>/dev/null | \
while read boilerplate; \
do \
case "$$boilerplate" in *~) continue ;; esac && \
dst=`echo "$$boilerplate" | sed -e 's|^this|.|;s|--|/|g'` && \
dir=`expr "$$dst" : '\(.*\)/'` && \
- $(INSTALL) -d -m 755 blt/$$dir && \
+ mkdir -p blt/$$dir && \
case "$$boilerplate" in \
- *--) ;; \
- *) cp -p $$boilerplate blt/$$dst ;; \
- esac || exit; \
+ *--) continue;; \
+ esac && \
+ cp $$boilerplate blt/$$dst && \
+ if test -x "blt/$$dst"; then rx=rx; else rx=r; fi && \
+ chmod a+$$rx "blt/$$dst" || exit; \
done && \
date >$@