Skip to content

Commit 64f982b

Browse files
jrngitster
authored andcommitted
Makefile: quote $INSTLIBDIR when passing it to sed
f6a0ad4 (Makefile: generate Perl header from template file, 2018-04-10) moved code for generating the 'use lib' lines at the top of perl scripts from the $(SCRIPT_PERL_GEN) rule to a separate GIT-PERL-HEADER rule. This rule first populates INSTLIBDIR and then substitutes it into the GIT-PERL-HEADER using sed: INSTLIBDIR=... something ... sed -e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' $< > $@ Because $INSTLIBDIR is not surrounded by double quotes, the shell splits it at each space, causing errors if INSTLIBDIR contains an $IFS character: sed: 1: "s=@@INSTLIBDIR@@=/usr/l ...": unescaped newline inside substitute pattern Add back the missing double-quotes to make it work again. Signed-off-by: Jonathan Nieder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 90df217 commit 64f982b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2108,7 +2108,7 @@ GIT-PERL-HEADER: $(PERL_HEADER_TEMPLATE) GIT-PERL-DEFINES Makefile
21082108
INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
21092109
INSTLIBDIR="$$INSTLIBDIR$${INSTLIBDIR_EXTRA:+:$$INSTLIBDIR_EXTRA}" && \
21102110
sed -e 's=@@PATHSEP@@=$(pathsep)=g' \
2111-
-e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' \
2111+
-e "s=@@INSTLIBDIR@@=$$INSTLIBDIR=g" \
21122112
-e 's=@@PERLLIBDIR_REL@@=$(perllibdir_relative_SQ)=g' \
21132113
-e 's=@@GITEXECDIR_REL@@=$(gitexecdir_relative_SQ)=g' \
21142114
-e 's=@@LOCALEDIR_REL@@=$(localedir_relative_SQ)=g' \

0 commit comments

Comments
 (0)