threads / patch / 33785

patchMakefile: fix default regex settings on Darwin

Subject: [PATCH] Makefile: fix default regex settings on Darwin

## tl;dr

5 messages between May 11, 2013 and May 11, 2013. Diffs are folded; open one to read it.

replies: 4people: 2as markdown or json

David Aguilar· May 11, 2013, 05:08 UTC · lore

t0070-fundamental.sh fails on Mac OS X 10.8 by default. Fix it by using Git's regex library.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
"make test" fails right now; this fixes it.
t0070-fundamental is how far it got last time.
It's still running now.. :-)
 Makefile | 1 +
 1 file changed, 1 insertion(+)
Show changes to Makefile +1 −0
diff --git a/Makefile b/Makefile
index 7e12999..4a462c0 100644
--- a/Makefile
+++ b/Makefile
@@ -1057,6 +1057,7 @@ ifeq ($(uname_S),Darwin)
 	COMMON_DIGEST_SHA1 = YesPlease
 	COMMON_DIGEST_HMAC = YesPlease
 	PTHREAD_LIBS =
+	NO_REGEX = YesPlease
 endif
 
 ifndef CC_LD_DYNPATH
-- 
1.8.3.rc1.47.g6e51a5f
Jonathan Nieder· May 11, 2013, 06:31 UTC · re: David Aguilar · lore

Re: [PATCH] Makefile: fix default regex settings on Darwin

David Aguilar wrote:
> t0070-fundamental.sh fails on Mac OS X 10.8 by default.
> Fix it by using Git's regex library.
Can you say more about the failure?  What does
	./t0070-fundamental.sh -v
say?

Curious, Jonathan

David Aguilar· May 11, 2013, 06:44 UTC · re: Jonathan Nieder · lore

Re: [PATCH] Makefile: fix default regex settings on Darwin

On Fri, May 10, 2013 at 11:31 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 10 quoted lines
> David Aguilar wrote:
>
>> t0070-fundamental.sh fails on Mac OS X 10.8 by default.
>> Fix it by using Git's regex library.
>
> Can you say more about the failure?  What does
>
>         ./t0070-fundamental.sh -v
>
> say?
[..snip...]

expecting success: # if this test fails, re-build git with NO_REGEX=1 test-regex

fatal: regex bug confirmed: re-build git with NO_REGEX=1 not ok 4 - check for a bug in the regex routines # # # if this test fails, re-build git with NO_REGEX=1 # test-regex #

# failed 1 among 4 test(s) 1..4 -- David

Jonathan Nieder· May 11, 2013, 07:04 UTC · re: David Aguilar · lore

Re: [PATCH] Makefile: fix default regex settings on Darwin

David Aguilar wrote:
Show 5 quoted lines
> expecting success:
> # if this test fails, re-build git with NO_REGEX=1
> test-regex
>
> fatal: regex bug confirmed: re-build git with NO_REGEX=1
Thanks.  Gah.  That means that regcomp() with REG_NEWLINE is letting
	[^={} \t]+
match the newline in
	={}\nfred
despite the POSIX requirement
	A <newline> in string shall not be matched by a period outside
	a bracket expression or by any form of a non-matching list
where
	A non-matching list expression begins with a <circumflex> ('^')
	and specifies a list that shall match any single-character
	collating element except for the expressions represented in
	the list after the leading <circumflex>.

and if I understand you correctly, this is a regression in Apple libc. :(

With the commit message modified to mention the "fatal: regex bug confirmed: re-build git with NO_REGEX=1" and uname -a output,

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

Do you know if this has been reported to Apple and openradar.appspot.com?

David Aguilar· May 11, 2013, 07:55 UTC · re: Jonathan Nieder · lore

Re: [PATCH] Makefile: fix default regex settings on Darwin

On Sat, May 11, 2013 at 12:04 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 35 quoted lines
> David Aguilar wrote:
>
>> expecting success:
>> # if this test fails, re-build git with NO_REGEX=1
>> test-regex
>>
>> fatal: regex bug confirmed: re-build git with NO_REGEX=1
>
> Thanks.  Gah.  That means that regcomp() with REG_NEWLINE is letting
>
>         [^={} \t]+
>
> match the newline in
>
>         ={}\nfred
>
> despite the POSIX requirement
>
>         A <newline> in string shall not be matched by a period outside
>         a bracket expression or by any form of a non-matching list
>
> where
>
>         A non-matching list expression begins with a <circumflex> ('^')
>         and specifies a list that shall match any single-character
>         collating element except for the expressions represented in
>         the list after the leading <circumflex>.
>
> and if I understand you correctly, this is a regression in Apple
> libc. :(
>
> With the commit message modified to mention the "fatal: regex bug
> confirmed: re-build git with NO_REGEX=1" and uname -a output,
>
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks. I can adjust the commit message and re-roll to make this patch 1/3.
> Do you know if this has been reported to Apple and
> openradar.appspot.com?

I checked and nope, there are no bug reports. I tried to submit one by creating a "new radar" but that page said to go to bugreport.apple.com.

I tried to login there but after entering my credentials I got, "An error has occurred. Please report the error to Apple Inc. by emailing the error detail to devbugs@apple.com." Oh bother ;-)

I refreshed the page and finally got in.  I submitted a bug.. Problem # 13868200

I hop on this laptop to test for cross-platform issues (I'm a Linux user myself ;-) and it's been pretty good at finding 'em. -- David

← back to recent threads