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

Re: [-SPAM-] Re: [PATCH v2 07/13] config.mak.uname: only set NO_REGEX on cygwin for v1.7

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Apr 14, 2025, 20:03 UTC
Message-ID
<db92840f-ed4a-46b7-aba0-b556ed33af6f@ramsayjones.plus.com>
In-Reply-To
<Z_y_VeJzT82by8wg@pks.im>
On 14/04/2025 08:55, Patrick Steinhardt wrote:
Show 39 quoted lines
> On Sun, Apr 06, 2025 at 08:38:33PM +0100, Ramsay Jones wrote:
>> Commit 92f63d2b05 ("Cygwin 1.7 needs compat/regex", 2013-07-19) set
>> the NO_REGEX build variable because the platform regex library failed
>> some of the tests (t4018 and t4034), which passed just fine with the
>> compat library.
>>
>> After some time (maybe a year or two), the platform library had been
>> updated (with an import from FreeBSD, I believe) and now passed the full
>> test-suite. This would be about the time of the v1.7 -> v2.0 transition
>> in 2015. I had a patch ready to send, but just didn't get around to
>> submitting it to the list. At some point in the interim, the official
>> cygwin git package used the autoconf build system, which sets the
>> NO_REGEX variable to use the platform regex library functions. The new
>> meson build system does likewise.
>>
>> The cygwin platform regex library, in addition to now passing the tests
>> which formerly failed, now passes an 'test_expect_failure' test in the
>> t7815-grep-binary test file. In particular, test #12 'git grep .fi a'
>> which determines that the regex pattern '.' matches a NUL character.
>> The commit f96e56733a ("grep: use REG_STARTEND for all matching if
>> available", 2010-05-22) added the test in question, but it does not
>> give any indication as to why the test was framed as an expected fail,
>> rather than a 'positive' test that the 'git grep' command fails to
>> match a NUL. Note that the previous test #11 was also originally
>> marked in that commit as a 'test_expect_failure', but was flipped to
>> an 'success' test in commit 7e36de5859 ("t/t7008-grep-binary.sh: un-TODO
>> a test that needs REG_STARTEND", 2010-08-17).
>>
>> In order to produce the same NO_REGEX configuration from autoconf, meson
>> and make, modify config.mak.uname to only set NO_REGEX for cygwin v1.7.
>> In addition, skip test t7815.12 on cygwin, by adding the !CYGWIN pre-
>> requisite to the test header, which (among other things) removes an
>> '...; please update test(s)' comment.
> 
> Out of curiosity, because I really don't know any better: why do we have
> to even care about such oldish Cygwin installations from more than 10
> years ago? Wouldn't people generally update Cygwin every once in a while
> to have recent packages? Or is there a good reason why we should
> continue to support it?

Heh, as I said in response to Junio, I have a patch that removes all of the config in the conditional, so that we would no longer support any 'pre-v2.x' versions of cygwin[*]. I think that would be an entirely reasonable thing to do, particularly as cygwin thinks of itself as a 'rolling release' type distribution. ;)

However, I don't think it is my place to make that kind of decision and I was leaving that patch until last. Hopefully, Adam will make that call. :)

Thanks.

ATB, Ramsay Jones

[*] Note, even *with* that config in place, I have no idea if pre-v2.x versions would even compile!

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 6 of 51 in “miscellaneous build mods (part 1)”
  1. 00/12 miscellaneous build mods (part 1)Ramsay Jones, Mar 15, 2025
  2. 00/13 miscellaneous build mods (part 1)Ramsay Jones, Apr 6, 2025
  3. 06/13 config.mak.uname: add a note about NO_STRLCPY for LinuxRamsay Jones, Apr 6, 2025
  4. 07/13 config.mak.uname: only set NO_REGEX on cygwin for v1.7Ramsay Jones, Apr 6, 2025
  5. Patrick SteinhardtApr 14, 2025
  6. Ramsay JonesApr 14, 2025
  7. Patrick SteinhardtApr 15, 2025
  8. Junio C HamanoApr 15, 2025
  9. 08/13 config.mak.uname: add HAVE_GETDELIM to the cygwin sectionRamsay Jones, Apr 6, 2025
  10. 09/13 config.mak.uname: add clock_gettime() to the cygwin buildRamsay Jones, Apr 6, 2025
  11. Patrick SteinhardtApr 14, 2025
  12. Ramsay JonesApr 14, 2025
  13. 10/13 builtin/gc.c: correct RAM calculation when using sysinfoRamsay Jones, Apr 6, 2025
  14. Patrick SteinhardtApr 14, 2025
  15. Ramsay JonesApr 14, 2025
  16. 11/13 config.mak.uname: add sysinfo() configuration for cygwinRamsay Jones, Apr 6, 2025
  17. Patrick SteinhardtApr 14, 2025
  18. 12/13 config.mak.uname: add arc4random to the cygwin buildRamsay Jones, Apr 6, 2025
  19. 13/13 config.mak.uname: set CSPRNG_METHOD to getrandom on LinuxRamsay Jones, Apr 6, 2025
  20. 01/13 meson.build: remove -DCURL_DISABLE_TYPECHECKRamsay Jones, Apr 6, 2025
  21. 02/13 Makefile: only set some BASIC_CFLAGS when RUNTIME_PREFIX is setRamsay Jones, Apr 6, 2025
  22. Patrick SteinhardtApr 14, 2025
  23. 03/13 meson.build: only set build variables for non-default valuesRamsay Jones, Apr 6, 2025
  24. Ramsay JonesApr 6, 2025
  25. Patrick SteinhardtApr 14, 2025
  26. Ramsay JonesApr 14, 2025
  27. Patrick SteinhardtApr 15, 2025
  28. 04/13 meson.build: set default help format to html on windowsRamsay Jones, Apr 6, 2025
  29. Ramsay JonesApr 6, 2025
  30. Patrick SteinhardtApr 14, 2025
  31. 05/13 Makefile: remove NEEDS_LIBRT build variableRamsay Jones, Apr 6, 2025
  32. 00/13 miscellaneous build mods (part 1)Ramsay Jones, Apr 16, 2025
  33. 01/13 meson.build: remove -DCURL_DISABLE_TYPECHECKRamsay Jones, Apr 16, 2025
  34. 02/13 Makefile: only set some BASIC_CFLAGS when RUNTIME_PREFIX is setRamsay Jones, Apr 16, 2025
  35. 03/13 meson.build: only set build variables for non-default valuesRamsay Jones, Apr 16, 2025
  36. 04/13 meson.build: set default help format to html on windowsRamsay Jones, Apr 16, 2025
  37. 05/13 Makefile: remove NEEDS_LIBRT build variableRamsay Jones, Apr 16, 2025
  38. 06/13 config.mak.uname: add a note about NO_STRLCPY for LinuxRamsay Jones, Apr 16, 2025
  39. 07/13 config.mak.uname: only set NO_REGEX on cygwin for v1.7Ramsay Jones, Apr 16, 2025
  40. 08/13 config.mak.uname: add HAVE_GETDELIM to the cygwin sectionRamsay Jones, Apr 16, 2025
  41. 09/13 config.mak.uname: add clock_gettime() to the cygwin buildRamsay Jones, Apr 16, 2025
  42. 10/13 builtin/gc.c: correct RAM calculation when using sysinfoRamsay Jones, Apr 16, 2025
  43. 11/13 config.mak.uname: add sysinfo() configuration for cygwinRamsay Jones, Apr 16, 2025
  44. 12/13 config.mak.uname: add arc4random to the cygwin buildRamsay Jones, Apr 16, 2025
  45. 13/13 config.mak.uname: set CSPRNG_METHOD to getrandom on LinuxRamsay Jones, Apr 16, 2025
  46. Junio C HamanoApr 17, 2025
  47. Ramsay JonesApr 17, 2025
  48. Junio C HamanoApr 17, 2025
  49. Ramsay JonesApr 17, 2025
  50. Junio C HamanoApr 17, 2025
  51. Patrick SteinhardtApr 17, 2025

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.