mirror of
https://github.com/git/git
synced 2024-10-30 14:03:28 +00:00
71f463773a
If 'make install' was run with sufficient privileges, then the installed templates, which are copied using 'tar', would receive the user and group of whoever built git. This instructs 'tar' to ignore the user and group that are recorded in the archive. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
51 lines
1.3 KiB
Makefile
51 lines
1.3 KiB
Makefile
# make and install sample templates
|
|
|
|
ifndef V
|
|
QUIET = @
|
|
endif
|
|
|
|
INSTALL ?= install
|
|
TAR ?= tar
|
|
RM ?= rm -f
|
|
prefix ?= $(HOME)
|
|
template_instdir ?= $(prefix)/share/git-core/templates
|
|
# DESTDIR=
|
|
|
|
# Shell quote (do not use $(call) to accommodate ancient setups);
|
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
|
|
template_instdir_SQ = $(subst ','\'',$(template_instdir))
|
|
|
|
all: boilerplates.made custom
|
|
|
|
# Put templates that can be copied straight from the source
|
|
# in a file direc--tory--file in the source. They will be
|
|
# just copied to the destination.
|
|
|
|
bpsrc = $(filter-out %~,$(wildcard *--*))
|
|
boilerplates.made : $(bpsrc)
|
|
$(QUIET)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 && \
|
|
case "$$boilerplate" in \
|
|
*--) ;; \
|
|
*) cp -p $$boilerplate blt/$$dst ;; \
|
|
esac || exit; \
|
|
done && \
|
|
date >$@
|
|
|
|
# If you need build-tailored templates, build them into blt/
|
|
# directory yourself here.
|
|
custom:
|
|
$(QUIET): no custom templates yet
|
|
|
|
clean:
|
|
$(RM) -r blt boilerplates.made
|
|
|
|
install: all
|
|
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(template_instdir_SQ)'
|
|
(cd blt && $(TAR) cf - .) | \
|
|
(cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && umask 022 && $(TAR) xfo -)
|