{"thread":{"id":"17601","subject":"Chicken/egg problem building from a 'git clone'","startedAt":"2009-02-06T04:09:24Z","lastAt":"2009-03-06T13:39:01Z","messageCount":31,"participants":["Joi Ellis","Johannes Schindelin","Björn Steinbrink","Miles Bader","Junio C Hamano","Daniel Barkalow","Jeff King","Andreas Ericsson","John Tapsell","Matthieu Moy","Jakub Narebski"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"103420","messageId":"loom.20090206T035001-370@post.gmane.org","threadId":"17601","inReplyTo":null,"subject":"Chicken/egg problem building from a 'git clone'","fromName":"Joi Ellis","fromEmail":"gyles19@visi.com","sentAt":"2009-02-06T04:09:24Z","receivedAt":"2009-02-06T04:09:24Z","isPatch":false,"sender":{"key":"gyles19@visi.com","avatar":null},"body":"I have an elderly laptop.  I can build and install git using a tarball.  I \noriginal installed git 1.6.0.  This evening I noticed 1.6.1 was availble, and I \ndecided to try building from the git repository using 'git clone' as described \nin the git home page.   And to jump ahead of myself, I want to point out that \n1.6.1 will build from the tarball.  However...\n\nThe workspace I get using 'git clone' does not provide a configure file.  And \nbecause my laptop isn't running a bleeding edge distribution, my build tools \nare older than you'd expect, so...\n\n\"make all\" fails becuase my libaries are old:\n\n    LINK git-fast-import\nfast-import.o: In function `store_object':\n/usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n/usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n\n\"make configure\" fails because my autoconf is too old.\n\n    GEN configure\nUsage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]\n       [-l dir] [--localdir=dir] [--version] [template-file]\nmake: *** [configure] Error 1\n\nThis found an issue with the Makefile, because my autoconf is sooo old, it's \npuking on the configure target build command, in part:\n\n  autoconf -o $@ $<+ && \\\n\nbecause this old autoconf doesn't have a -o parameter.  If I change the\nMakefile to:\n\n  autoconf $<+ >$@ && \\\n\nThen the error becomes\n    GEN configure\nFATAL ERROR: Autoconf version 2.59 or higher is required for this script\nmake: *** [configure] Error 2\n\nwhich is closer to what you intended.  I'm not sure what difference it makes \nbetween specifying -o and simply letting it default.\n\nAnyway, would it break anything to have a 'configure' script provided as part \nof the clone pull?  It's provided in the tarball, and if I copy the 1.6.1 \nconfigure script into my git workspace and run it, it seems to build.  I'm just \nnot sure I trust it to be up-to-date with the configure script you folks can \ngenerate with your modern build tools using 'make configure'.\n\nI realize the configure script is technically a build target but not having it \ndoes cause this chicken-egg issue on older platforms.\n"},{"id":"103421","messageId":"alpine.DEB.1.00.0902060530450.10279@pacific.mpi-cbg.de","threadId":"17601","inReplyTo":"loom.20090206T035001-370@post.gmane.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-02-06T04:32:01Z","receivedAt":"2009-02-06T04:32:01Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 6 Feb 2009, Joi Ellis wrote:\n\n> \"make all\" fails becuase my libaries are old:\n> \n>     LINK git-fast-import\n> fast-import.o: In function `store_object':\n> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n\nYou need to install a newer libz.  (And this is not a chicken & egg \nproblem.)\n\nCiao,\nDscho\n"},{"id":"103422","messageId":"20090206044449.GA31491@atjola.homenet","threadId":"17601","inReplyTo":"loom.20090206T035001-370@post.gmane.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Björn Steinbrink","fromEmail":"b.steinbrink@gmx.de","sentAt":"2009-02-06T04:44:49Z","receivedAt":"2009-02-06T04:44:49Z","isPatch":false,"sender":{"key":"b.steinbrink@gmx.de","avatar":"https://avatars.githubusercontent.com/u/230962?v=4"},"body":"On 2009.02.06 04:09:24 +0000, Joi Ellis wrote:\n> \"make all\" fails becuase my libaries are old:\n> \n>     LINK git-fast-import\n> fast-import.o: In function `store_object':\n> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n\nYou can define NO_DEFLATE_BOUND. That and a bunch of other things you\ncan control are documented within the Makefile. No need for configure.\n\nBjörn\n"},{"id":"103423","messageId":"Pine.LNX.4.44.0902052238510.4851-100000@localhost.localdomain","threadId":"17601","inReplyTo":"alpine.DEB.1.00.0902060530450.10279@pacific.mpi-cbg.de","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Joi Ellis","fromEmail":"gyles19@visi.com","sentAt":"2009-02-06T04:45:13Z","receivedAt":"2009-02-06T04:45:13Z","isPatch":false,"sender":{"key":"gyles19@visi.com","avatar":null},"body":"On Fri, 6 Feb 2009, Johannes Schindelin wrote:\n\n> Hi,\n> \n> On Fri, 6 Feb 2009, Joi Ellis wrote:\n> \n> > \"make all\" fails becuase my libaries are old:\n> > \n> >     LINK git-fast-import\n> > fast-import.o: In function `store_object':\n> > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n> \n> You need to install a newer libz.  (And this is not a chicken & egg \n> problem.)\n\nYes, this *is* a chicken & egg problem.  As I said in my original post,\ngit will build on this machine if I have a configure script to run\nfirst.  The configure script explicitly checks for the version of libz\nand sets a DEFINE appropriately.  Because there is no configure script\nprovided, and because my autoconf is considered too old, I simply can't\nstart the build process because I can't generate the missing configure\nscript.\n\nOther projects put the configure script into source control to avoid\nexactly this issue.\n\n-- \nJoi Ellis                    \ngyles19@visi.com\n\nNo matter what we think of Linux versus FreeBSD, etc., the one thing I\nreally like about Linux is that it has Microsoft worried.  Anything\nthat kicks a monopoly in the pants has got to be good for something.\n           - Chris Johnson\n"},{"id":"103424","messageId":"buobptg6tek.fsf@dhlpc061.dev.necel.com","threadId":"17601","inReplyTo":"Pine.LNX.4.44.0902052238510.4851-100000@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Miles Bader","fromEmail":"miles@gnu.org","sentAt":"2009-02-06T05:12:03Z","receivedAt":"2009-02-06T05:12:03Z","isPatch":false,"sender":{"key":"miles@gnu.org","avatar":"https://gravatar.com/avatar/01069b69593af7bff28e2f97afeb3644ae6fe2f5f56cb3a8cf34c5fb8c36efe5?d=mp&s=160"},"body":"Joi Ellis <gyles19@visi.com> writes:\n> Because there is no configure script provided, and because my autoconf\n> is considered too old, I simply can't start the build process because\n> I can't generate the missing configure script.\n\nEr, why don't you upgrade to a less ancient version of autoconf...?\n\nAutoconf 2.59 (which is what it seems to want) was released like 5 years ago!\n\n-Miles\n\n-- \n97% of everything is grunge\n"},{"id":"103426","messageId":"20090206051434.GB31491@atjola.homenet","threadId":"17601","inReplyTo":"Pine.LNX.4.44.0902052238510.4851-100000@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Björn Steinbrink","fromEmail":"b.steinbrink@gmx.de","sentAt":"2009-02-06T05:14:34Z","receivedAt":"2009-02-06T05:14:34Z","isPatch":false,"sender":{"key":"b.steinbrink@gmx.de","avatar":"https://avatars.githubusercontent.com/u/230962?v=4"},"body":"On 2009.02.05 22:45:13 -0600, Joi Ellis wrote:\n> On Fri, 6 Feb 2009, Johannes Schindelin wrote:\n> \n> > Hi,\n> > \n> > On Fri, 6 Feb 2009, Joi Ellis wrote:\n> > \n> > > \"make all\" fails becuase my libaries are old:\n> > > \n> > >     LINK git-fast-import\n> > > fast-import.o: In function `store_object':\n> > > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> > > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n> > \n> > You need to install a newer libz.  (And this is not a chicken & egg \n> > problem.)\n> \n> Yes, this *is* a chicken & egg problem.\n\nNo, it's not. It would be one if you needed git to update your zlib or\nautoconf. But you don't, so you could simply update zlib or autoconf.\nThere's no circular dependency. You can even just do \"make\nNO_DEFLATE_BOUND=1\" and be done with it...\n\nBjörn\n"},{"id":"103429","messageId":"7vfxis86tp.fsf@gitster.siamese.dyndns.org","threadId":"17601","inReplyTo":"buobptg6tek.fsf@dhlpc061.dev.necel.com","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-06T05:36:50Z","receivedAt":"2009-02-06T05:36:50Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miles Bader <miles@gnu.org> writes:\n\n> Joi Ellis <gyles19@visi.com> writes:\n>> Because there is no configure script provided, and because my autoconf\n>> is considered too old, I simply can't start the build process because\n>> I can't generate the missing configure script.\n>\n> Er, why don't you upgrade to a less ancient version of autoconf...?\n\nPlease do not encourage the use of configure/autoconf unnecessarily.\n\nOur Makefile is designed to be usable *without* configure, exactly because\nconfigure/autoconf is often a maintenance (if not portability) nightmare.\n\nUse of configure is tolerated, not encouraged.\n"},{"id":"103430","messageId":"buor62c3yin.fsf@dhlpc061.dev.necel.com","threadId":"17601","inReplyTo":"7vfxis86tp.fsf@gitster.siamese.dyndns.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Miles Bader","fromEmail":"miles@gnu.org","sentAt":"2009-02-06T05:49:52Z","receivedAt":"2009-02-06T05:49:52Z","isPatch":false,"sender":{"key":"miles@gnu.org","avatar":"https://gravatar.com/avatar/01069b69593af7bff28e2f97afeb3644ae6fe2f5f56cb3a8cf34c5fb8c36efe5?d=mp&s=160"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n>>> Because there is no configure script provided, and because my autoconf\n>>> is considered too old, I simply can't start the build process because\n>>> I can't generate the missing configure script.\n>>\n>> Er, why don't you upgrade to a less ancient version of autoconf...?\n>\n> Please do not encourage the use of configure/autoconf unnecessarily.\n\nHuh?  I'm not \"encouraging the use of configure/autoconf unnecessarily\",\nI'm encouraging the use of a non-obsolete version of autoconf, should he\nwish to use it (and he's the one that brought it up, so...).\n\n> Use of configure is tolerated, not encouraged.\n\nYou're certainly welcome to discourage people from using it, but I see\nno reason to do so myself.\n\n-miles\n\n-- \nJoy, n. An emotion variously excited, but in its highest degree arising from\nthe contemplation of grief in another.\n"},{"id":"103433","messageId":"7vprhw6l1i.fsf@gitster.siamese.dyndns.org","threadId":"17601","inReplyTo":"buor62c3yin.fsf@dhlpc061.dev.necel.com","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-06T08:12:41Z","receivedAt":"2009-02-06T08:12:41Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miles Bader <miles@gnu.org> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>>>> Because there is no configure script provided, and because my autoconf\n>>>> is considered too old, I simply can't start the build process because\n>>>> I can't generate the missing configure script.\n>>>\n>>> Er, why don't you upgrade to a less ancient version of autoconf...?\n>>\n>> Please do not encourage the use of configure/autoconf unnecessarily.\n>\n> Huh?  I'm not \"encouraging the use of configure/autoconf unnecessarily\",\n> I'm encouraging the use of a non-obsolete version of autoconf, should he\n> wish to use it (and he's the one that brought it up, so...).\n>\n>> Use of configure is tolerated, not encouraged.\n>\n> You're certainly welcome to discourage people from using it, but I see\n> no reason to do so myself.\n\nHmm, after reading my message again, I did sound rather misleading to\nsolicit a response like that from a gnu person, so let me try again.\n\nPlease do not encourge use of configure/autoconf *in this project*.\n\nUse of configure *in this project* is not encouraged, it is merely\ntolerated.\n\nYou are of course welcome to use configure and autoconf yourself for your\nown projects, not here, but that goes without saying, I would think.\n"},{"id":"103436","messageId":"buoab8z52te.fsf@dhlpc061.dev.necel.com","threadId":"17601","inReplyTo":"7vprhw6l1i.fsf@gitster.siamese.dyndns.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Miles Bader","fromEmail":"miles@gnu.org","sentAt":"2009-02-06T09:31:41Z","receivedAt":"2009-02-06T09:31:41Z","isPatch":false,"sender":{"key":"miles@gnu.org","avatar":"https://gravatar.com/avatar/01069b69593af7bff28e2f97afeb3644ae6fe2f5f56cb3a8cf34c5fb8c36efe5?d=mp&s=160"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n> Hmm, after reading my message again, I did sound rather misleading to\n> solicit a response like that from a gnu person, so let me try again.\n>\n> Please do not encourge use of configure/autoconf *in this project*.\n\nEr ... I was not doing so.  I was saying that if one is going to use\nautoconf with git, one should use a non-ancient version.\n\nI don't think merely discussing autoconf+git without pejorative asides\nis \"encouraging use\".\n\n-Miles\n\n-- \nEverywhere is walking distance if you have the time.  -- Steven Wright\n"},{"id":"103443","messageId":"7vd4dv7tb3.fsf@gitster.siamese.dyndns.org","threadId":"17601","inReplyTo":"buoab8z52te.fsf@dhlpc061.dev.necel.com","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-06T10:28:48Z","receivedAt":"2009-02-06T10:28:48Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miles Bader <miles@gnu.org> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>>\n>> Please do not encourge use of configure/autoconf *in this project*.\n>\n> Er ... I was not doing so.  I was saying that if one is going to use\n> autoconf with git, one should use a non-ancient version.\n\nThat is nice but the statement is only half-truth, and should be followed\nby \", but why bother?  You do not even need to use configure to build\ngit, and insn is all here...\".\n\nOmitting that latter half and instead having him spend time to update\nautoconf, which is not even needed, sounds like strongly encouraging its\nuse to me.\n\n> I don't think merely discussing autoconf+git without pejorative asides\n> is \"encouraging use\".\n\n\"You should use recent enough autoconf *if* you want to use configure, but\nwhy bother?  You do not even need to use configure to build git, and here\nis how...\" does not say anything pejorative about autoconf, either, and it\nis certainly not encouraging its use.\n\nOn the other hand, omitting \"but why bother?\" part is, and the reason is\nnot because it does not badmouth autoconf, but because use of autoconf is\nnon-essential in this project.\n"},{"id":"103445","messageId":"buoy6wj3la1.fsf@dhlpc061.dev.necel.com","threadId":"17601","inReplyTo":"7vd4dv7tb3.fsf@gitster.siamese.dyndns.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Miles Bader","fromEmail":"miles@gnu.org","sentAt":"2009-02-06T10:35:50Z","receivedAt":"2009-02-06T10:35:50Z","isPatch":false,"sender":{"key":"miles@gnu.org","avatar":"https://gravatar.com/avatar/01069b69593af7bff28e2f97afeb3644ae6fe2f5f56cb3a8cf34c5fb8c36efe5?d=mp&s=160"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n>> Er ... I was not doing so.  I was saying that if one is going to use\n>> autoconf with git, one should use a non-ancient version.\n>\n> That is nice but the statement is only half-truth, and should be followed\n> by \", but why bother?  You do not even need to use configure to build\n> git, and insn is all here...\".\n\nYou've got to be kidding...\n\n-Miles\n\n-- \nFreebooter, n. A conqueror in a small way of business, whose annexations lack\nof the sanctifying merit of magnitude.\n"},{"id":"103460","messageId":"alpine.DEB.1.00.0902061232000.7377@intel-tinevez-2-302","threadId":"17601","inReplyTo":"Pine.LNX.4.44.0902052238510.4851-100000@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-02-06T11:34:07Z","receivedAt":"2009-02-06T11:34:07Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 5 Feb 2009, Joi Ellis wrote:\n\n> On Fri, 6 Feb 2009, Johannes Schindelin wrote:\n> \n> > On Fri, 6 Feb 2009, Joi Ellis wrote:\n> > \n> > > \"make all\" fails becuase my libaries are old:\n> > > \n> > >     LINK git-fast-import\n> > > fast-import.o: In function `store_object':\n> > > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> > > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n> > \n> > You need to install a newer libz.  (And this is not a chicken & egg \n> > problem.)\n> \n> Yes, this *is* a chicken & egg problem.\n\nNo it is _not_.\n\nA chicken and egg problem would be if your problem would go away if Git \ncompiled cleanly.  But it does not.\n\n> As I said in my original post, git will build on this machine if I have \n> a configure script to run first.  The configure script explicitly checks \n> for the version of libz and sets a DEFINE appropriately.\n\nSo why don't you DEFINE the thing explicitely?  From reading the Makefile, \nit appears as if\n\n\t$ make NO_DEFLATE_BOUND=YesPlease\n\nshould make it compile.  Of course, the documentation in the first part of \nthe Makefile could be better, maybe you have suggestions?\n\nHth,\nDscho\n"},{"id":"103540","messageId":"alpine.LNX.1.00.0902061357520.19665@iabervon.org","threadId":"17601","inReplyTo":"loom.20090206T035001-370@post.gmane.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2009-02-06T19:06:50Z","receivedAt":"2009-02-06T19:06:50Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Fri, 6 Feb 2009, Joi Ellis wrote:\n\n> I have an elderly laptop.  I can build and install git using a tarball.  I \n> original installed git 1.6.0.  This evening I noticed 1.6.1 was availble, and I \n> decided to try building from the git repository using 'git clone' as described \n> in the git home page.   And to jump ahead of myself, I want to point out that \n> 1.6.1 will build from the tarball.  However...\n> \n> The workspace I get using 'git clone' does not provide a configure file.  And \n> because my laptop isn't running a bleeding edge distribution, my build tools \n> are older than you'd expect, so...\n> \n> \"make all\" fails becuase my libaries are old:\n> \n>     LINK git-fast-import\n> fast-import.o: In function `store_object':\n> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'\n> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'\n\nWhat zlib version do you have? If your libraries are old enough, git's \ncache.h header file should effectively enable NO_DEFLATE_BOUND. Maybe you \nhave skew between your header files and the libraries the linker finds by \ndefault? Or maybe we should consider any zlib without a version in the \nheader file old enough not to have deflateBound()?\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"103546","messageId":"20090206192505.GE19494@coredump.intra.peff.net","threadId":"17601","inReplyTo":"7vd4dv7tb3.fsf@gitster.siamese.dyndns.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-02-06T19:25:05Z","receivedAt":"2009-02-06T19:25:05Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Feb 06, 2009 at 02:28:48AM -0800, Junio C Hamano wrote:\n\n> > Er ... I was not doing so.  I was saying that if one is going to use\n> > autoconf with git, one should use a non-ancient version.\n> \n> That is nice but the statement is only half-truth, and should be followed\n> by \", but why bother?  You do not even need to use configure to build\n> git, and insn is all here...\".\n\nI can think of one obvious reason why one might bother with autoconf: he\nknows that git builds using the configuration detected by autoconf, but\nit does not without. So yes, he _can_ tweak the Makefile manually to get\ngit to build, but he doesn't necessarily know which knobs to tweak. And\nautoconf does.\n\nNow, in this case, it was only one tweak and other responders have\nalready pointed him in the right direction. So just making that tweak\nmanually is probably the sane thing to do in this situation.\n\nBut I wanted to point out that autoconf is not totally without value\nhere.  There are people who may want to build git from a clone but who\n_don't_ want to spend time learning about every tweakable build knob or\nabout how much their platform sucks.\n\n-Peff\n"},{"id":"103564","messageId":"7vskmr43le.fsf@gitster.siamese.dyndns.org","threadId":"17601","inReplyTo":"20090206192505.GE19494@coredump.intra.peff.net","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-06T22:12:29Z","receivedAt":"2009-02-06T22:12:29Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> Now, in this case, it was only one tweak and other responders have\n> already pointed him in the right direction. So just making that tweak\n> manually is probably the sane thing to do in this situation.\n>\n> But I wanted to point out that autoconf is not totally without value\n> here.\n\nI am not saying something that strong, either.  If autoconf generated\nconfigure works _for you_ without hassle, great.  Keep using it.\n\nThe original message that started this thread was what to do when it does\nNOT work for you, and my point was in general it is much nicer to point at\nthe knob to tweak from the make invocation command line (or in config.mak)\nthan having you spend time on upgrade autoconf, generate configure and run\nit.\n\nFanboys may say that autoconf generated configure is the greatest thing\nsince sliced bread.  But let's face it.  Honestly, the track record of\nthose people in keeping autoconf part in this project up-to-date has not\nbeen all that great.  There are things that the generated configure file\ndoes not detect nor configure correctly (we had --with-expat patch, and we\nalso saw \"the trailing slash in template_dir definition in config.mak.in\"\ndiscussed fairly recently).  You are much better off tweaking known\npeculiarity of your platform in config.mak, when configure does not work\nout of box for you.\n"},{"id":"106613","messageId":"Pine.LNX.4.44.0903010945290.4675-100000@localhost.localdomain","threadId":"17601","inReplyTo":"7vskmr43le.fsf@gitster.siamese.dyndns.org","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Joi Ellis","fromEmail":"gyles19@visi.com","sentAt":"2009-03-01T15:56:46Z","receivedAt":"2009-03-01T15:56:46Z","isPatch":false,"sender":{"key":"gyles19@visi.com","avatar":null},"body":"On Fri, 6 Feb 2009, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > Now, in this case, it was only one tweak and other responders have\n> > already pointed him in the right direction. So just making that tweak\n> > manually is probably the sane thing to do in this situation.\n> >\n> > But I wanted to point out that autoconf is not totally without value\n> > here.\n> \n> I am not saying something that strong, either.  If autoconf generated\n> configure works _for you_ without hassle, great.  Keep using it.\n> \n> The original message that started this thread was what to do when it does\n> NOT work for you, and my point was in general it is much nicer to point at\n> the knob to tweak from the make invocation command line (or in config.mak)\n> than having you spend time on upgrade autoconf, generate configure and run\n> it.\n\nActually, guys, if you go back and re-read my original message, I was\npointing out that if you use a 'git clone' to get a build tree, THERE IS\nNO CONFIGURE SCRIPT in the tree.\n\nThe problem is not that the configure script does not work.  I pointed\nout in the first paragraph that the configure script in the TARBALL\nworks just fine.  What I pointed out is that the build tree DOES NOT\nPROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider\nadding the configure script to the repository so that it gets pushed out \nin a clone.\n\n> Fanboys may say that autoconf generated configure is the greatest thing\n> since sliced bread.  But let's face it.  Honestly, the track record of\n> those people in keeping autoconf part in this project up-to-date has not\n> been all that great.  There are things that the generated configure file\n> does not detect nor configure correctly (we had --with-expat patch, and we\n> also saw \"the trailing slash in template_dir definition in config.mak.in\"\n> discussed fairly recently).  You are much better off tweaking known\n> peculiarity of your platform in config.mak, when configure does not work\n> out of box for you.\n\nI've been building and installing multi-platform *nix software on\nvarious flavors for two decades now.  \"./configure && make && make install\" has \nbeen the standard build process even before GNU.  The whole point of\nautoconf/configure/make tools is to eliminate the need to manually tweak\nmakefiles so that software is easily portable between platforms. \n\nI got such a rash of SNOTTY messages from you folks, all directed to me\nprivately, that I nearly deleted git from my laptop altogether.  You can be\nsure I will not bother attempting to build git from a clone ever again.\nI took the time to debug and diagnose the build failures I was getting,\nand I tried to politely pass it along in case anyone cares.\n\nClearly, you don't.  I shall not waste your or my time any further.\n\n-- \nJoi Ellis                    \ngyles19@visi.com\n\nNo matter what we think of Linux versus FreeBSD, etc., the one thing I\nreally like about Linux is that it has Microsoft worried.  Anything\nthat kicks a monopoly in the pants has got to be good for something.\n           - Chris Johnson\n"},{"id":"106615","messageId":"20090301163429.GB6289@atjola.homenet","threadId":"17601","inReplyTo":"Pine.LNX.4.44.0903010945290.4675-100000@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Björn Steinbrink","fromEmail":"b.steinbrink@gmx.de","sentAt":"2009-03-01T16:34:29Z","receivedAt":"2009-03-01T16:34:29Z","isPatch":false,"sender":{"key":"b.steinbrink@gmx.de","avatar":"https://avatars.githubusercontent.com/u/230962?v=4"},"body":"On 2009.03.01 09:56:46 -0600, Joi Ellis wrote:\n> On Fri, 6 Feb 2009, Junio C Hamano wrote:\n> \n> > Jeff King <peff@peff.net> writes:\n> > \n> > > Now, in this case, it was only one tweak and other responders have\n> > > already pointed him in the right direction. So just making that tweak\n> > > manually is probably the sane thing to do in this situation.\n> > >\n> > > But I wanted to point out that autoconf is not totally without value\n> > > here.\n> > \n> > I am not saying something that strong, either.  If autoconf generated\n> > configure works _for you_ without hassle, great.  Keep using it.\n> > \n> > The original message that started this thread was what to do when it does\n> > NOT work for you, and my point was in general it is much nicer to point at\n> > the knob to tweak from the make invocation command line (or in config.mak)\n> > than having you spend time on upgrade autoconf, generate configure and run\n> > it.\n> \n> Actually, guys, if you go back and re-read my original message, I was\n> pointing out that if you use a 'git clone' to get a build tree, THERE IS\n> NO CONFIGURE SCRIPT in the tree.\n\nAnd Junio was talking about the Makefile not working for you. And btw,\nif you want a real chicken/egg problem, go complaining to the autoconf\nfolks that the autoconf git repository has no configure script either.\nAnd autoconf actually requires autoconf for bootstrapping AFAICT, while\ngit does not. I'm sure they'll be happy to explain to you why having a\ngenerated configure script in the repo is not a good idea.\n\nBjörn\n"},{"id":"107035","messageId":"49AF9601.9060709@op5.se","threadId":"17601","inReplyTo":"Pine.LNX.4.44.0903010945290.4675-100000@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2009-03-05T09:06:09Z","receivedAt":"2009-03-05T09:06:09Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Joi Ellis wrote:\n> On Fri, 6 Feb 2009, Junio C Hamano wrote:\n> \n>> Jeff King <peff@peff.net> writes:\n>>\n>>> Now, in this case, it was only one tweak and other responders have\n>>> already pointed him in the right direction. So just making that tweak\n>>> manually is probably the sane thing to do in this situation.\n>>>\n>>> But I wanted to point out that autoconf is not totally without value\n>>> here.\n>> I am not saying something that strong, either.  If autoconf generated\n>> configure works _for you_ without hassle, great.  Keep using it.\n>>\n>> The original message that started this thread was what to do when it does\n>> NOT work for you, and my point was in general it is much nicer to point at\n>> the knob to tweak from the make invocation command line (or in config.mak)\n>> than having you spend time on upgrade autoconf, generate configure and run\n>> it.\n> \n> Actually, guys, if you go back and re-read my original message, I was\n> pointing out that if you use a 'git clone' to get a build tree, THERE IS\n> NO CONFIGURE SCRIPT in the tree.\n> \n> The problem is not that the configure script does not work.  I pointed\n> out in the first paragraph that the configure script in the TARBALL\n> works just fine.  What I pointed out is that the build tree DOES NOT\n> PROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider\n> adding the configure script to the repository so that it gets pushed out \n> in a clone.\n> \n>> Fanboys may say that autoconf generated configure is the greatest thing\n>> since sliced bread.  But let's face it.  Honestly, the track record of\n>> those people in keeping autoconf part in this project up-to-date has not\n>> been all that great.  There are things that the generated configure file\n>> does not detect nor configure correctly (we had --with-expat patch, and we\n>> also saw \"the trailing slash in template_dir definition in config.mak.in\"\n>> discussed fairly recently).  You are much better off tweaking known\n>> peculiarity of your platform in config.mak, when configure does not work\n>> out of box for you.\n> \n> I've been building and installing multi-platform *nix software on\n> various flavors for two decades now.  \"./configure && make && make install\" has \n> been the standard build process even before GNU.  The whole point of\n> autoconf/configure/make tools is to eliminate the need to manually tweak\n> makefiles so that software is easily portable between platforms. \n> \n\n./configure is a generated script. Including it in the repository is not\nsomething many projects do, since one of the things developers will be\nworking on is to change how that file is generated. Including it in the\nrelease tar-balls is something every project (that uses autoconf) does,\nsince those are aimed at end-users.\n\nIt has not been the standard since before GNU, as the GNU project was\nstarted quite a long time (well over a decade) before autoconf's inception.\n\n> I got such a rash of SNOTTY messages from you folks, all directed to me\n> privately, that I nearly deleted git from my laptop altogether.\n\nI guess you're referring to the \"To: \" and \"Cc: \" fields of the emails\nyou received containing your address. For this particular list, that's\npart of how we do things. It's quite common on high-volume lists to do\nthat, as people would otherwise have to sift through *all* the mail on\nthe list to figure out which emails are replies to their own questions\nor patches. Somewhere in the Cc list you will see git@vger.kernel.org,\nI'm sure.\n\n>  You can be\n> sure I will not bother attempting to build git from a clone ever again.\n> I took the time to debug and diagnose the build failures I was getting,\n> and I tried to politely pass it along in case anyone cares.\n> \n\nThank you for that.\n\n> Clearly, you don't.  I shall not waste your or my time any further.\n> \n\nAnd again, thank you for that.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\nConsidering the successes of the wars on alcohol, poverty, drugs and\nterror, I think we should give some serious thought to declaring war\non peace.\n"},{"id":"107062","messageId":"43d8ce650903050337n48924fc3l89ef991d578f5849@mail.gmail.com","threadId":"17601","inReplyTo":"49AF9601.9060709@op5.se","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2009-03-05T11:37:45Z","receivedAt":"2009-03-05T11:37:45Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"2009/3/5 Andreas Ericsson <ae@op5.se>:\n> Joi Ellis wrote:\n>>\n>> On Fri, 6 Feb 2009, Junio C Hamano wrote:\n>>\n>>> Jeff King <peff@peff.net> writes:\n>>>\n>>>> Now, in this case, it was only one tweak and other responders have\n>>>> already pointed him in the right direction. So just making that tweak\n>>>> manually is probably the sane thing to do in this situation.\n>>>>\n>>>> But I wanted to point out that autoconf is not totally without value\n>>>> here.\n>>>\n>>> I am not saying something that strong, either.  If autoconf generated\n>>> configure works _for you_ without hassle, great.  Keep using it.\n>>>\n>>> The original message that started this thread was what to do when it does\n>>> NOT work for you, and my point was in general it is much nicer to point\n>>> at\n>>> the knob to tweak from the make invocation command line (or in\n>>> config.mak)\n>>> than having you spend time on upgrade autoconf, generate configure and\n>>> run\n>>> it.\n>>\n>> Actually, guys, if you go back and re-read my original message, I was\n>> pointing out that if you use a 'git clone' to get a build tree, THERE IS\n>> NO CONFIGURE SCRIPT in the tree.\n>>\n>> The problem is not that the configure script does not work.  I pointed\n>> out in the first paragraph that the configure script in the TARBALL\n>> works just fine.  What I pointed out is that the build tree DOES NOT\n>> PROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider\n>> adding the configure script to the repository so that it gets pushed out\n>> in a clone.\n>>\n>>> Fanboys may say that autoconf generated configure is the greatest thing\n>>> since sliced bread.  But let's face it.  Honestly, the track record of\n>>> those people in keeping autoconf part in this project up-to-date has not\n>>> been all that great.  There are things that the generated configure file\n>>> does not detect nor configure correctly (we had --with-expat patch, and\n>>> we\n>>> also saw \"the trailing slash in template_dir definition in config.mak.in\"\n>>> discussed fairly recently).  You are much better off tweaking known\n>>> peculiarity of your platform in config.mak, when configure does not work\n>>> out of box for you.\n>>\n>> I've been building and installing multi-platform *nix software on\n>> various flavors for two decades now.  \"./configure && make && make\n>> install\" has been the standard build process even before GNU.  The whole\n>> point of\n>> autoconf/configure/make tools is to eliminate the need to manually tweak\n>> makefiles so that software is easily portable between platforms.\n>\n> ./configure is a generated script. Including it in the repository is not\n> something many projects do, since one of the things developers will be\n> working on is to change how that file is generated. Including it in the\n> release tar-balls is something every project (that uses autoconf) does,\n> since those are aimed at end-users.\n\nReason that it should be included:\n\n* configure scripts usually are included.  git was the first source\ncode in a long time that I've seen without one\n* we have lots other files in git.git that are autogenerated (the\ndocumentation files, for example)\n* people are used to being able to do \"./configure; make; make install\"\n* It doesn't hurt anyone to do it.\n\nJohn\n"},{"id":"107064","messageId":"20090305120602.GA18717@coredump.intra.peff.net","threadId":"17601","inReplyTo":"43d8ce650903050337n48924fc3l89ef991d578f5849@mail.gmail.com","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-03-05T12:06:02Z","receivedAt":"2009-03-05T12:06:02Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 05, 2009 at 11:37:45AM +0000, John Tapsell wrote:\n\n> > ./configure is a generated script. Including it in the repository is not\n> > something many projects do, since one of the things developers will be\n> > working on is to change how that file is generated. Including it in the\n> > release tar-balls is something every project (that uses autoconf) does,\n> > since those are aimed at end-users.\n> \n> Reason that it should be included:\n> \n> * configure scripts usually are included.  git was the first source\n> code in a long time that I've seen without one\n\nI think you are confusing \"checked into version control\" with\n\"distributed with release tarballs\". Most projects do not do the\nformer[1], but almost all (including git) do the latter.\n\nThis discussion is about things checked into the repository.\n\n[1] Sorry, I don't have exact numbers, but I have never encountered this\nbefore.\n\n> * we have lots other files in git.git that are autogenerated (the\n> documentation files, for example)\n\nI'm not aware of any auto-generated files that are checked in. Can you\ngive an example?\n\n> * people are used to being able to do \"./configure; make; make install\"\n\nRight. They do it from the release tarball. Getting the version straight\nfrom source-control usually means you have to have autoconf if you want\nto run it.\n\n> * It doesn't hurt anyone to do it.\n\nYes, it does. Having generated files in your source repository means:\n\n  - you generate useless noise commits when those files are\n    re-autogenerated\n\n  - developers must make sure that they are not accidentally committing\n    auto-generated cruft that have nothing to do with their actual\n    changes\n\n-Peff\n"},{"id":"107067","messageId":"vpq7i34ywjg.fsf@bauges.imag.fr","threadId":"17601","inReplyTo":"20090305120602.GA18717@coredump.intra.peff.net","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2009-03-05T12:38:27Z","receivedAt":"2009-03-05T12:38:27Z","isPatch":false,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n>> * we have lots other files in git.git that are autogenerated (the\n>> documentation files, for example)\n>\n> I'm not aware of any auto-generated files that are checked in. Can you\n> give an example?\n\nman pages and html docs are commited, but in a separate branch. IOW,\nJunio abuses Git as a distribution mechanism, but keeps it totally\nseparate from the actual sources.\n\n> Yes, it does. Having generated files in your source repository means:\n>\n>   - you generate useless noise commits when those files are\n>     re-autogenerated\n>\n>   - developers must make sure that they are not accidentally committing\n>     auto-generated cruft that have nothing to do with their actual\n>     changes\n\n- You almost certainly get irrelevant conflicts when merging.\n\n- Different developers using different autoconf versions that generate\n  different code for the same source make even more noise that you'd\n  expect ;-).\n\n-- \nMatthieu\n"},{"id":"107068","messageId":"20090305124512.GA2723@coredump.intra.peff.net","threadId":"17601","inReplyTo":"vpq7i34ywjg.fsf@bauges.imag.fr","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-03-05T12:45:12Z","receivedAt":"2009-03-05T12:45:12Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n\n> >> * we have lots other files in git.git that are autogenerated (the\n> >> documentation files, for example)\n> >\n> > I'm not aware of any auto-generated files that are checked in. Can you\n> > give an example?\n> \n> man pages and html docs are commited, but in a separate branch. IOW,\n> Junio abuses Git as a distribution mechanism, but keeps it totally\n> separate from the actual sources.\n\nOK, true; but that is a totally different mechanism, unless the proposal\nis to autobuild a \"this would be the release tarball\" branch similar to\nhtml and man branches.\n\n-Peff\n"},{"id":"107179","messageId":"m3eixbszkt.fsf@localhost.localdomain","threadId":"17601","inReplyTo":"20090305124512.GA2723@coredump.intra.peff.net","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-03-06T10:39:46Z","receivedAt":"2009-03-06T10:39:46Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jeff King <peff@peff.net> writes:\n> On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n> \n>>>> * we have lots other files in git.git that are autogenerated (the\n>>>> documentation files, for example)\n>>>\n>>> I'm not aware of any auto-generated files that are checked in. Can you\n>>> give an example?\n>> \n>> man pages and html docs are commited, but in a separate branch. IOW,\n>> Junio abuses Git as a distribution mechanism, but keeps it totally\n>> separate from the actual sources.\n> \n> OK, true; but that is a totally different mechanism, unless the proposal\n> is to autobuild a \"this would be the release tarball\" branch similar to\n> html and man branches.\n\nI thnk the proposal was to have 'configure' branch with configure\nscript built, similar to how 'html' and 'man' branches have built\ndocumentation in HTML and manpages format.\n\nHowever while toolchain needed to produce documentation (asciidoc +\nxmlto) isn't, I think, something very common, in my opinion autoconf\nis something that is present on systems containing other build tools\nrequired to build git from sources.  So 'configure' branch is not, I\nthink, as necessary as 'html' and 'man' branches; additionally 'html'\nbranch (or the repository used to build documentation, or the\nbyproduct of building documentation) is used to generate on-line docs\nfor git.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"107187","messageId":"vpqwsb2ly9y.fsf@bauges.imag.fr","threadId":"17601","inReplyTo":"m3eixbszkt.fsf@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2009-03-06T10:51:37Z","receivedAt":"2009-03-06T10:51:37Z","isPatch":false,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> However while toolchain needed to produce documentation (asciidoc +\n> xmlto) isn't, I think, something very common, in my opinion autoconf\n> is something that is present on systems containing other build tools\n> required to build git from sources.\n\nPlus:\n\n* an old ./configure script (taken from a previous tarball release)\n  has good chance to work on a new Git. Since Makefile is designed to\n  be useable without scripting, Junnio takes great care not to break\n  existing setups.\n\n* ./configure script is not mandatory to build Git from sources.\n\n-- \nMatthieu\n"},{"id":"107183","messageId":"alpine.DEB.1.00.0903061203270.10279@pacific.mpi-cbg.de","threadId":"17601","inReplyTo":"m3eixbszkt.fsf@localhost.localdomain","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-06T11:04:19Z","receivedAt":"2009-03-06T11:04:19Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 6 Mar 2009, Jakub Narebski wrote:\n\n> Jeff King <peff@peff.net> writes:\n> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n> > \n> >>>> * we have lots other files in git.git that are autogenerated (the\n> >>>> documentation files, for example)\n> >>>\n> >>> I'm not aware of any auto-generated files that are checked in. Can you\n> >>> give an example?\n> >> \n> >> man pages and html docs are commited, but in a separate branch. IOW,\n> >> Junio abuses Git as a distribution mechanism, but keeps it totally\n> >> separate from the actual sources.\n> > \n> > OK, true; but that is a totally different mechanism, unless the proposal\n> > is to autobuild a \"this would be the release tarball\" branch similar to\n> > html and man branches.\n> \n> I thnk the proposal was to have 'configure' branch with configure\n> script built, similar to how 'html' and 'man' branches have built\n> documentation in HTML and manpages format.\n> \n> However while toolchain needed to produce documentation (asciidoc + \n> xmlto) isn't, I think, something very common, in my opinion autoconf is \n> something that is present on systems containing other build tools \n> required to build git from sources.  So 'configure' branch is not, I \n> think, as necessary as 'html' and 'man' branches; additionally 'html' \n> branch (or the repository used to build documentation, or the byproduct \n> of building documentation) is used to generate on-line docs for git.\n\nPlus, keep in mind that autoconf support is only an afterthought in Git; \nJust running \"make\" is supposed to work.  If it does not, patches are \ncertainly welcome, I think.\n\nCiao,\nDscho\n"},{"id":"107186","messageId":"43d8ce650903060327l64e76f2al7ec3c2ee76be14eb@mail.gmail.com","threadId":"17601","inReplyTo":"alpine.DEB.1.00.0903061203270.10279@pacific.mpi-cbg.de","subject":"Re: Chicken/egg problem building from a 'git clone'","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2009-03-06T11:27:21Z","receivedAt":"2009-03-06T11:27:21Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> Hi,\n>\n> On Fri, 6 Mar 2009, Jakub Narebski wrote:\n>\n>> Jeff King <peff@peff.net> writes:\n>> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n>> >\n>> >>>> * we have lots other files in git.git that are autogenerated (the\n>> >>>> documentation files, for example)\n>> >>>\n>> >>> I'm not aware of any auto-generated files that are checked in. Can you\n>> >>> give an example?\n>> >>\n>> >> man pages and html docs are commited, but in a separate branch. IOW,\n>> >> Junio abuses Git as a distribution mechanism, but keeps it totally\n>> >> separate from the actual sources.\n>> >\n>> > OK, true; but that is a totally different mechanism, unless the proposal\n>> > is to autobuild a \"this would be the release tarball\" branch similar to\n>> > html and man branches.\n>>\n>> I thnk the proposal was to have 'configure' branch with configure\n>> script built, similar to how 'html' and 'man' branches have built\n>> documentation in HTML and manpages format.\n>>\n>> However while toolchain needed to produce documentation (asciidoc +\n>> xmlto) isn't, I think, something very common, in my opinion autoconf is\n>> something that is present on systems containing other build tools\n>> required to build git from sources.  So 'configure' branch is not, I\n>> think, as necessary as 'html' and 'man' branches; additionally 'html'\n>> branch (or the repository used to build documentation, or the byproduct\n>> of building documentation) is used to generate on-line docs for git.\n>\n> Plus, keep in mind that autoconf support is only an afterthought in Git;\n> Just running \"make\" is supposed to work.  If it does not, patches are\n> certainly welcome, I think.\n\nWell now that you mention it.. :-)\n\nIt doesn't check for the existance of asciidoc, but blindly assumes it\nexists.  And even if you do have asciidoc, there's a good chance that\nyou have the wrong version.   The INSTALL file says that asciidoc\nrequires 8.2.7 but most distros (debian, ubuntu.  probably other) have\n8.2.6.\nIf you compile the docs with the wrong asciidoc version, there is no\nwarning or error at all.  It just builds incorrect man pages.\n\nJohn\n"},{"id":"107189","messageId":"alpine.DEB.1.00.0903061301340.10279@pacific.mpi-cbg.de","threadId":"17601","inReplyTo":"43d8ce650903060327l64e76f2al7ec3c2ee76be14eb@mail.gmail.com","subject":"asciidoc, was Re: Chicken/egg problem building from a 'git clone'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-06T12:02:54Z","receivedAt":"2009-03-06T12:02:54Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 6 Mar 2009, John Tapsell wrote:\n\n> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>\n> > On Fri, 6 Mar 2009, Jakub Narebski wrote:\n> >\n> >> Jeff King <peff@peff.net> writes:\n> >> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n> >> >\n> >> >>>> * we have lots other files in git.git that are autogenerated (the\n> >> >>>> documentation files, for example)\n> >> >>>\n> >> >>> I'm not aware of any auto-generated files that are checked in. Can you\n> >> >>> give an example?\n> >> >>\n> >> >> man pages and html docs are commited, but in a separate branch. IOW,\n> >> >> Junio abuses Git as a distribution mechanism, but keeps it totally\n> >> >> separate from the actual sources.\n> >> >\n> >> > OK, true; but that is a totally different mechanism, unless the proposal\n> >> > is to autobuild a \"this would be the release tarball\" branch similar to\n> >> > html and man branches.\n> >>\n> >> I thnk the proposal was to have 'configure' branch with configure\n> >> script built, similar to how 'html' and 'man' branches have built\n> >> documentation in HTML and manpages format.\n> >>\n> >> However while toolchain needed to produce documentation (asciidoc +\n> >> xmlto) isn't, I think, something very common, in my opinion autoconf is\n> >> something that is present on systems containing other build tools\n> >> required to build git from sources.  So 'configure' branch is not, I\n> >> think, as necessary as 'html' and 'man' branches; additionally 'html'\n> >> branch (or the repository used to build documentation, or the byproduct\n> >> of building documentation) is used to generate on-line docs for git.\n> >\n> > Plus, keep in mind that autoconf support is only an afterthought in Git;\n> > Just running \"make\" is supposed to work.  If it does not, patches are\n> > certainly welcome, I think.\n> \n> Well now that you mention it.. :-)\n> \n> It doesn't check for the existance of asciidoc, but blindly assumes it\n> exists.  And even if you do have asciidoc, there's a good chance that\n> you have the wrong version.   The INSTALL file says that asciidoc\n> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have\n> 8.2.6.\n> If you compile the docs with the wrong asciidoc version, there is no\n> warning or error at all.  It just builds incorrect man pages.\n\nFrankly, I was talking about \"make\".  I never needed asciidoc there.\n\nBesides, if it is really an itch of yours, maybe you can come up with a \npatch checking for a correct asciidoc version?  Only if asciidoc would be \nneeded at all, of course.\n\nCiao,\nDscho\n"},{"id":"107195","messageId":"43d8ce650903060428h26392348i4e0db5c23ca57da6@mail.gmail.com","threadId":"17601","inReplyTo":"alpine.DEB.1.00.0903061301340.10279@pacific.mpi-cbg.de","subject":"Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2009-03-06T12:28:08Z","receivedAt":"2009-03-06T12:28:08Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> Hi,\n>\n> On Fri, 6 Mar 2009, John Tapsell wrote:\n>\n>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>\n>> > On Fri, 6 Mar 2009, Jakub Narebski wrote:\n>> >\n>> >> Jeff King <peff@peff.net> writes:\n>> >> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:\n>> >> >\n>> >> >>>> * we have lots other files in git.git that are autogenerated (the\n>> >> >>>> documentation files, for example)\n>> >> >>>\n>> >> >>> I'm not aware of any auto-generated files that are checked in. Can you\n>> >> >>> give an example?\n>> >> >>\n>> >> >> man pages and html docs are commited, but in a separate branch. IOW,\n>> >> >> Junio abuses Git as a distribution mechanism, but keeps it totally\n>> >> >> separate from the actual sources.\n>> >> >\n>> >> > OK, true; but that is a totally different mechanism, unless the proposal\n>> >> > is to autobuild a \"this would be the release tarball\" branch similar to\n>> >> > html and man branches.\n>> >>\n>> >> I thnk the proposal was to have 'configure' branch with configure\n>> >> script built, similar to how 'html' and 'man' branches have built\n>> >> documentation in HTML and manpages format.\n>> >>\n>> >> However while toolchain needed to produce documentation (asciidoc +\n>> >> xmlto) isn't, I think, something very common, in my opinion autoconf is\n>> >> something that is present on systems containing other build tools\n>> >> required to build git from sources.  So 'configure' branch is not, I\n>> >> think, as necessary as 'html' and 'man' branches; additionally 'html'\n>> >> branch (or the repository used to build documentation, or the byproduct\n>> >> of building documentation) is used to generate on-line docs for git.\n>> >\n>> > Plus, keep in mind that autoconf support is only an afterthought in Git;\n>> > Just running \"make\" is supposed to work.  If it does not, patches are\n>> > certainly welcome, I think.\n>>\n>> Well now that you mention it.. :-)\n>>\n>> It doesn't check for the existance of asciidoc, but blindly assumes it\n>> exists.  And even if you do have asciidoc, there's a good chance that\n>> you have the wrong version.   The INSTALL file says that asciidoc\n>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have\n>> 8.2.6.\n>> If you compile the docs with the wrong asciidoc version, there is no\n>> warning or error at all.  It just builds incorrect man pages.\n>\n> Frankly, I was talking about \"make\".  I never needed asciidoc there.\n>\n> Besides, if it is really an itch of yours, maybe you can come up with a\n> patch checking for a correct asciidoc version?  Only if asciidoc would be\n> needed at all, of course.\n\nYep.  I've been looking at it for the last half hour, but configure.ac\nsyntax defeats me :-D   (I figured getting the check into configure.ac\n would be a good first start)\n"},{"id":"107196","messageId":"200903061415.50746.jnareb@gmail.com","threadId":"17601","inReplyTo":"43d8ce650903060428h26392348i4e0db5c23ca57da6@mail.gmail.com","subject":"Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-03-06T13:15:50Z","receivedAt":"2009-03-06T13:15:50Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Fri, 6 March 2009, John Tapsell wrote:\n> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>> On Fri, 6 Mar 2009, John Tapsell wrote:\n>>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>>> On Fri, 6 Mar 2009, Jakub Narebski wrote:\n\n>>>>> However while toolchain needed to produce documentation (asciidoc +\n>>>>> xmlto) isn't, I think, something very common, in my opinion autoconf is\n>>>>> something that is present on systems containing other build tools\n>>>>> required to build git from sources.  So 'configure' branch is not, I\n>>>>> think, as necessary as 'html' and 'man' branches; additionally 'html'\n>>>>> branch (or the repository used to build documentation, or the byproduct\n>>>>> of building documentation) is used to generate on-line docs for git.\n>>>>\n>>>> Plus, keep in mind that autoconf support is only an afterthought in Git;\n>>>> Just running \"make\" is supposed to work.  If it does not, patches are\n>>>> certainly welcome, I think.\n>>>\n>>> Well now that you mention it.. :-)\n>>>\n>>> It doesn't check for the existance of asciidoc, but blindly assumes it\n>>> exists.  And even if you do have asciidoc, there's a good chance that\n>>> you have the wrong version.   The INSTALL file says that asciidoc\n>>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have\n>>> 8.2.6.\n\nDo you mean here Makefile checks, or do you mean ./configure checking\nfor existing asciidoc toolchain, and for asciidoc version?\n\n>>> If you compile the docs with the wrong asciidoc version, there is no\n>>> warning or error at all.  It just builds incorrect man pages.\n>>\n>> Frankly, I was talking about \"make\".  I never needed asciidoc there.\n>>\n>> Besides, if it is really an itch of yours, maybe you can come up with a\n>> patch checking for a correct asciidoc version?  Only if asciidoc would be\n>> needed at all, of course.\n> \n> Yep.  I've been looking at it for the last half hour, but configure.ac\n> syntax defeats me :-D   (I figured getting the check into configure.ac\n> would be a good first start)\n\nErrr... doesn't configure.ac have checking for asciidoc version? Search\nfor AC_CHECK_PROGS(ASCIIDOC, [asciidoc]). Perhaps tests should be more\ndetailed, or something...\n\n-- \nJakub Narebski\nPoland\n"},{"id":"107198","messageId":"43d8ce650903060539q5a189543g4ef51dac0ba2e6a3@mail.gmail.com","threadId":"17601","inReplyTo":"200903061415.50746.jnareb@gmail.com","subject":"Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2009-03-06T13:39:01Z","receivedAt":"2009-03-06T13:39:01Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"2009/3/6 Jakub Narebski <jnareb@gmail.com>:\n> On Fri, 6 March 2009, John Tapsell wrote:\n>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>> On Fri, 6 Mar 2009, John Tapsell wrote:\n>>>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>>>> On Fri, 6 Mar 2009, Jakub Narebski wrote:\n>\n>>>>>> However while toolchain needed to produce documentation (asciidoc +\n>>>>>> xmlto) isn't, I think, something very common, in my opinion autoconf is\n>>>>>> something that is present on systems containing other build tools\n>>>>>> required to build git from sources.  So 'configure' branch is not, I\n>>>>>> think, as necessary as 'html' and 'man' branches; additionally 'html'\n>>>>>> branch (or the repository used to build documentation, or the byproduct\n>>>>>> of building documentation) is used to generate on-line docs for git.\n>>>>>\n>>>>> Plus, keep in mind that autoconf support is only an afterthought in Git;\n>>>>> Just running \"make\" is supposed to work.  If it does not, patches are\n>>>>> certainly welcome, I think.\n>>>>\n>>>> Well now that you mention it.. :-)\n>>>>\n>>>> It doesn't check for the existance of asciidoc, but blindly assumes it\n>>>> exists.  And even if you do have asciidoc, there's a good chance that\n>>>> you have the wrong version.   The INSTALL file says that asciidoc\n>>>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have\n>>>> 8.2.6.\n>\n> Do you mean here Makefile checks, or do you mean ./configure checking\n> for existing asciidoc toolchain, and for asciidoc version?\n\nWell presumably both would have to check, since you can run make\nwithout configure.  I just figured starting with configure would be\neasiest.\n\n>\n>>>> If you compile the docs with the wrong asciidoc version, there is no\n>>>> warning or error at all.  It just builds incorrect man pages.\n>>>\n>>> Frankly, I was talking about \"make\".  I never needed asciidoc there.\n>>>\n>>> Besides, if it is really an itch of yours, maybe you can come up with a\n>>> patch checking for a correct asciidoc version?  Only if asciidoc would be\n>>> needed at all, of course.\n>>\n>> Yep.  I've been looking at it for the last half hour, but configure.ac\n>> syntax defeats me :-D   (I figured getting the check into configure.ac\n>> would be a good first start)\n>\n> Errr... doesn't configure.ac have checking for asciidoc version? Search\n> for AC_CHECK_PROGS(ASCIIDOC, [asciidoc]). Perhaps tests should be more\n> detailed, or something...\n\nYeah I saw that - it checks if you have version 7.* or 8.*. I just\ndon't know how to check if the version is >= .8.2.7.\n\nJohn\n"}]}