Re: [RFC/PATCH] Install templates directory using mkdir -p, not install -d

Subsystems: the rest

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [RFC/PATCH] Install templates directory using mkdir -p, not install -d

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:13

I have the attached patch queued for about 36 hours already, but I ended
up wasting a lot of time fixing other people's bugs last night and haven't
had a chance to push out the result yet.

I think using mkdir in blt/ area is fine, but I have doubts about not
using $(INSTALL), which is designed to be a standard "marker" in Makefiles
and meant to be replaceable on deficient platforms, for installing to real
final destination directories.  IOW, I do not think the last hunk in your
patch is a good idea.
From 96cda0b1067b4b5a2f87785cc49e1e648d68ae1d Mon Sep 17 00:00:00 2001
From: Junio C Hamano <redacted>
Date: Thu, 21 Aug 2008 19:31:50 -0500
Subject: [PATCH] templates/Makefile: install is unnecessary, just use mkdir -p

The native install on some platforms (namely IRIX 6.5) treats non-absolute
paths as being relative to the root directory rather than relative to
the current directory. Work around this by avoiding install in this case
since it is unnecessary, and instead depend on the local umask setting
and use mkdir.

Tested-by: Brandon Casey <redacted>
Signed-off-by: Junio C Hamano <redacted>
---
 templates/Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/templates/Makefile b/templates/Makefile
index cc3fc30..0722a92 100644
--- a/templates/Makefile
+++ b/templates/Makefile
@@ -23,13 +23,13 @@ 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 ;; \
-- 
1.6.0.51.g078ae

Re: [RFC/PATCH] Install templates directory using mkdir -p, not install -d

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:13

On Sat, Aug 23, 2008 at 12:44:51PM -0700, Junio C Hamano [off-list ref] wrote:
I think using mkdir in blt/ area is fine, but I have doubts about not
using $(INSTALL), which is designed to be a standard "marker" in Makefiles
and meant to be replaceable on deficient platforms, for installing to real
final destination directories.  IOW, I do not think the last hunk in your
patch is a good idea.
The other method would be adding some stripped down version of GNU
automake's install-sh, then we use say install-sh -d without caring
about what switches 'install' has on the given platform.

At least that's how HP builds their binary git package:

http://hpux.connect.org.uk/hppd/cgi-bin/wwwtar?/hpux/Development/Tools/git-1.5.6.3/git-1.5.6.3-src-11.11.tar.gz+git-1.5.6.3/HPUX.Install+text

I think the mkdir one would be much simpler.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help