{"thread":{"id":"32378","subject":"Re: What's cooking in git.git (Dec 2012, #04; Sun, 16)","startedAt":"2012-12-17T21:37:30Z","lastAt":"2012-12-20T03:03:03Z","messageCount":9,"participants":["Matt Kraai","Joachim Schmitz","Johannes Sixt","Junio C Hamano","Torsten Bögershausen","Erik Faye-Lund","Mark Levedahl"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"205077","messageId":"20121217213730.GA17212@ftbfs.org","threadId":"32378","inReplyTo":null,"subject":"Re: What's cooking in git.git (Dec 2012, #04; Sun, 16)","fromName":"Matt Kraai","fromEmail":"kraai@ftbfs.org","sentAt":"2012-12-17T21:37:30Z","receivedAt":"2012-12-17T21:37:30Z","isPatch":false,"sender":{"key":"kraai@ftbfs.org","avatar":null},"body":"Junio C Hamano wrote:\n> It could turn out that we may be able to get rid of sys/param.h\n> altogether, but one step at a time.  Inputs from people on minority\n> platforms are very much appreciated---does your platform build fine\n> when the inclusion of the file is removed from git-compat-util.h?\n\nQNX builds fine when sys/param.h is not included.\n\n-- \nMatt Kraai\nhttps://ftbfs.org/kraai\n"},{"id":"205110","messageId":"kap9eo$j5c$1@ger.gmane.org","threadId":"32378","inReplyTo":"20121217213730.GA17212@ftbfs.org","subject":"Re: What's cooking in git.git (Dec 2012, #04; Sun, 16)","fromName":"Joachim Schmitz","fromEmail":"jojo@schmitz-digital.de","sentAt":"2012-12-18T08:28:05Z","receivedAt":"2012-12-18T08:28:05Z","isPatch":false,"sender":{"key":"jojo@schmitz-digital.de","avatar":"https://avatars.githubusercontent.com/u/1786669?v=4"},"body":"Matt Kraai wrote:\n> Junio C Hamano wrote:\n>> It could turn out that we may be able to get rid of sys/param.h\n>> altogether, but one step at a time.  Inputs from people on minority\n>> platforms are very much appreciated---does your platform build fine\n>> when the inclusion of the file is removed from git-compat-util.h?\n> \n> QNX builds fine when sys/param.h is not included.\n\nHP-NonStop build fine too without it.\n\nBye, Jojo\n"},{"id":"205111","messageId":"50D02B9A.1040906@viscovery.net","threadId":"32378","inReplyTo":"20121217213730.GA17212@ftbfs.org","subject":"Re: What's cooking in git.git (Dec 2012, #04; Sun, 16)","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2012-12-18T08:38:50Z","receivedAt":"2012-12-18T08:38:50Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"> Junio C Hamano wrote:\n>> It could turn out that we may be able to get rid of sys/param.h\n>> altogether, but one step at a time.  Inputs from people on minority\n>> platforms are very much appreciated---does your platform build fine\n>> when the inclusion of the file is removed from git-compat-util.h?\n\nMinGW works fine with sys/param.h removed from git-compat-util.h.\n\n-- Hannes\n"},{"id":"205133","messageId":"7vobhrgupr.fsf_-_@alter.siamese.dyndns.org","threadId":"32378","inReplyTo":"50D02B9A.1040906@viscovery.net","subject":"sys/param.h","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-12-18T17:01:52Z","receivedAt":"2012-12-18T17:01:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <j.sixt@viscovery.net> writes:\n\n>> Junio C Hamano wrote:\n>>> It could turn out that we may be able to get rid of sys/param.h\n>>> altogether, but one step at a time.  Inputs from people on minority\n>>> platforms are very much appreciated---does your platform build fine\n>>> when the inclusion of the file is removed from git-compat-util.h?\n>\n> MinGW works fine with sys/param.h removed from git-compat-util.h.\n\nIt seems that OpenBSD 5.2 does not mind it getting removed, either.\nDebian 5 and Debian 6 seem OK; so do Ubuntu 10.04 and 12.04.  I have\na hunch that Fedora or anything based on glibc would be fine, too.\n\nWhat other platforms do we care deeply about?\n"},{"id":"205136","messageId":"7v623zgt5m.fsf_-_@alter.siamese.dyndns.org","threadId":"32378","inReplyTo":"7vobhrgupr.fsf_-_@alter.siamese.dyndns.org","subject":"[RFH/PATCH] git-compat-util.h: do not #include <sys/param.h> by default","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-12-18T17:35:33Z","receivedAt":"2012-12-18T17:35:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Earlier we allowed platforms that lack <sys/param.h> not to include\nthe header file from git-compat-util.h; we have included this header\nfile since the early days back when we used MAXPATHLEN (which we no\nlonger use) and also depended on it slurping ULONG_MAX (which we get\nby including stdint.h or inttypes.h these days).\n\nIt turns out that we can compile our modern codebase just file\nwithout including it on many platforms (so far, Debian, Ubuntu,\nMinGW, HP-Nonstop, QNX and z/OS are reported to be OK).\n\nLet's stop including it by default, and on platforms that need it to\nbe included, leave \"make NEEDS_SYS_PARAM_H=YesPlease\" as an escape\nhatch and ask them to report to us, so that we can find out about\nthe real dependency and fix it in a more platform agnostic way.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n\n * I'd propose queuing this on top of dm/port topic, cook it in\n   'next' for a while and then unleash it to the public.\n\n Makefile          | 8 +++++---\n configure.ac      | 6 ------\n git-compat-util.h | 2 +-\n 3 files changed, 6 insertions(+), 10 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 5cd1de0..2c1f04f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -167,7 +167,9 @@ all::\n # Define NO_POLL if you do not have or don't want to use poll().\n # This also implies NO_SYS_POLL_H.\n #\n-# Define NO_SYS_PARAM_H if you don't have sys/param.h.\n+# Define NEEDS_SYS_PARAM_H if you need to include sys/param.h to compile,\n+# *PLEASE* REPORT to git@vger.kernel.org if your platform needs this;\n+# we want to know more about the issue.\n #\n # Define NO_PTHREADS if you do not have or do not want to use Pthreads.\n #\n@@ -1747,8 +1749,8 @@ endif\n ifdef NO_SYS_POLL_H\n \tBASIC_CFLAGS += -DNO_SYS_POLL_H\n endif\n-ifdef NO_SYS_PARAM_H\n-\tBASIC_CFLAGS += -DNO_SYS_PARAM_H\n+ifdef NEEDS_SYS_PARAM_H\n+\tBASIC_CFLAGS += -DNEEDS_SYS_PARAM_H\n endif\n ifdef NO_INTTYPES_H\n \tBASIC_CFLAGS += -DNO_INTTYPES_H\ndiff --git a/configure.ac b/configure.ac\nindex e3ab6fe..8fbb533 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -699,12 +699,6 @@ AC_CHECK_HEADER([sys/poll.h],\n [NO_SYS_POLL_H=UnfortunatelyYes])\n GIT_CONF_SUBST([NO_SYS_POLL_H])\n #\n-# Define NO_SYS_PARAM_H if you don't have sys/param.h\n-AC_CHECK_HEADER([sys/param.h],\n-[NO_SYS_PARAM_H=],\n-[NO_SYS_PARAM_H=UnfortunatelyYes])\n-GIT_CONF_SUBST([NO_SYS_PARAM_H])\n-#\n # Define NO_INTTYPES_H if you don't have inttypes.h\n AC_CHECK_HEADER([inttypes.h],\n [NO_INTTYPES_H=],\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex d7359ef..a88147b 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -104,7 +104,7 @@\n #endif\n #include <errno.h>\n #include <limits.h>\n-#ifndef NO_SYS_PARAM_H\n+#ifdef NEEDS_SYS_PARAM_H\n #include <sys/param.h>\n #endif\n #include <sys/types.h>\n-- \n1.8.1.rc2.136.gb42b73a\n"},{"id":"205151","messageId":"50D0C82A.4010706@web.de","threadId":"32378","inReplyTo":"7vobhrgupr.fsf_-_@alter.siamese.dyndns.org","subject":"Re: sys/param.h","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2012-12-18T19:46:50Z","receivedAt":"2012-12-18T19:46:50Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 18.12.12 18:01, Junio C Hamano wrote:\n> Johannes Sixt <j.sixt@viscovery.net> writes:\n> \n>>> Junio C Hamano wrote:\n>>>> It could turn out that we may be able to get rid of sys/param.h\n>>>> altogether, but one step at a time.  Inputs from people on minority\n>>>> platforms are very much appreciated---does your platform build fine\n>>>> when the inclusion of the file is removed from git-compat-util.h?\n>>\n>> MinGW works fine with sys/param.h removed from git-compat-util.h.\n> \n> It seems that OpenBSD 5.2 does not mind it getting removed, either.\n> Debian 5 and Debian 6 seem OK; so do Ubuntu 10.04 and 12.04.  I have\n> a hunch that Fedora or anything based on glibc would be fine, too.\n> \n> What other platforms do we care deeply about?\n\nMac OS X 10.6.8:  OK\n"},{"id":"205178","messageId":"CABPQNSZQk6hHm-dWqFFQf0HF34Mvbjc8-mgzCr=G0zbBKiYUvA@mail.gmail.com","threadId":"32378","inReplyTo":"7vobhrgupr.fsf_-_@alter.siamese.dyndns.org","subject":"Re: sys/param.h","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2012-12-19T07:59:27Z","receivedAt":"2012-12-19T07:59:27Z","isPatch":false,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Tue, Dec 18, 2012 at 6:01 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Johannes Sixt <j.sixt@viscovery.net> writes:\n>\n>>> Junio C Hamano wrote:\n>>>> It could turn out that we may be able to get rid of sys/param.h\n>>>> altogether, but one step at a time.  Inputs from people on minority\n>>>> platforms are very much appreciated---does your platform build fine\n>>>> when the inclusion of the file is removed from git-compat-util.h?\n>>\n>> MinGW works fine with sys/param.h removed from git-compat-util.h.\n>\n> It seems that OpenBSD 5.2 does not mind it getting removed, either.\n> Debian 5 and Debian 6 seem OK; so do Ubuntu 10.04 and 12.04.  I have\n> a hunch that Fedora or anything based on glibc would be fine, too.\n\nAnd just to be sure; Fedora 17: OK.\n"},{"id":"205236","messageId":"50D27CC6.3000203@gmail.com","threadId":"32378","inReplyTo":"CABPQNSZQk6hHm-dWqFFQf0HF34Mvbjc8-mgzCr=G0zbBKiYUvA@mail.gmail.com","subject":"Re: sys/param.h","fromName":"Mark Levedahl","fromEmail":"mlevedahl@gmail.com","sentAt":"2012-12-20T02:49:42Z","receivedAt":"2012-12-20T02:49:42Z","isPatch":false,"sender":{"key":"mdl123@verizon.net","avatar":"https://avatars.githubusercontent.com/u/5302462?v=4"},"body":"On 12/19/2012 02:59 AM, Erik Faye-Lund wrote:\n> On Tue, Dec 18, 2012 at 6:01 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Johannes Sixt <j.sixt@viscovery.net> writes:\n>>\n>>>> Junio C Hamano wrote:\n>>>>> It could turn out that we may be able to get rid of sys/param.h\n>>>>> altogether, but one step at a time.  Inputs from people on minority\n>>>>> platforms are very much appreciated---does your platform build fine\n>>>>> when the inclusion of the file is removed from git-compat-util.h?\n\ncygwin is fine with that removed.\n\nMark\n"},{"id":"205237","messageId":"7vip7x77dk.fsf@alter.siamese.dyndns.org","threadId":"32378","inReplyTo":"50D27CC6.3000203@gmail.com","subject":"Re: sys/param.h","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-12-20T03:03:03Z","receivedAt":"2012-12-20T03:03:03Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thanks.\n"}]}