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

[PATCH] Makefile: Handle broken curl version number in version check

From
Tom G. Christensen <tgc@statsbiblioteket.dk>
Date
Jan 30, 2015, 09:52 UTC
Message-ID
<1422611554-15393-1-git-send-email-tgc@statsbiblioteket.dk>
In-Reply-To
<54CA2E84.6090604@statsbiblioteket.dk>

curl 7.11.0 through 7.12.2 when built from their official release archives will present a 5 digit version number instead of the documented 6 digits which breaks the version check in the Makefile. Correct these broken version numbers on the fly when extracting them to ensure the comparison works correctly.

Signed-off-by: Tom G. Christensen <tgc@statsbiblioteket.dk>
---

This was discoved while building on RHEL4 which has curl 7.12.1. The makefile check for curl >= 7.34.0 failed and enabled USE_CURL_FOR_IMAP_SEND.

# curl-config --vernum 70C01 # { echo 072200; curl-config --vernum 2>/dev/null ; } | sort -r | sed -ne 2p 072200 #

I checked the curl release tarballs and this problem seems to exist for curl 7.11.0 (0x70B00) through 7.12.2 (0x70C02). In both 7.10.7 (0x070a07) and 7.12.3 (0x070c03) the version is correctly set using 6 hex digits as documented. I tried to verify this using the official curl repo on github but it does not seem to record this discrepancy and shows the correct 6 digit version numbers for the affected releases.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index c44eb3a..69a2ce3 100644
--- a/Makefile
+++ b/Makefile
@@ -1035,13 +1035,13 @@ else
 	REMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)
 	PROGRAM_OBJS += http-fetch.o
 	PROGRAMS += $(REMOTE_CURL_NAMES)
-	curl_check := $(shell (echo 070908; curl-config --vernum) 2>/dev/null | sort -r | sed -ne 2p)
+	curl_check := $(shell (echo 070908; curl-config --vernum | sed -e '/^70[B-C]/ s/^7/07/') 2>/dev/null | sort -r | sed -ne 2p)
 	ifeq "$(curl_check)" "070908"
 		ifndef NO_EXPAT
 			PROGRAM_OBJS += http-push.o
 		endif
 	endif
-	curl_check := $(shell (echo 072200; curl-config --vernum) 2>/dev/null | sort -r | sed -ne 2p)
+	curl_check := $(shell (echo 072200; curl-config --vernum | sed -e '/^70[B-C]/ s/^7/07/') 2>/dev/null | sort -r | sed -ne 2p)
 	ifeq "$(curl_check)" "072200"
 		USE_CURL_FOR_IMAP_SEND = YesPlease
 	endif
-- 
2.2.2
Previous: Tom G. ChristensenNext: Andreas Schwab
Message 3 of 31 in “[ANNOUNCE] Git v2.3.0-rc2”
  1. Junio C HamanoJan 27, 2015
  2. Broken makefile check for curl version on el4 [Re: [ANNOUNCE] Git v2.3.0-rc2]Tom G. Christensen, Jan 29, 2015
  3. Makefile: Handle broken curl version number in version checkTom G. Christensen, Jan 30, 2015
  4. Andreas SchwabJan 30, 2015
  5. Tom G. ChristensenJan 30, 2015
  6. Kyle J. McKayJan 30, 2015
  7. Junio C HamanoJan 30, 2015
  8. All gnupg tests broken on el4 [Re: [ANNOUNCE] Git v2.3.0-rc2]Tom G. Christensen, Jan 29, 2015
  9. Jeff KingJan 29, 2015
  10. Jeff KingJan 29, 2015
  11. Tom G. ChristensenJan 29, 2015
  12. Junio C HamanoJan 29, 2015
  13. Testsuite regression with perl 5.8.0 [Re: [ANNOUNCE] Git v2.3.0-rc2]Tom G. Christensen, Jan 29, 2015
  14. Jeff KingJan 29, 2015
  15. Tom G. ChristensenJan 30, 2015
  16. t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'Tom G. Christensen, Jan 30, 2015
  17. brian m. carlsonJan 30, 2015
  18. Kyle J. McKayJan 31, 2015
  19. Junio C HamanoFeb 2, 2015
  20. Kyle J. McKayFeb 2, 2015
  21. Junio C HamanoFeb 2, 2015
  22. Junio C HamanoFeb 12, 2015
  23. 0/2 Getopt::Long workaround in send-emailJunio C Hamano, Feb 13, 2015
  24. 1/2 git-send-email.perl: support no- prefix with older GetOptionsJunio C Hamano, Feb 13, 2015
  25. Brandon CaseyFeb 15, 2015
  26. 2/2 SQUASH??? t9001: turn --no$option workarounds to --no-$optionJunio C Hamano, Feb 13, 2015
  27. Kyle J. McKayFeb 13, 2015
  28. brian m. carlsonFeb 13, 2015
  29. Brandon CaseyFeb 15, 2015
  30. Tom G. ChristensenFeb 16, 2015
  31. Brandon CaseyFeb 16, 2015

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.