git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] Makefile: work around ksh's failure to handle missing list argument to for loop

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jul 2, 2010, 18:50 UTC
Message-ID
<8YdP-GcDDflOVZnykNVIGceOm01bqeg9PDvdgIfgqUnh29RKC-6Qi8_KBVoqLIt5iyt7g1TX5l96M5KyLrfOqg@cipher.nrlssc.navy.mil>
In-Reply-To
<80typu1ozt.fsf@tiny.isode.net>
From: Brandon Casey <drafnel@gmail.com>

ksh does not like it when the list argument is missing in a for loop. This can happen when NO_CURL is set which causes REMOTE_CURL_ALIASES to be unset. In this case, the for loop in the Makefile expands to look like this:

   for p in ; do
and ksh complains like this:
   /bin/ksh: syntax error at line 15 : `;' unexpected

The existing attempt to work around this issue, introduced by 70b89f87, tried to protect the for loop by first testing whether REMOTE_CURL_ALIASES was empty, but it does not seem to work. So adopt Bruce Stephens's suggestion (which comes from OpenSSL) for working around this issue.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---
 Makefile |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 527d872..bc3c570 100644
--- a/Makefile
+++ b/Makefile
@@ -2085,13 +2085,13 @@ endif
 		ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
 		cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
 	done && \
-	{ test x"$(REMOTE_CURL_ALIASES)" = x || \
-		for p in $(REMOTE_CURL_ALIASES); do \
+	remote_curl_aliases="$(REMOTE_CURL_ALIASES)" && \
+	for p in $$remote_curl_aliases; do \
 		$(RM) "$$execdir/$$p" && \
 		ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
 		ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
 		cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \
-	done; } && \
+	done && \
 	./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"
 
 install-gitweb:
-- 
1.7.2.rc1
Previous: Brandon CaseyNext: Raja R Harinath
Message 11 of 22 in “installation issue when building with NO_CURL=YesPlease”
  1. Paul WalkerMay 26, 2010
  2. Michael J GruberMay 26, 2010
  3. Paul WalkerMay 26, 2010
  4. Ramkumar RamachandraMay 26, 2010
  5. Paul WalkerMay 26, 2010
  6. Makefile: reenable install with NO_CURLMichael J Gruber, May 26, 2010
  7. Dirk SüsserottMay 26, 2010
  8. Bruce StephensMay 26, 2010
  9. Dirk SüsserottMay 26, 2010
  10. 1/2 Makefile: remove some unnecessary curly bracesBrandon Casey, Jul 2, 2010
  11. 2/2 Makefile: work around ksh's failure to handle missing list argument to for loopBrandon Casey, Jul 2, 2010
  12. Raja R HarinathJul 3, 2010
  13. Michael J GruberJul 4, 2010
  14. Johannes SixtJul 5, 2010
  15. Michael J GruberJul 5, 2010
  16. Johannes SixtJul 5, 2010
  17. Michael J GruberJul 5, 2010
  18. Junio C HamanoJul 5, 2010
  19. Andreas SchwabJul 5, 2010
  20. Brandon CaseyJul 5, 2010
  21. Junio C HamanoJul 6, 2010
  22. 2/2 Makefile: work around ksh's failure to handle missing list argument to for loopBrandon Casey, Jul 6, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.