In for loop values, introduce a dummy to protect against empty list

In constructions such as 'for x in $(MAKEVAR); do ...', there's the
possibility that $(MAKEVAR) is en empty value.  Some shells don't like
that, so introduce a dummy value that gets discarded:

    for x in dummy $(MAKEVAR); do
        if [ "$$x" = "dummy" ]; then continue; fi

Closes RT#4459

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Richard Levitte 2016-03-21 08:11:14 +01:00
parent 8d9fb8c8db
commit 2b364f615b

View file

@ -391,7 +391,8 @@ install_engines:
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/
@echo "*** Installing engines"
@set -e; for e in $(ENGINES); do \
@set -e; for e in dummy $(ENGINES); do \
if [ "$$e" = "dummy" ]; then continue; fi; \
fn=`basename $$e`; \
if [ "$$fn" = '{- dso("ossltest") -}' ]; then \
continue; \
@ -405,7 +406,8 @@ install_engines:
uninstall_engines:
@echo "*** Uninstalling engines"
@set -e; for e in $(ENGINES); do \
@set -e; for e in dummy $(ENGINES); do \
if [ "$$e" = "dummy" ]; then continue; fi; \
fn=`basename $$e`; \
if [ "$$fn" = '{- dso("ossltest") -}' ]; then \
continue; \
@ -421,7 +423,8 @@ install_runtime:
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(OPENSSLDIR)/misc
@echo "*** Installing runtime files"
: {- output_off() unless windowsdll(); "" -};
@set -e; for s in $(SHLIBS); do \
@set -e; for s in dummy $(SHLIBS); do \
if [ "$$s" = "dummy" ]; then continue; fi; \
fn=`basename $$s`; \
echo "install $$s -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
cp $$s $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
@ -430,7 +433,8 @@ install_runtime:
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
done
: {- output_on() unless windowsdll(); "" -};
@set -e; for x in $(PROGRAMS); do \
@set -e; for x in dummy $(PROGRAMS); do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "install $$x -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
cp $$x $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
@ -438,7 +442,8 @@ install_runtime:
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
done
@set -e; for x in $(BIN_SCRIPTS); do \
@set -e; for x in dummy $(BIN_SCRIPTS); do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "install $$x -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
cp $$x $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
@ -446,7 +451,8 @@ install_runtime:
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
done
@set -e; for x in $(MISC_SCRIPTS); do \
@set -e; for x in dummy $(MISC_SCRIPTS); do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "install $$x -> $(DESTDIR)$(OPENSSLDIR)/misc/$$fn"; \
cp $$x $(DESTDIR)$(OPENSSLDIR)/misc/$$fn.new; \
@ -461,26 +467,30 @@ install_runtime:
uninstall_runtime:
@echo "*** Uninstalling runtime files"
@set -e; for x in $(PROGRAMS); \
@set -e; for x in dummy $(PROGRAMS); \
do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
done;
@set -e; for x in $(BIN_SCRIPTS); \
@set -e; for x in dummy $(BIN_SCRIPTS); \
do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
done
@set -e; for x in $(MISC_SCRIPTS); \
@set -e; for x in dummy $(MISC_SCRIPTS); \
do \
if [ "$$x" = "dummy" ]; then continue; fi; \
fn=`basename $$x`; \
echo "$(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$fn"; \
$(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$fn; \
done
: {- output_off() unless windowsdll(); "" -};
@set -e; for s in $(SHLIBS); do \
@set -e; for s in dummy $(SHLIBS); do \
if [ "$$s" = "dummy" ]; then continue; fi; \
fn=`basename $$s`; \
echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \