* [PATCH v1 0/2] Fix default macOS build locally and on Travis CI @ 2016-10-17 0:25 larsxschneider 2016-10-17 0:25 ` [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 larsxschneider ` (2 more replies) 0 siblings, 3 replies; 35+ messages in thread From: larsxschneider @ 2016-10-17 0:25 UTC (permalink / raw) To: git; +Cc: tboegi, gitster, Lars Schneider From: Lars Schneider <larsxschneider@gmail.com> Apple removed the OpenSSL header files in macOS and therefore Git does not build out of the box on macOS anymore. See previous discussion with Torsten here: http://public-inbox.org/git/565B3036.8000604@web.de/ This mini series makes Git build out of the box on macOS, again, and disables the HTTPD tests on macOS TravisCI as they don't work anymore with the new macOS TravisCI default image: https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ Thanks, Lars Lars Schneider (2): config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 travis-ci: disable GIT_TEST_HTTPD for macOS .travis.yml | 3 ++- config.mak.uname | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) -- 2.10.0 ^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-10-17 0:25 [PATCH v1 0/2] Fix default macOS build locally and on Travis CI larsxschneider @ 2016-10-17 0:25 ` larsxschneider 2016-10-17 9:50 ` Jeff King 2016-10-17 0:25 ` [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS larsxschneider 2016-11-09 23:39 ` [PATCH v1 0/2] Fix default macOS build locally and on Travis CI Junio C Hamano 2 siblings, 1 reply; 35+ messages in thread From: larsxschneider @ 2016-10-17 0:25 UTC (permalink / raw) To: git; +Cc: tboegi, gitster, Lars Schneider From: Lars Schneider <larsxschneider@gmail.com> Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL was deprecated since macOS 10.7. Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for macOS. Make it possible to override this and use OpenSSL by defining `DARWIN_OPENSSL`. Original-patch-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> --- config.mak.uname | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config.mak.uname b/config.mak.uname index b232908..f0c94a9 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -108,6 +108,12 @@ ifeq ($(uname_S),Darwin) ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 11 && echo 1),1) HAVE_GETDELIM = YesPlease endif + ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 15 && echo 1),1) + ifndef DARWIN_OPENSSL + NO_OPENSSL = YesPlease + APPLE_COMMON_CRYPTO=YesPlease + endif + endif NO_MEMMEM = YesPlease USE_ST_TIMESPEC = YesPlease HAVE_DEV_TTY = YesPlease -- 2.10.0 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-10-17 0:25 ` [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 larsxschneider @ 2016-10-17 9:50 ` Jeff King 2016-11-06 19:35 ` Lars Schneider 0 siblings, 1 reply; 35+ messages in thread From: Jeff King @ 2016-10-17 9:50 UTC (permalink / raw) To: larsxschneider; +Cc: git, tboegi, gitster On Sun, Oct 16, 2016 at 05:25:49PM -0700, larsxschneider@gmail.com wrote: > From: Lars Schneider <larsxschneider@gmail.com> > > Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL > was deprecated since macOS 10.7. > > Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for > macOS. Make it possible to override this and use OpenSSL by defining > `DARWIN_OPENSSL`. I like that you gave an override, but I don't think it works in all cases: > diff --git a/config.mak.uname b/config.mak.uname > index b232908..f0c94a9 100644 > --- a/config.mak.uname > +++ b/config.mak.uname > @@ -108,6 +108,12 @@ ifeq ($(uname_S),Darwin) > ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 11 && echo 1),1) > HAVE_GETDELIM = YesPlease > endif > + ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 15 && echo 1),1) > + ifndef DARWIN_OPENSSL > + NO_OPENSSL = YesPlease > + APPLE_COMMON_CRYPTO=YesPlease > + endif > + endif This is in config.mak.uname, which gets sourced before config.mak (and ifndef is evaluated at the time of parsing). So it would work to do: make DARWIN_OPENSSL=Yep but not: echo DARWIN_OPENSSL=Yep >>config.mak make I think you'd have to set a flag in config.mak.uname, and then resolve it in the Makefile proper like: ifdef DARWIN_OPENSSL # Overrides AUTO_AVOID_OPENSSL, do nothing. else ifdef AUTO_AVOID_OPENSSL NO_OPENSSL = YesPlease APPLE_COMMON_CRYPTO = YesPlease endif but that's totally untested. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-10-17 9:50 ` Jeff King @ 2016-11-06 19:35 ` Lars Schneider 2016-11-07 17:26 ` Jeff King 0 siblings, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-06 19:35 UTC (permalink / raw) To: Jeff King; +Cc: git, tboegi, gitster > On 17 Oct 2016, at 11:50, Jeff King <peff@peff.net> wrote: > > On Sun, Oct 16, 2016 at 05:25:49PM -0700, larsxschneider@gmail.com wrote: > >> From: Lars Schneider <larsxschneider@gmail.com> >> >> Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL >> was deprecated since macOS 10.7. >> >> Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for >> macOS. Make it possible to override this and use OpenSSL by defining >> `DARWIN_OPENSSL`. > > I like that you gave an override, but I don't think it works in all > cases: > >> diff --git a/config.mak.uname b/config.mak.uname >> index b232908..f0c94a9 100644 >> --- a/config.mak.uname >> +++ b/config.mak.uname >> @@ -108,6 +108,12 @@ ifeq ($(uname_S),Darwin) >> ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 11 && echo 1),1) >> HAVE_GETDELIM = YesPlease >> endif >> + ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 15 && echo 1),1) >> + ifndef DARWIN_OPENSSL >> + NO_OPENSSL = YesPlease >> + APPLE_COMMON_CRYPTO=YesPlease >> + endif >> + endif > > This is in config.mak.uname, which gets sourced before config.mak (and > ifndef is evaluated at the time of parsing). So it would work to do: > > make DARWIN_OPENSSL=Yep > > but not: > > echo DARWIN_OPENSSL=Yep >>config.mak > make > > I think you'd have to set a flag in config.mak.uname, and then resolve > it in the Makefile proper like: > > ifdef DARWIN_OPENSSL > # Overrides AUTO_AVOID_OPENSSL, do nothing. > else ifdef AUTO_AVOID_OPENSSL > NO_OPENSSL = YesPlease > APPLE_COMMON_CRYPTO = YesPlease > endif > > but that's totally untested. Good point. I think I found an even easier way to achieve the same. What do you think about the patch below? Thanks, Lars -- >8 -- Subject: Makefile: set NO_OPENSSL on macOS by default Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL was deprecated since macOS 10.7. Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for macOS. It is possible to override this and use OpenSSL by defining `NO_APPLE_COMMON_CRYPTO`. Original-patch-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 9d6c245..f53fcc9 100644 --- a/Makefile +++ b/Makefile @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) endif endif ifndef NO_APPLE_COMMON_CRYPTO + NO_OPENSSL = YesPlease APPLE_COMMON_CRYPTO = YesPlease COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO endif -- ^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-06 19:35 ` Lars Schneider @ 2016-11-07 17:26 ` Jeff King 2016-11-07 17:36 ` Paul Smith 2016-11-09 8:18 ` Torsten Bögershausen 0 siblings, 2 replies; 35+ messages in thread From: Jeff King @ 2016-11-07 17:26 UTC (permalink / raw) To: Lars Schneider; +Cc: git, tboegi, gitster On Sun, Nov 06, 2016 at 08:35:04PM +0100, Lars Schneider wrote: > Good point. I think I found an even easier way to achieve the same. > What do you think about the patch below? > > [...] > > diff --git a/Makefile b/Makefile > index 9d6c245..f53fcc9 100644 > --- a/Makefile > +++ b/Makefile > @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) > endif > endif > ifndef NO_APPLE_COMMON_CRYPTO > + NO_OPENSSL = YesPlease > APPLE_COMMON_CRYPTO = YesPlease > COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO > endif That is much simpler. I have in the back of my mind a fear that it is harder to unset a make variable than it is to override it with a new value (which is what you'd want to do here to turn openssl back on), but I can't seem to come up with a case that doesn't work. So I am probably misremembering, or just thinking of something that used to be a problem long ago. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-07 17:26 ` Jeff King @ 2016-11-07 17:36 ` Paul Smith 2016-11-07 17:46 ` Jeff King 2016-11-09 8:18 ` Torsten Bögershausen 1 sibling, 1 reply; 35+ messages in thread From: Paul Smith @ 2016-11-07 17:36 UTC (permalink / raw) To: Jeff King, Lars Schneider; +Cc: git, tboegi, gitster On Mon, 2016-11-07 at 12:26 -0500, Jeff King wrote: > I have in the back of my mind a fear that it is harder to unset a > make variable than it is to override it with a new value (which is > what you'd want to do here to turn openssl back on), It depends on what you mean by "unset". If you mean it as per the shell "unset" command, where the variable is completely forgotten as if it never was set at all, that's tricky. You have to use the "undefine" special command which was introduced in GNU make 3.82 (released in 2010). But if you just want to set the variable to the empty string, using "FOO=" works fine for that in all versions of make (GNU and otherwise) and using all the normal rules (command line override, etc.) It's not easy to distinguish between a variable that is empty and one that is actually not defined, in make, so it's a difference without a distinction in almost all situations. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-07 17:36 ` Paul Smith @ 2016-11-07 17:46 ` Jeff King 2016-11-07 17:49 ` Paul Smith 0 siblings, 1 reply; 35+ messages in thread From: Jeff King @ 2016-11-07 17:46 UTC (permalink / raw) To: Paul Smith; +Cc: Lars Schneider, git, tboegi, gitster On Mon, Nov 07, 2016 at 12:36:34PM -0500, Paul Smith wrote: > On Mon, 2016-11-07 at 12:26 -0500, Jeff King wrote: > > I have in the back of my mind a fear that it is harder to unset a > > make variable than it is to override it with a new value (which is > > what you'd want to do here to turn openssl back on), > > It depends on what you mean by "unset". > > If you mean it as per the shell "unset" command, where the variable is > completely forgotten as if it never was set at all, that's tricky. You > have to use the "undefine" special command which was introduced in GNU > make 3.82 (released in 2010). > > But if you just want to set the variable to the empty string, using > "FOO=" works fine for that in all versions of make (GNU and otherwise) > and using all the normal rules (command line override, etc.) Specifically I wanted to make sure that FOO = bar FOO = ifdef FOO ... something ... endif works as if FOO had never been set in the first place. Which it seems to, at least in GNU make (and that is the only one we support, for other reasons). -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-07 17:46 ` Jeff King @ 2016-11-07 17:49 ` Paul Smith 0 siblings, 0 replies; 35+ messages in thread From: Paul Smith @ 2016-11-07 17:49 UTC (permalink / raw) To: Jeff King; +Cc: Lars Schneider, git, tboegi, gitster On Mon, 2016-11-07 at 12:46 -0500, Jeff King wrote: > Specifically I wanted to make sure that > > FOO = bar > FOO = > ifdef FOO > ... something ... > endif > > works as if FOO had never been set in the first place. Which it seems > to, at least in GNU make (and that is the only one we support, for > other reasons). Yes, it will work. Confusingly, "ifdef" actually tests whether the variable has a non-empty value, not whether it's defined: > The 'ifdef' form takes the _name_ of a variable as its argument, not > a reference to a variable. The value of that variable has a non- > empty value, the TEXT-IF-TRUE is effective; otherwise, the TEXT-IF- > FALSE, if any, is effective *sigh* History... ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-07 17:26 ` Jeff King 2016-11-07 17:36 ` Paul Smith @ 2016-11-09 8:18 ` Torsten Bögershausen 2016-11-09 9:29 ` Lars Schneider 1 sibling, 1 reply; 35+ messages in thread From: Torsten Bögershausen @ 2016-11-09 8:18 UTC (permalink / raw) To: Jeff King, Lars Schneider; +Cc: git, gitster On 07.11.16 18:26, Jeff King wrote: > On Sun, Nov 06, 2016 at 08:35:04PM +0100, Lars Schneider wrote: > >> Good point. I think I found an even easier way to achieve the same. >> What do you think about the patch below? >> >> [...] >> >> diff --git a/Makefile b/Makefile >> index 9d6c245..f53fcc9 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) >> endif >> endif >> ifndef NO_APPLE_COMMON_CRYPTO >> + NO_OPENSSL = YesPlease >> APPLE_COMMON_CRYPTO = YesPlease >> COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO >> endif > > That is much simpler. [] I don't know if that is a correct solution. If I have Mac OS 10.12 and Mac Ports installed, I may want to use OPENSSL from Mac Ports. How about this: diff --git a/Makefile b/Makefile index ee89c06..e93511f 100644 --- a/Makefile +++ b/Makefile @@ -1038,17 +1038,22 @@ ifeq ($(uname_S),Darwin) ifeq ($(shell test -d /sw/lib && echo y),y) BASIC_CFLAGS += -I/sw/include BASIC_LDFLAGS += -L/sw/lib + HAS_OPENSSL = Yes endif endif ifndef NO_DARWIN_PORTS ifeq ($(shell test -d /opt/local/lib && echo y),y) BASIC_CFLAGS += -I/opt/local/include BASIC_LDFLAGS += -L/opt/local/lib + HAS_OPENSSL = Yes endif endif ifndef NO_APPLE_COMMON_CRYPTO APPLE_COMMON_CRYPTO = YesPlease COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO + ifndef HAS_OPENSSL + NO_OPENSSL = YesPlease + endif endif NO_REGEX = YesPlease PTHREAD_LIBS = ^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-09 8:18 ` Torsten Bögershausen @ 2016-11-09 9:29 ` Lars Schneider 2016-11-09 10:51 ` Torsten Bögershausen 0 siblings, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-09 9:29 UTC (permalink / raw) To: Torsten Bögershausen; +Cc: Jeff King, git, gitster > On 09 Nov 2016, at 09:18, Torsten Bögershausen <tboegi@web.de> wrote: > > On 07.11.16 18:26, Jeff King wrote: >> On Sun, Nov 06, 2016 at 08:35:04PM +0100, Lars Schneider wrote: >> >>> Good point. I think I found an even easier way to achieve the same. >>> What do you think about the patch below? >>> >>> [...] >>> >>> diff --git a/Makefile b/Makefile >>> index 9d6c245..f53fcc9 100644 >>> --- a/Makefile >>> +++ b/Makefile >>> @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) >>> endif >>> endif >>> ifndef NO_APPLE_COMMON_CRYPTO >>> + NO_OPENSSL = YesPlease >>> APPLE_COMMON_CRYPTO = YesPlease >>> COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO >>> endif >> >> That is much simpler. > [] > I don't know if that is a correct solution. > > If I have Mac OS 10.12 and Mac Ports installed, I may want to use > OPENSSL from Mac Ports. Can't you define `NO_APPLE_COMMON_CRYPTO` in that case? I think if you use OpenSSL then you don't need the Apple crypto lib, right? - Lars > How about this: > > > diff --git a/Makefile b/Makefile > index ee89c06..e93511f 100644 > --- a/Makefile > +++ b/Makefile > @@ -1038,17 +1038,22 @@ ifeq ($(uname_S),Darwin) > ifeq ($(shell test -d /sw/lib && echo y),y) > BASIC_CFLAGS += -I/sw/include > BASIC_LDFLAGS += -L/sw/lib > + HAS_OPENSSL = Yes > endif > endif > ifndef NO_DARWIN_PORTS > ifeq ($(shell test -d /opt/local/lib && echo y),y) > BASIC_CFLAGS += -I/opt/local/include > BASIC_LDFLAGS += -L/opt/local/lib > + HAS_OPENSSL = Yes > endif > endif > ifndef NO_APPLE_COMMON_CRYPTO > APPLE_COMMON_CRYPTO = YesPlease > COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO > + ifndef HAS_OPENSSL > + NO_OPENSSL = YesPlease > + endif > endif > NO_REGEX = YesPlease > PTHREAD_LIBS = > ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 2016-11-09 9:29 ` Lars Schneider @ 2016-11-09 10:51 ` Torsten Bögershausen 2016-11-10 11:13 ` [PATCH v2] Makefile: set NO_OPENSSL on macOS by default larsxschneider 0 siblings, 1 reply; 35+ messages in thread From: Torsten Bögershausen @ 2016-11-09 10:51 UTC (permalink / raw) To: Lars Schneider; +Cc: Jeff King, git, gitster On 09.11.16 10:29, Lars Schneider wrote: > >> On 09 Nov 2016, at 09:18, Torsten Bögershausen <tboegi@web.de> wrote: >> >> On 07.11.16 18:26, Jeff King wrote: >>> On Sun, Nov 06, 2016 at 08:35:04PM +0100, Lars Schneider wrote: >>> >>>> Good point. I think I found an even easier way to achieve the same. >>>> What do you think about the patch below? >>>> >>>> [...] >>>> >>>> diff --git a/Makefile b/Makefile >>>> index 9d6c245..f53fcc9 100644 >>>> --- a/Makefile >>>> +++ b/Makefile >>>> @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) >>>> endif >>>> endif >>>> ifndef NO_APPLE_COMMON_CRYPTO >>>> + NO_OPENSSL = YesPlease >>>> APPLE_COMMON_CRYPTO = YesPlease >>>> COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO >>>> endif >>> >>> That is much simpler. >> [] >> I don't know if that is a correct solution. >> >> If I have Mac OS 10.12 and Mac Ports installed, I may want to use >> OPENSSL from Mac Ports. > > Can't you define `NO_APPLE_COMMON_CRYPTO` in that case? > I think if you use OpenSSL then you don't need the Apple crypto lib, right? After re-reading the Makefile: that makes sense :-) Do you want to send a new patch ? Feel free to omit "Original-patch-by: Torsten Bögershausen <tboegi@web.de>" ^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH v2] Makefile: set NO_OPENSSL on macOS by default 2016-11-09 10:51 ` Torsten Bögershausen @ 2016-11-10 11:13 ` larsxschneider 0 siblings, 0 replies; 35+ messages in thread From: larsxschneider @ 2016-11-10 11:13 UTC (permalink / raw) To: git; +Cc: peff, gitster, tboegi, Lars Schneider From: Lars Schneider <larsxschneider@gmail.com> Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL was deprecated since macOS 10.7. Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for macOS. It is possible to override this and use OpenSSL by defining `NO_APPLE_COMMON_CRYPTO`. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 9d6c245..f53fcc9 100644 --- a/Makefile +++ b/Makefile @@ -1047,6 +1047,7 @@ ifeq ($(uname_S),Darwin) endif endif ifndef NO_APPLE_COMMON_CRYPTO + NO_OPENSSL = YesPlease APPLE_COMMON_CRYPTO = YesPlease COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO endif -- 2.10.2 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-10-17 0:25 [PATCH v1 0/2] Fix default macOS build locally and on Travis CI larsxschneider 2016-10-17 0:25 ` [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 larsxschneider @ 2016-10-17 0:25 ` larsxschneider 2016-11-06 21:42 ` Lars Schneider 2016-11-09 23:39 ` [PATCH v1 0/2] Fix default macOS build locally and on Travis CI Junio C Hamano 2 siblings, 1 reply; 35+ messages in thread From: larsxschneider @ 2016-10-17 0:25 UTC (permalink / raw) To: git; +Cc: tboegi, gitster, Lars Schneider From: Lars Schneider <larsxschneider@gmail.com> TravisCI changed their default macOS image from 10.10 to 10.11 [1]. Unfortunately the HTTPD tests do not run out of the box using the pre-installed Apache web server anymore. Therefore we enable these tests only for Linux and disable them for macOS. [1] https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ Signed-off-by: Lars Schneider <larsxschneider@gmail.com> --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 37a1e1f..d752447 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,6 @@ env: - DEFAULT_TEST_TARGET=prove - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save" - GIT_TEST_OPTS="--verbose --tee" - - GIT_TEST_HTTPD=true - GIT_TEST_CLONE_2GB=YesPlease # t9810 occasionally fails on Travis CI OS X # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X @@ -57,6 +56,8 @@ before_install: - > case "${TRAVIS_OS_NAME:-linux}" in linux) + export GIT_TEST_HTTPD=YesPlease + mkdir --parents custom/p4 pushd custom/p4 wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d -- 2.10.0 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-10-17 0:25 ` [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS larsxschneider @ 2016-11-06 21:42 ` Lars Schneider 2016-11-07 21:20 ` Jeff King 0 siblings, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-06 21:42 UTC (permalink / raw) To: Junio C Hamano; +Cc: Torsten Bögershausen, git > On 17 Oct 2016, at 02:25, larsxschneider@gmail.com wrote: > > From: Lars Schneider <larsxschneider@gmail.com> > > TravisCI changed their default macOS image from 10.10 to 10.11 [1]. > Unfortunately the HTTPD tests do not run out of the box using the > pre-installed Apache web server anymore. Therefore we enable these > tests only for Linux and disable them for macOS. > > [1] https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ > > Signed-off-by: Lars Schneider <larsxschneider@gmail.com> > --- > .travis.yml | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/.travis.yml b/.travis.yml > index 37a1e1f..d752447 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -32,7 +32,6 @@ env: > - DEFAULT_TEST_TARGET=prove > - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save" > - GIT_TEST_OPTS="--verbose --tee" > - - GIT_TEST_HTTPD=true > - GIT_TEST_CLONE_2GB=YesPlease > # t9810 occasionally fails on Travis CI OS X > # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X > @@ -57,6 +56,8 @@ before_install: > - > > case "${TRAVIS_OS_NAME:-linux}" in > linux) > + export GIT_TEST_HTTPD=YesPlease > + > mkdir --parents custom/p4 > pushd custom/p4 > wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d > -- > 2.10.0 > Hi Junio, the patch above is one of two patches to make TravisCI pass, again. Could you queue it? The other patch is [1] which is still under discussion. Thank you, Lars [1] http://public-inbox.org/git/8C67FF53-C26F-4993-908F-A5183C5E48D9@gmail.com/ ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-06 21:42 ` Lars Schneider @ 2016-11-07 21:20 ` Jeff King 2016-11-10 11:07 ` Lars Schneider 0 siblings, 1 reply; 35+ messages in thread From: Jeff King @ 2016-11-07 21:20 UTC (permalink / raw) To: Lars Schneider; +Cc: Junio C Hamano, Torsten Bögershausen, git On Sun, Nov 06, 2016 at 10:42:36PM +0100, Lars Schneider wrote: > > From: Lars Schneider <larsxschneider@gmail.com> > > > > TravisCI changed their default macOS image from 10.10 to 10.11 [1]. > > Unfortunately the HTTPD tests do not run out of the box using the > > pre-installed Apache web server anymore. Therefore we enable these > > tests only for Linux and disable them for macOS. > [...] > Hi Junio, > > the patch above is one of two patches to make TravisCI pass, again. > Could you queue it? I don't really mind disabling tests if they don't run on a platform. But the more interesting question to me is: why don't they run any more? Is there some config tweak needed, or is it an insurmountable problem? Using Apache in the tests has been the source of frequent portability problems and configuration headaches. I do wonder if we'd be better off using some small special-purpose web server (even a short perl script written around HTTP::Server::Simple or something). On the other hand, testing against Apache approximates a more real-world case, which has value. It might be nice if our tests supported multiple web servers, but that would mean duplicating the config for each manually. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-07 21:20 ` Jeff King @ 2016-11-10 11:07 ` Lars Schneider 2016-11-10 16:10 ` Jeff King 0 siblings, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-10 11:07 UTC (permalink / raw) To: Jeff King; +Cc: Junio C Hamano, Torsten Bögershausen, git > On 07 Nov 2016, at 22:20, Jeff King <peff@peff.net> wrote: > > On Sun, Nov 06, 2016 at 10:42:36PM +0100, Lars Schneider wrote: > >>> From: Lars Schneider <larsxschneider@gmail.com> >>> >>> TravisCI changed their default macOS image from 10.10 to 10.11 [1]. >>> Unfortunately the HTTPD tests do not run out of the box using the >>> pre-installed Apache web server anymore. Therefore we enable these >>> tests only for Linux and disable them for macOS. >> [...] >> Hi Junio, >> >> the patch above is one of two patches to make TravisCI pass, again. >> Could you queue it? > > I don't really mind disabling tests if they don't run on a platform. But > the more interesting question to me is: why don't they run any more? Is > there some config tweak needed, or is it an insurmountable problem? I can't really remember what the problem was. I think some apache config required some module that was not present and I wasn't able to get this working quickly. > Using Apache in the tests has been the source of frequent portability > problems and configuration headaches. I do wonder if we'd be better off > using some small special-purpose web server (even a short perl script > written around HTTP::Server::Simple or something). > > On the other hand, testing against Apache approximates a more real-world > case, which has value. It might be nice if our tests supported multiple > web servers, but that would mean duplicating the config for each > manually. I agree that the real-world Apache test is more valuable and I really want to keep the Linux Apache test running. However, I don't think many people use macOS as Git web server and therefore I thought it is not worth the effort to investigate this problem further. - Lars ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 11:07 ` Lars Schneider @ 2016-11-10 16:10 ` Jeff King 2016-11-10 21:33 ` Junio C Hamano 2016-11-11 8:22 ` Lars Schneider 0 siblings, 2 replies; 35+ messages in thread From: Jeff King @ 2016-11-10 16:10 UTC (permalink / raw) To: Lars Schneider; +Cc: Junio C Hamano, Torsten Bögershausen, git On Thu, Nov 10, 2016 at 12:07:14PM +0100, Lars Schneider wrote: > > Using Apache in the tests has been the source of frequent portability > > problems and configuration headaches. I do wonder if we'd be better off > > using some small special-purpose web server (even a short perl script > > written around HTTP::Server::Simple or something). > > > > On the other hand, testing against Apache approximates a more real-world > > case, which has value. It might be nice if our tests supported multiple > > web servers, but that would mean duplicating the config for each > > manually. > > I agree that the real-world Apache test is more valuable and I really want > to keep the Linux Apache test running. However, I don't think many people > use macOS as Git web server and therefore I thought it is not worth the > effort to investigate this problem further. IMHO, the value in the http tests is not testing the server side, but the client side. Without being able to set up a dummy HTTP server, we do not have any way to exercise the client side of git-over-http at all. And people on macOS _do_ use that. :) -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 16:10 ` Jeff King @ 2016-11-10 21:33 ` Junio C Hamano 2016-11-10 21:43 ` Jeff King 2016-11-11 8:22 ` Lars Schneider 1 sibling, 1 reply; 35+ messages in thread From: Junio C Hamano @ 2016-11-10 21:33 UTC (permalink / raw) To: Jeff King; +Cc: Lars Schneider, Torsten Bögershausen, git Jeff King <peff@peff.net> writes: > IMHO, the value in the http tests is not testing the server side, but > the client side. Without being able to set up a dummy HTTP server, we do > not have any way to exercise the client side of git-over-http at all. > And people on macOS _do_ use that. :) Amen to that. I however do not know what the universally available simplest dummy HTTP server would be. There probably are better alternative than Apache with distro-customized ways of configuration that we have to adjust. A solution around HTTP::Server::Simple sounds attractive but is it a realistic alternative or too much effort required? I dunno. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 21:33 ` Junio C Hamano @ 2016-11-10 21:43 ` Jeff King 2016-11-10 21:49 ` Junio C Hamano 0 siblings, 1 reply; 35+ messages in thread From: Jeff King @ 2016-11-10 21:43 UTC (permalink / raw) To: Junio C Hamano; +Cc: Lars Schneider, Torsten Bögershausen, git On Thu, Nov 10, 2016 at 01:33:29PM -0800, Junio C Hamano wrote: > Jeff King <peff@peff.net> writes: > > > IMHO, the value in the http tests is not testing the server side, but > > the client side. Without being able to set up a dummy HTTP server, we do > > not have any way to exercise the client side of git-over-http at all. > > And people on macOS _do_ use that. :) > > Amen to that. > > I however do not know what the universally available simplest dummy > HTTP server would be. There probably are better alternative than > Apache with distro-customized ways of configuration that we have to > adjust. > > A solution around HTTP::Server::Simple sounds attractive but is it > a realistic alternative or too much effort required? I dunno. I'm less concerned about the amount of effort (though I agree it may be a blocker) than about the fact that it may not behave similarly to real servers. We have had real bugs and surprises with the way that various web servers implement things. A few that come to mind are: 1. Buffering/deadlock issues between the webserver and the CGI (this was an issue with Apache, but I don't know about other servers). 2. The handling of CONTENT_LENGTH with chunked-encoding (this is still an issue with IIS). 3. What happens when you ask for "foo.git/info/refs" and "foo.git" is a bundle file (Apache gives you a 404, lighttpd serves the bundle). Ideally we'd test against a lot of different webservers, but that's expensive (in CPU, but also in developer time). But I'd guess that Apache is at least more representative than HTTP::Server::Simple of real servers in the wild. So if we had a simple fallback in addition to Apache, I'd be OK with that. But we still have a problem that (say) people on MacOS would never actually test against Apache, because it's not supported there. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 21:43 ` Jeff King @ 2016-11-10 21:49 ` Junio C Hamano 2016-11-10 21:54 ` Jeff King 0 siblings, 1 reply; 35+ messages in thread From: Junio C Hamano @ 2016-11-10 21:49 UTC (permalink / raw) To: Jeff King; +Cc: Lars Schneider, Torsten Bögershausen, git Jeff King <peff@peff.net> writes: >> I however do not know what the universally available simplest dummy >> HTTP server would be. There probably are better alternative than >> Apache with distro-customized ways of configuration that we have to >> adjust. >> >> A solution around HTTP::Server::Simple sounds attractive but is it >> a realistic alternative or too much effort required? I dunno. > > I'm less concerned about the amount of effort (though I agree it may be > a blocker) than about the fact that it may not behave similarly to real > servers. I was wondering if it takes too much effort to make it behave similarly to real servers, so I guess we are on the same page. Yes, I recall the IIS one raised and discussed at least twice on the list in the past, and it sounded that we want some solution to that. > 3. What happens when you ask for "foo.git/info/refs" and "foo.git" is > a bundle file (Apache gives you a 404, lighttpd serves the bundle). That's a bad one. Do we want a client-side "I am connecting to a site that knows how to talk smart-http" option or something to work it around? ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 21:49 ` Junio C Hamano @ 2016-11-10 21:54 ` Jeff King 0 siblings, 0 replies; 35+ messages in thread From: Jeff King @ 2016-11-10 21:54 UTC (permalink / raw) To: Junio C Hamano; +Cc: Lars Schneider, Torsten Bögershausen, git On Thu, Nov 10, 2016 at 01:49:52PM -0800, Junio C Hamano wrote: > Yes, I recall the IIS one raised and discussed at least twice on the > list in the past, and it sounded that we want some solution to that. The patches had some issues. I suspect the population of people who want to run a git server on IIS is relatively small. I am content to wait for somebody who has such a setup to produce a working patch. > > 3. What happens when you ask for "foo.git/info/refs" and "foo.git" is > > a bundle file (Apache gives you a 404, lighttpd serves the bundle). > > That's a bad one. Do we want a client-side "I am connecting to a > site that knows how to talk smart-http" option or something to work > it around? It doesn't matter because we don't actually support fetching HTTP bundles via "git fetch" yet. But I ran it across the issue and did make such a fix when I was implementing that feature long ago. See the discussion of "surprise" in [1] and [2]. Wow, that series is exactly 5 years old today. Have I really been procrastinating on re-rolling it that long? Yikes. -Peff [1] http://public-inbox.org/git/20111110075052.GI27950@sigill.intra.peff.net/ [2] http://public-inbox.org/git/20111110075052.GI27950@sigill.intra.peff.net/ ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-10 16:10 ` Jeff King 2016-11-10 21:33 ` Junio C Hamano @ 2016-11-11 8:22 ` Lars Schneider 2016-11-11 8:47 ` Jeff King 2016-11-15 12:07 ` Heiko Voigt 1 sibling, 2 replies; 35+ messages in thread From: Lars Schneider @ 2016-11-11 8:22 UTC (permalink / raw) To: Jeff King Cc: Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine, hvoigt On 10 Nov 2016, at 17:10, Jeff King <peff@peff.net> wrote: > On Thu, Nov 10, 2016 at 12:07:14PM +0100, Lars Schneider wrote: > >>> Using Apache in the tests has been the source of frequent portability >>> problems and configuration headaches. I do wonder if we'd be better off >>> using some small special-purpose web server (even a short perl script >>> written around HTTP::Server::Simple or something). >>> >>> On the other hand, testing against Apache approximates a more real-world >>> case, which has value. It might be nice if our tests supported multiple >>> web servers, but that would mean duplicating the config for each >>> manually. >> >> I agree that the real-world Apache test is more valuable and I really want >> to keep the Linux Apache test running. However, I don't think many people >> use macOS as Git web server and therefore I thought it is not worth the >> effort to investigate this problem further. > > IMHO, the value in the http tests is not testing the server side, but > the client side. Without being able to set up a dummy HTTP server, we do > not have any way to exercise the client side of git-over-http at all. > And people on macOS _do_ use that. :) Well, I haven't seen it from that perspective, yet, but I agree :-) To all macOS users on the list: Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? There would be an alternative way to approach the problem: Someone (GitHub?, BitBucket?, GitLab?, ...) could setup a bunch of webservers with popular configurations and a way to reset a clean test environment. Then the TravisCI client tests could go against these servers. I realize that this idea is probably unrealistic because too much setup and maintenance work would be required. Cheers, Lars ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-11 8:22 ` Lars Schneider @ 2016-11-11 8:47 ` Jeff King 2016-11-11 9:13 ` Lars Schneider 2016-11-15 12:07 ` Heiko Voigt 1 sibling, 1 reply; 35+ messages in thread From: Jeff King @ 2016-11-11 8:47 UTC (permalink / raw) To: Lars Schneider Cc: Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine, hvoigt On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: > There would be an alternative way to approach the problem: > Someone (GitHub?, BitBucket?, GitLab?, ...) could setup a bunch of webservers > with popular configurations and a way to reset a clean test environment. Then > the TravisCI client tests could go against these servers. > > I realize that this idea is probably unrealistic because too much setup and > maintenance work would be required. Yeah, it seems like it adds a lot of complexity for little gain. Plus it creates a network dependency on running the tests. I know you care mostly about Travis, but I am much more interested in all of the people (developers and not) who run "make test" on their own platforms. If you did want to have a more real-world network-based test, I think the right solution is not for GitHub to set up a bunch of mock servers, but to design client-side tests that hit the _real_ GitHub (or GitLab, or whatever) and perform some basic operations. OTOH, people running "master" (or "next", etc) are doing that implicitly every day. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-11 8:47 ` Jeff King @ 2016-11-11 9:13 ` Lars Schneider 2016-11-11 9:28 ` Jeff King 0 siblings, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-11 9:13 UTC (permalink / raw) To: Jeff King Cc: Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine, hvoigt On 11 Nov 2016, at 09:47, Jeff King <peff@peff.net> wrote: > On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: > >> There would be an alternative way to approach the problem: >> Someone (GitHub?, BitBucket?, GitLab?, ...) could setup a bunch of webservers >> with popular configurations and a way to reset a clean test environment. Then >> the TravisCI client tests could go against these servers. >> >> I realize that this idea is probably unrealistic because too much setup and >> maintenance work would be required. > > Yeah, it seems like it adds a lot of complexity for little gain. Plus it > creates a network dependency on running the tests. I know you care > mostly about Travis, but I am much more interested in all of the people > (developers and not) who run "make test" on their own platforms. > > If you did want to have a more real-world network-based test, I think > the right solution is not for GitHub to set up a bunch of mock servers, > but to design client-side tests that hit the _real_ GitHub (or GitLab, > or whatever) and perform some basic operations. OTOH, people running > "master" (or "next", etc) are doing that implicitly every day. That is actually a neat idea. We could setup a test repo on each of the major Git hosting sites and then the TravisCI run could clone a repo and push changes to it. That shouldn't take long and would probably be a good real world test. The credentials of these repos could be stored encrypted in Travis CI [1]. Where would such a test repo live on github.com? On github.com/git or would you prefer a separate organization? (no worries, I am not going to tackle this anytime soon -- too many things in my backlog already). BTW: I just noticed https://github.com/git/hello-world ... is this legitimate or did someone hack github.com/git? :) Cheers, Lars [1] https://docs.travis-ci.com/user/environment-variables/#Defining-encrypted-variables-in-.travis.yml ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-11 9:13 ` Lars Schneider @ 2016-11-11 9:28 ` Jeff King 0 siblings, 0 replies; 35+ messages in thread From: Jeff King @ 2016-11-11 9:28 UTC (permalink / raw) To: Lars Schneider Cc: Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine, hvoigt On Fri, Nov 11, 2016 at 10:13:44AM +0100, Lars Schneider wrote: > > If you did want to have a more real-world network-based test, I think > > the right solution is not for GitHub to set up a bunch of mock servers, > > but to design client-side tests that hit the _real_ GitHub (or GitLab, > > or whatever) and perform some basic operations. OTOH, people running > > "master" (or "next", etc) are doing that implicitly every day. > > That is actually a neat idea. We could setup a test repo on each of the major > Git hosting sites and then the TravisCI run could clone a repo and push > changes to it. That shouldn't take long and would probably be a good real > world test. > > The credentials of these repos could be stored encrypted in Travis CI [1]. > > Where would such a test repo live on github.com? On github.com/git or would > you prefer a separate organization? (no worries, I am not going to tackle this > anytime soon -- too many things in my backlog already). I think I'd prefer for it to live outside of the "git" organization entirely, if only because it's credentials will be necessarily less secure. It would be nice if people could point the suite at their own user/repo, too, so they can run it outside of travis. > BTW: I just noticed https://github.com/git/hello-world ... is this legitimate > or did someone hack github.com/git? :) Hmm. I wondered myself. There's no audit record of who created it, but the creation timestamp is from 2008-07-23, which predates a lot of the logging. So offhand, I'd say the likely explanation is "Scott Chacon experimenting". It's probably worth cleaning out now, though. -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-11 8:22 ` Lars Schneider 2016-11-11 8:47 ` Jeff King @ 2016-11-15 12:07 ` Heiko Voigt 2016-11-15 14:18 ` Lars Schneider 2016-11-15 15:31 ` Jeff King 1 sibling, 2 replies; 35+ messages in thread From: Heiko Voigt @ 2016-11-15 12:07 UTC (permalink / raw) To: Lars Schneider Cc: Jeff King, Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: > To all macOS users on the list: > Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? Nope. The following tests fail for me on master: 5539, 5540, 5541, 5542, 5550, 5551, 5561, 5812. Cheers Heiko ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-15 12:07 ` Heiko Voigt @ 2016-11-15 14:18 ` Lars Schneider 2016-11-15 15:31 ` Jeff King 1 sibling, 0 replies; 35+ messages in thread From: Lars Schneider @ 2016-11-15 14:18 UTC (permalink / raw) To: Heiko Voigt Cc: Jeff King, Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine > On 15 Nov 2016, at 13:07, Heiko Voigt <hvoigt@hvoigt.net> wrote: > > On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: >> To all macOS users on the list: >> Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? > > Nope. The following tests fail for me on master: 5539, 5540, 5541, 5542, > 5550, 5551, 5561, 5812. That's what I see, too. Apache needs to be configured in some special way to make them work and I was wondering if anyone has figured that out already for macOS... However, I much prefer Peff's idea to test against real world servers: http://public-inbox.org/git/20161111092824.qqgrmhtkuw3wpbwa@sigill.intra.peff.net/ - Lars ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-15 12:07 ` Heiko Voigt 2016-11-15 14:18 ` Lars Schneider @ 2016-11-15 15:31 ` Jeff King 2016-11-16 14:39 ` Heiko Voigt 1 sibling, 1 reply; 35+ messages in thread From: Jeff King @ 2016-11-15 15:31 UTC (permalink / raw) To: Heiko Voigt Cc: Lars Schneider, Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine On Tue, Nov 15, 2016 at 01:07:18PM +0100, Heiko Voigt wrote: > On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: > > To all macOS users on the list: > > Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? > > Nope. The following tests fail for me on master: 5539, 5540, 5541, 5542, > 5550, 5551, 5561, 5812. Failing how? Does apache fail to start up? Do tests fails? What does "-v" say? Is there anything interesting in httpd/error.log in the trash directory? -Peff ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-15 15:31 ` Jeff King @ 2016-11-16 14:39 ` Heiko Voigt 2016-11-16 20:01 ` Torsten Bögershausen 0 siblings, 1 reply; 35+ messages in thread From: Heiko Voigt @ 2016-11-16 14:39 UTC (permalink / raw) To: Jeff King Cc: Lars Schneider, Junio C Hamano, Torsten Bögershausen, git, Eric Sunshine On Tue, Nov 15, 2016 at 10:31:59AM -0500, Jeff King wrote: > On Tue, Nov 15, 2016 at 01:07:18PM +0100, Heiko Voigt wrote: > > > On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: > > > To all macOS users on the list: > > > Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? > > > > Nope. The following tests fail for me on master: 5539, 5540, 5541, 5542, > > 5550, 5551, 5561, 5812. > > Failing how? Does apache fail to start up? Do tests fails? What does > "-v" say? Is there anything interesting in httpd/error.log in the trash > directory? This is what I see for 5539: $ GIT_TEST_HTTPD=1 ./t5539-fetch-http-shallow.sh -v Initialized empty Git repository in /Users/hvoigt/Repository/git4/t/trash directory.t5539-fetch-http-shallow/.git/ checking prerequisite: NOT_ROOT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" && ( cd "$TRASH_DIRECTORY/prereq-test-dir" && uid=$(id -u) && test "$uid" != 0 ) prerequisite NOT_ROOT ok httpd: Syntax error on line 65 of /Users/hvoigt/Repository/git4/t/lib-httpd/apache.conf: Cannot load modules/mod_mpm_prefork.so into server: dlopen(/Users/hvoigt/Repository/git4/t/trash directory.t5539-fetch-http-shallow/httpd/modules/mod_mpm_prefork.so, 10): image not found error: web server setup failed It seems the other failures have the same cause. Cheers Heiko ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS 2016-11-16 14:39 ` Heiko Voigt @ 2016-11-16 20:01 ` Torsten Bögershausen 0 siblings, 0 replies; 35+ messages in thread From: Torsten Bögershausen @ 2016-11-16 20:01 UTC (permalink / raw) To: Heiko Voigt, Jeff King; +Cc: Lars Schneider, Junio C Hamano, git, Eric Sunshine On 16.11.16 15:39, Heiko Voigt wrote: > On Tue, Nov 15, 2016 at 10:31:59AM -0500, Jeff King wrote: >> On Tue, Nov 15, 2016 at 01:07:18PM +0100, Heiko Voigt wrote: >> >>> On Fri, Nov 11, 2016 at 09:22:51AM +0100, Lars Schneider wrote: >>>> To all macOS users on the list: >>>> Does anyone execute the tests with GIT_TEST_HTTPD enabled successfully? >>> >>> Nope. The following tests fail for me on master: 5539, 5540, 5541, 5542, >>> 5550, 5551, 5561, 5812. >> >> Failing how? Does apache fail to start up? Do tests fails? What does >> "-v" say? Is there anything interesting in httpd/error.log in the trash >> directory? > > This is what I see for 5539: > > $ GIT_TEST_HTTPD=1 ./t5539-fetch-http-shallow.sh -v > Initialized empty Git repository in /Users/hvoigt/Repository/git4/t/trash directory.t5539-fetch-http-shallow/.git/ > checking prerequisite: NOT_ROOT > > mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" && > ( > cd "$TRASH_DIRECTORY/prereq-test-dir" && > uid=$(id -u) && > test "$uid" != 0 > > ) > prerequisite NOT_ROOT ok > httpd: Syntax error on line 65 of /Users/hvoigt/Repository/git4/t/lib-httpd/apache.conf: Cannot load modules/mod_mpm_prefork.so into server: dlopen(/Users/hvoigt/Repository/git4/t/trash directory.t5539-fetch-http-shallow/httpd/modules/mod_mpm_prefork.so, 10): image not found > error: web server setup failed > Yes, same here. If we take that out: diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf index c3e6313..1925fdb 100644 --- a/t/lib-httpd/apache.conf +++ b/t/lib-httpd/apache.conf @@ -61,9 +61,6 @@ LockFile accept.lock <IfModule !mod_access_compat.c> LoadModule access_compat_module modules/mod_access_compat.so </IfModule> -<IfModule !mod_mpm_prefork.c> - LoadModule mpm_prefork_module modules/mod_mpm_prefork.so -</IfModule> <IfModule !mod_unixd.c> LoadModule unixd_module modules/mod_unixd.so </IfModule> I run into other issues: [core:emerg] [pid 2502] (2)No such file or directory: AH00023: Couldn't create the rewrite-map mutex (file /private/var/run/rewrite-map.2502) AH00016: Configuration Failed (apache2 comes via MacPorts) ^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [PATCH v1 0/2] Fix default macOS build locally and on Travis CI 2016-10-17 0:25 [PATCH v1 0/2] Fix default macOS build locally and on Travis CI larsxschneider 2016-10-17 0:25 ` [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 larsxschneider 2016-10-17 0:25 ` [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS larsxschneider @ 2016-11-09 23:39 ` Junio C Hamano 2016-11-10 6:41 ` Torsten Bögershausen 2016-11-10 11:19 ` Lars Schneider 2 siblings, 2 replies; 35+ messages in thread From: Junio C Hamano @ 2016-11-09 23:39 UTC (permalink / raw) To: larsxschneider; +Cc: git, tboegi larsxschneider@gmail.com writes: > From: Lars Schneider <larsxschneider@gmail.com> > > Apple removed the OpenSSL header files in macOS and therefore Git does > not build out of the box on macOS anymore. See previous discussion with > Torsten here: http://public-inbox.org/git/565B3036.8000604@web.de/ > > This mini series makes Git build out of the box on macOS, again, and > disables the HTTPD tests on macOS TravisCI as they don't work anymore > with the new macOS TravisCI default image: > https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ > > Thanks, > Lars > > > Lars Schneider (2): > config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 > travis-ci: disable GIT_TEST_HTTPD for macOS > > .travis.yml | 3 ++- > config.mak.uname | 6 ++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) I've followed what was available at the public-inbox archive, but it is unclear what the conclusion was. For the first one your "how about" non-patch, to which Peff said "that's simple and good", looked good to me as well, but is it available as a final patch that I can just take and apply (otherwise I think I can do the munging myself, but I'd rather be spoon-fed when able ;-). I do not have a strong opinion on the second one. For an interim solution, disabling webserver tests certainly is expedite and safe, so I am fine taking it as-is, but I may have missed strong objections. Thanks. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 0/2] Fix default macOS build locally and on Travis CI 2016-11-09 23:39 ` [PATCH v1 0/2] Fix default macOS build locally and on Travis CI Junio C Hamano @ 2016-11-10 6:41 ` Torsten Bögershausen 2016-11-10 11:19 ` Lars Schneider 1 sibling, 0 replies; 35+ messages in thread From: Torsten Bögershausen @ 2016-11-10 6:41 UTC (permalink / raw) To: Junio C Hamano, larsxschneider; +Cc: git On 10/11/16 00:39, Junio C Hamano wrote: > > I've followed what was available at the public-inbox archive, but it > is unclear what the conclusion was. > > For the first one your "how about" non-patch, to which Peff said > "that's simple and good", looked good to me as well, but is it > available as a final patch that I can just take and apply (otherwise > I think I can do the munging myself, but I'd rather be spoon-fed > when able ;-). If you can munge the Peff version that may be easiest ? I couldn't find a branch in your repo, but am happy to review whatever shows up there and in pu. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 0/2] Fix default macOS build locally and on Travis CI 2016-11-09 23:39 ` [PATCH v1 0/2] Fix default macOS build locally and on Travis CI Junio C Hamano 2016-11-10 6:41 ` Torsten Bögershausen @ 2016-11-10 11:19 ` Lars Schneider 2016-11-10 21:34 ` Junio C Hamano 1 sibling, 1 reply; 35+ messages in thread From: Lars Schneider @ 2016-11-10 11:19 UTC (permalink / raw) To: Junio C Hamano; +Cc: git, tboegi > On 10 Nov 2016, at 00:39, Junio C Hamano <gitster@pobox.com> wrote: > > larsxschneider@gmail.com writes: > >> From: Lars Schneider <larsxschneider@gmail.com> >> >> Apple removed the OpenSSL header files in macOS and therefore Git does >> not build out of the box on macOS anymore. See previous discussion with >> Torsten here: http://public-inbox.org/git/565B3036.8000604@web.de/ >> >> This mini series makes Git build out of the box on macOS, again, and >> disables the HTTPD tests on macOS TravisCI as they don't work anymore >> with the new macOS TravisCI default image: >> https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ >> >> Thanks, >> Lars >> >> >> Lars Schneider (2): >> config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 >> travis-ci: disable GIT_TEST_HTTPD for macOS >> >> .travis.yml | 3 ++- >> config.mak.uname | 6 ++++++ >> 2 files changed, 8 insertions(+), 1 deletion(-) > > I've followed what was available at the public-inbox archive, but it > is unclear what the conclusion was. > > For the first one your "how about" non-patch, to which Peff said > "that's simple and good", looked good to me as well, but is it > available as a final patch that I can just take and apply (otherwise > I think I can do the munging myself, but I'd rather be spoon-fed > when able ;-). Sure! Here you go: http://public-inbox.org/git/20161110111348.61580-1-larsxschneider@gmail.com/ > I do not have a strong opinion on the second one. For an interim > solution, disabling webserver tests certainly is expedite and safe, > so I am fine taking it as-is, but I may have missed strong > objections. I haven't seen strong objections either. Just for reference, here is the patch: http://public-inbox.org/git/20161017002550.88782-3-larsxschneider@gmail.com/ I hope you're well, again!! - Lars ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 0/2] Fix default macOS build locally and on Travis CI 2016-11-10 11:19 ` Lars Schneider @ 2016-11-10 21:34 ` Junio C Hamano 2016-11-11 9:01 ` Lars Schneider 0 siblings, 1 reply; 35+ messages in thread From: Junio C Hamano @ 2016-11-10 21:34 UTC (permalink / raw) To: Lars Schneider; +Cc: git, tboegi Lars Schneider <larsxschneider@gmail.com> writes: >> I've followed what was available at the public-inbox archive, but it >> is unclear what the conclusion was. >> >> For the first one your "how about" non-patch, to which Peff said >> "that's simple and good", looked good to me as well, but is it >> available as a final patch that I can just take and apply (otherwise >> I think I can do the munging myself, but I'd rather be spoon-fed >> when able ;-). > > Sure! Here you go: > http://public-inbox.org/git/20161110111348.61580-1-larsxschneider@gmail.com/ > > >> I do not have a strong opinion on the second one. For an interim >> solution, disabling webserver tests certainly is expedite and safe, >> so I am fine taking it as-is, but I may have missed strong >> objections. > > I haven't seen strong objections either. Just for reference, here is the patch: > http://public-inbox.org/git/20161017002550.88782-3-larsxschneider@gmail.com/ Thanks. Picked up both of them. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH v1 0/2] Fix default macOS build locally and on Travis CI 2016-11-10 21:34 ` Junio C Hamano @ 2016-11-11 9:01 ` Lars Schneider 0 siblings, 0 replies; 35+ messages in thread From: Lars Schneider @ 2016-11-11 9:01 UTC (permalink / raw) To: Junio C Hamano; +Cc: git, tboegi On 10 Nov 2016, at 22:34, Junio C Hamano <gitster@pobox.com> wrote: > Lars Schneider <larsxschneider@gmail.com> writes: > >>> I've followed what was available at the public-inbox archive, but it >>> is unclear what the conclusion was. >>> >>> For the first one your "how about" non-patch, to which Peff said >>> "that's simple and good", looked good to me as well, but is it >>> available as a final patch that I can just take and apply (otherwise >>> I think I can do the munging myself, but I'd rather be spoon-fed >>> when able ;-). >> >> Sure! Here you go: >> http://public-inbox.org/git/20161110111348.61580-1-larsxschneider@gmail.com/ >> >> >>> I do not have a strong opinion on the second one. For an interim >>> solution, disabling webserver tests certainly is expedite and safe, >>> so I am fine taking it as-is, but I may have missed strong >>> objections. >> >> I haven't seen strong objections either. Just for reference, here is the patch: >> http://public-inbox.org/git/20161017002550.88782-3-larsxschneider@gmail.com/ > > Thanks. Picked up both of them. Thanks! This makes "next" pass, again: https://travis-ci.org/git/git/builds/174946111 BTW: If you want to learn about the build status of "git/git" branches on the command line then you can use this snippet: $ branch=next; echo "$branch: $(curl -s https://api.travis-ci.org/repos/git/git/branches/$branch | perl -lape 's/.*"state":"(\w+)".*"sha":"(\w{7}).*/$1 $2/g')" Cheers, Lars ^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2016-11-16 20:02 UTC | newest] Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-10-17 0:25 [PATCH v1 0/2] Fix default macOS build locally and on Travis CI larsxschneider 2016-10-17 0:25 ` [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11 larsxschneider 2016-10-17 9:50 ` Jeff King 2016-11-06 19:35 ` Lars Schneider 2016-11-07 17:26 ` Jeff King 2016-11-07 17:36 ` Paul Smith 2016-11-07 17:46 ` Jeff King 2016-11-07 17:49 ` Paul Smith 2016-11-09 8:18 ` Torsten Bögershausen 2016-11-09 9:29 ` Lars Schneider 2016-11-09 10:51 ` Torsten Bögershausen 2016-11-10 11:13 ` [PATCH v2] Makefile: set NO_OPENSSL on macOS by default larsxschneider 2016-10-17 0:25 ` [PATCH v1 2/2] travis-ci: disable GIT_TEST_HTTPD for macOS larsxschneider 2016-11-06 21:42 ` Lars Schneider 2016-11-07 21:20 ` Jeff King 2016-11-10 11:07 ` Lars Schneider 2016-11-10 16:10 ` Jeff King 2016-11-10 21:33 ` Junio C Hamano 2016-11-10 21:43 ` Jeff King 2016-11-10 21:49 ` Junio C Hamano 2016-11-10 21:54 ` Jeff King 2016-11-11 8:22 ` Lars Schneider 2016-11-11 8:47 ` Jeff King 2016-11-11 9:13 ` Lars Schneider 2016-11-11 9:28 ` Jeff King 2016-11-15 12:07 ` Heiko Voigt 2016-11-15 14:18 ` Lars Schneider 2016-11-15 15:31 ` Jeff King 2016-11-16 14:39 ` Heiko Voigt 2016-11-16 20:01 ` Torsten Bögershausen 2016-11-09 23:39 ` [PATCH v1 0/2] Fix default macOS build locally and on Travis CI Junio C Hamano 2016-11-10 6:41 ` Torsten Bögershausen 2016-11-10 11:19 ` Lars Schneider 2016-11-10 21:34 ` Junio C Hamano 2016-11-11 9:01 ` Lars Schneider
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).