Skip to content

Commit ccccb1b

Browse files
jrndscho
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 b30816f commit ccccb1b

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
@@ -2098,7 +2098,7 @@ GIT-PERL-HEADER: $(PERL_HEADER_TEMPLATE) GIT-PERL-DEFINES Makefile
20982098
INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
20992099
INSTLIBDIR="$$INSTLIBDIR$${INSTLIBDIR_EXTRA:+:$$INSTLIBDIR_EXTRA}" && \
21002100
sed -e 's=@@PATHSEP@@=$(pathsep)=g' \
2101-
-e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' \
2101+
-e "s=@@INSTLIBDIR@@=$$INSTLIBDIR=g" \
21022102
-e 's=@@PERLLIBDIR_REL@@=$(perllibdir_relative_SQ)=g' \
21032103
-e 's=@@GITEXECDIR_REL@@=$(gitexecdir_relative_SQ)=g' \
21042104
-e 's=@@LOCALEDIR_REL@@=$(localedir_relative_SQ)=g' \

0 commit comments

Comments
 (0)