git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Chicken/egg problem building from a 'git clone'
@ 2009-02-06  4:09 Joi Ellis
  2009-02-06  4:32 ` Johannes Schindelin
                   ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Joi Ellis @ 2009-02-06  4:09 UTC (permalink / raw)
  To: git

I have an elderly laptop.  I can build and install git using a tarball.  I 
original installed git 1.6.0.  This evening I noticed 1.6.1 was availble, and I 
decided to try building from the git repository using 'git clone' as described 
in the git home page.   And to jump ahead of myself, I want to point out that 
1.6.1 will build from the tarball.  However...

The workspace I get using 'git clone' does not provide a configure file.  And 
because my laptop isn't running a bleeding edge distribution, my build tools 
are older than you'd expect, so...

"make all" fails becuase my libaries are old:

    LINK git-fast-import
fast-import.o: In function `store_object':
/usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
/usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'

"make configure" fails because my autoconf is too old.

    GEN configure
Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
       [-l dir] [--localdir=dir] [--version] [template-file]
make: *** [configure] Error 1

This found an issue with the Makefile, because my autoconf is sooo old, it's 
puking on the configure target build command, in part:

  autoconf -o $@ $<+ && \

because this old autoconf doesn't have a -o parameter.  If I change the
Makefile to:

  autoconf $<+ >$@ && \

Then the error becomes
    GEN configure
FATAL ERROR: Autoconf version 2.59 or higher is required for this script
make: *** [configure] Error 2

which is closer to what you intended.  I'm not sure what difference it makes 
between specifying -o and simply letting it default.

Anyway, would it break anything to have a 'configure' script provided as part 
of the clone pull?  It's provided in the tarball, and if I copy the 1.6.1 
configure script into my git workspace and run it, it seems to build.  I'm just 
not sure I trust it to be up-to-date with the configure script you folks can 
generate with your modern build tools using 'make configure'.

I realize the configure script is technically a build target but not having it 
does cause this chicken-egg issue on older platforms.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:09 Chicken/egg problem building from a 'git clone' Joi Ellis
@ 2009-02-06  4:32 ` Johannes Schindelin
  2009-02-06  4:45   ` Joi Ellis
  2009-02-06  4:44 ` Björn Steinbrink
  2009-02-06 19:06 ` Daniel Barkalow
  2 siblings, 1 reply; 31+ messages in thread
From: Johannes Schindelin @ 2009-02-06  4:32 UTC (permalink / raw)
  To: Joi Ellis; +Cc: git

Hi,

On Fri, 6 Feb 2009, Joi Ellis wrote:

> "make all" fails becuase my libaries are old:
> 
>     LINK git-fast-import
> fast-import.o: In function `store_object':
> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'

You need to install a newer libz.  (And this is not a chicken & egg 
problem.)

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:09 Chicken/egg problem building from a 'git clone' Joi Ellis
  2009-02-06  4:32 ` Johannes Schindelin
@ 2009-02-06  4:44 ` Björn Steinbrink
  2009-02-06 19:06 ` Daniel Barkalow
  2 siblings, 0 replies; 31+ messages in thread
From: Björn Steinbrink @ 2009-02-06  4:44 UTC (permalink / raw)
  To: Joi Ellis; +Cc: git

On 2009.02.06 04:09:24 +0000, Joi Ellis wrote:
> "make all" fails becuase my libaries are old:
> 
>     LINK git-fast-import
> fast-import.o: In function `store_object':
> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'

You can define NO_DEFLATE_BOUND. That and a bunch of other things you
can control are documented within the Makefile. No need for configure.

Björn

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:32 ` Johannes Schindelin
@ 2009-02-06  4:45   ` Joi Ellis
  2009-02-06  5:12     ` Miles Bader
                       ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Joi Ellis @ 2009-02-06  4:45 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

On Fri, 6 Feb 2009, Johannes Schindelin wrote:

> Hi,
> 
> On Fri, 6 Feb 2009, Joi Ellis wrote:
> 
> > "make all" fails becuase my libaries are old:
> > 
> >     LINK git-fast-import
> > fast-import.o: In function `store_object':
> > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'
> 
> You need to install a newer libz.  (And this is not a chicken & egg 
> problem.)

Yes, this *is* a chicken & egg problem.  As I said in my original post,
git will build on this machine if I have a configure script to run
first.  The configure script explicitly checks for the version of libz
and sets a DEFINE appropriately.  Because there is no configure script
provided, and because my autoconf is considered too old, I simply can't
start the build process because I can't generate the missing configure
script.

Other projects put the configure script into source control to avoid
exactly this issue.

-- 
Joi Ellis                    
gyles19@visi.com

No matter what we think of Linux versus FreeBSD, etc., the one thing I
really like about Linux is that it has Microsoft worried.  Anything
that kicks a monopoly in the pants has got to be good for something.
           - Chris Johnson

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:45   ` Joi Ellis
@ 2009-02-06  5:12     ` Miles Bader
  2009-02-06  5:36       ` Junio C Hamano
  2009-02-06  5:14     ` Björn Steinbrink
  2009-02-06 11:34     ` Johannes Schindelin
  2 siblings, 1 reply; 31+ messages in thread
From: Miles Bader @ 2009-02-06  5:12 UTC (permalink / raw)
  To: gyles19; +Cc: Johannes Schindelin, git

Joi Ellis <gyles19@visi.com> writes:
> Because there is no configure script provided, and because my autoconf
> is considered too old, I simply can't start the build process because
> I can't generate the missing configure script.

Er, why don't you upgrade to a less ancient version of autoconf...?

Autoconf 2.59 (which is what it seems to want) was released like 5 years ago!

-Miles

-- 
97% of everything is grunge

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:45   ` Joi Ellis
  2009-02-06  5:12     ` Miles Bader
@ 2009-02-06  5:14     ` Björn Steinbrink
  2009-02-06 11:34     ` Johannes Schindelin
  2 siblings, 0 replies; 31+ messages in thread
From: Björn Steinbrink @ 2009-02-06  5:14 UTC (permalink / raw)
  To: Joi Ellis; +Cc: Johannes Schindelin, git

On 2009.02.05 22:45:13 -0600, Joi Ellis wrote:
> On Fri, 6 Feb 2009, Johannes Schindelin wrote:
> 
> > Hi,
> > 
> > On Fri, 6 Feb 2009, Joi Ellis wrote:
> > 
> > > "make all" fails becuase my libaries are old:
> > > 
> > >     LINK git-fast-import
> > > fast-import.o: In function `store_object':
> > > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> > > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'
> > 
> > You need to install a newer libz.  (And this is not a chicken & egg 
> > problem.)
> 
> Yes, this *is* a chicken & egg problem.

No, it's not. It would be one if you needed git to update your zlib or
autoconf. But you don't, so you could simply update zlib or autoconf.
There's no circular dependency. You can even just do "make
NO_DEFLATE_BOUND=1" and be done with it...

Björn

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  5:12     ` Miles Bader
@ 2009-02-06  5:36       ` Junio C Hamano
  2009-02-06  5:49         ` Miles Bader
  0 siblings, 1 reply; 31+ messages in thread
From: Junio C Hamano @ 2009-02-06  5:36 UTC (permalink / raw)
  To: Miles Bader; +Cc: gyles19, Johannes Schindelin, git

Miles Bader <miles@gnu.org> writes:

> Joi Ellis <gyles19@visi.com> writes:
>> Because there is no configure script provided, and because my autoconf
>> is considered too old, I simply can't start the build process because
>> I can't generate the missing configure script.
>
> Er, why don't you upgrade to a less ancient version of autoconf...?

Please do not encourage the use of configure/autoconf unnecessarily.

Our Makefile is designed to be usable *without* configure, exactly because
configure/autoconf is often a maintenance (if not portability) nightmare.

Use of configure is tolerated, not encouraged.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  5:36       ` Junio C Hamano
@ 2009-02-06  5:49         ` Miles Bader
  2009-02-06  8:12           ` Junio C Hamano
  0 siblings, 1 reply; 31+ messages in thread
From: Miles Bader @ 2009-02-06  5:49 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: gyles19, Johannes Schindelin, git

Junio C Hamano <gitster@pobox.com> writes:
>>> Because there is no configure script provided, and because my autoconf
>>> is considered too old, I simply can't start the build process because
>>> I can't generate the missing configure script.
>>
>> Er, why don't you upgrade to a less ancient version of autoconf...?
>
> Please do not encourage the use of configure/autoconf unnecessarily.

Huh?  I'm not "encouraging the use of configure/autoconf unnecessarily",
I'm encouraging the use of a non-obsolete version of autoconf, should he
wish to use it (and he's the one that brought it up, so...).

> Use of configure is tolerated, not encouraged.

You're certainly welcome to discourage people from using it, but I see
no reason to do so myself.

-miles

-- 
Joy, n. An emotion variously excited, but in its highest degree arising from
the contemplation of grief in another.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  5:49         ` Miles Bader
@ 2009-02-06  8:12           ` Junio C Hamano
  2009-02-06  9:31             ` Miles Bader
  0 siblings, 1 reply; 31+ messages in thread
From: Junio C Hamano @ 2009-02-06  8:12 UTC (permalink / raw)
  To: Miles Bader; +Cc: gyles19, Johannes Schindelin, git

Miles Bader <miles@gnu.org> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>>>> Because there is no configure script provided, and because my autoconf
>>>> is considered too old, I simply can't start the build process because
>>>> I can't generate the missing configure script.
>>>
>>> Er, why don't you upgrade to a less ancient version of autoconf...?
>>
>> Please do not encourage the use of configure/autoconf unnecessarily.
>
> Huh?  I'm not "encouraging the use of configure/autoconf unnecessarily",
> I'm encouraging the use of a non-obsolete version of autoconf, should he
> wish to use it (and he's the one that brought it up, so...).
>
>> Use of configure is tolerated, not encouraged.
>
> You're certainly welcome to discourage people from using it, but I see
> no reason to do so myself.

Hmm, after reading my message again, I did sound rather misleading to
solicit a response like that from a gnu person, so let me try again.

Please do not encourge use of configure/autoconf *in this project*.

Use of configure *in this project* is not encouraged, it is merely
tolerated.

You are of course welcome to use configure and autoconf yourself for your
own projects, not here, but that goes without saying, I would think.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  8:12           ` Junio C Hamano
@ 2009-02-06  9:31             ` Miles Bader
  2009-02-06 10:28               ` Junio C Hamano
  0 siblings, 1 reply; 31+ messages in thread
From: Miles Bader @ 2009-02-06  9:31 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: gyles19, Johannes Schindelin, git

Junio C Hamano <gitster@pobox.com> writes:
> Hmm, after reading my message again, I did sound rather misleading to
> solicit a response like that from a gnu person, so let me try again.
>
> Please do not encourge use of configure/autoconf *in this project*.

Er ... I was not doing so.  I was saying that if one is going to use
autoconf with git, one should use a non-ancient version.

I don't think merely discussing autoconf+git without pejorative asides
is "encouraging use".

-Miles

-- 
Everywhere is walking distance if you have the time.  -- Steven Wright

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  9:31             ` Miles Bader
@ 2009-02-06 10:28               ` Junio C Hamano
  2009-02-06 10:35                 ` Miles Bader
  2009-02-06 19:25                 ` Jeff King
  0 siblings, 2 replies; 31+ messages in thread
From: Junio C Hamano @ 2009-02-06 10:28 UTC (permalink / raw)
  To: Miles Bader; +Cc: gyles19, Johannes Schindelin, git

Miles Bader <miles@gnu.org> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>>
>> Please do not encourge use of configure/autoconf *in this project*.
>
> Er ... I was not doing so.  I was saying that if one is going to use
> autoconf with git, one should use a non-ancient version.

That is nice but the statement is only half-truth, and should be followed
by ", but why bother?  You do not even need to use configure to build
git, and insn is all here...".

Omitting that latter half and instead having him spend time to update
autoconf, which is not even needed, sounds like strongly encouraging its
use to me.

> I don't think merely discussing autoconf+git without pejorative asides
> is "encouraging use".

"You should use recent enough autoconf *if* you want to use configure, but
why bother?  You do not even need to use configure to build git, and here
is how..." does not say anything pejorative about autoconf, either, and it
is certainly not encouraging its use.

On the other hand, omitting "but why bother?" part is, and the reason is
not because it does not badmouth autoconf, but because use of autoconf is
non-essential in this project.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06 10:28               ` Junio C Hamano
@ 2009-02-06 10:35                 ` Miles Bader
  2009-02-06 19:25                 ` Jeff King
  1 sibling, 0 replies; 31+ messages in thread
From: Miles Bader @ 2009-02-06 10:35 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: gyles19, Johannes Schindelin, git

Junio C Hamano <gitster@pobox.com> writes:
>> Er ... I was not doing so.  I was saying that if one is going to use
>> autoconf with git, one should use a non-ancient version.
>
> That is nice but the statement is only half-truth, and should be followed
> by ", but why bother?  You do not even need to use configure to build
> git, and insn is all here...".

You've got to be kidding...

-Miles

-- 
Freebooter, n. A conqueror in a small way of business, whose annexations lack
of the sanctifying merit of magnitude.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:45   ` Joi Ellis
  2009-02-06  5:12     ` Miles Bader
  2009-02-06  5:14     ` Björn Steinbrink
@ 2009-02-06 11:34     ` Johannes Schindelin
  2 siblings, 0 replies; 31+ messages in thread
From: Johannes Schindelin @ 2009-02-06 11:34 UTC (permalink / raw)
  To: Joi Ellis; +Cc: git

Hi,

On Thu, 5 Feb 2009, Joi Ellis wrote:

> On Fri, 6 Feb 2009, Johannes Schindelin wrote:
> 
> > On Fri, 6 Feb 2009, Joi Ellis wrote:
> > 
> > > "make all" fails becuase my libaries are old:
> > > 
> > >     LINK git-fast-import
> > > fast-import.o: In function `store_object':
> > > /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> > > /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'
> > 
> > You need to install a newer libz.  (And this is not a chicken & egg 
> > problem.)
> 
> Yes, this *is* a chicken & egg problem.

No it is _not_.

A chicken and egg problem would be if your problem would go away if Git 
compiled cleanly.  But it does not.

> As I said in my original post, git will build on this machine if I have 
> a configure script to run first.  The configure script explicitly checks 
> for the version of libz and sets a DEFINE appropriately.

So why don't you DEFINE the thing explicitely?  From reading the Makefile, 
it appears as if

	$ make NO_DEFLATE_BOUND=YesPlease

should make it compile.  Of course, the documentation in the first part of 
the Makefile could be better, maybe you have suggestions?

Hth,
Dscho

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06  4:09 Chicken/egg problem building from a 'git clone' Joi Ellis
  2009-02-06  4:32 ` Johannes Schindelin
  2009-02-06  4:44 ` Björn Steinbrink
@ 2009-02-06 19:06 ` Daniel Barkalow
  2 siblings, 0 replies; 31+ messages in thread
From: Daniel Barkalow @ 2009-02-06 19:06 UTC (permalink / raw)
  To: Joi Ellis; +Cc: git

On Fri, 6 Feb 2009, Joi Ellis wrote:

> I have an elderly laptop.  I can build and install git using a tarball.  I 
> original installed git 1.6.0.  This evening I noticed 1.6.1 was availble, and I 
> decided to try building from the git repository using 'git clone' as described 
> in the git home page.   And to jump ahead of myself, I want to point out that 
> 1.6.1 will build from the tarball.  However...
> 
> The workspace I get using 'git clone' does not provide a configure file.  And 
> because my laptop isn't running a bleeding edge distribution, my build tools 
> are older than you'd expect, so...
> 
> "make all" fails becuase my libaries are old:
> 
>     LINK git-fast-import
> fast-import.o: In function `store_object':
> /usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
> /usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'

What zlib version do you have? If your libraries are old enough, git's 
cache.h header file should effectively enable NO_DEFLATE_BOUND. Maybe you 
have skew between your header files and the libraries the linker finds by 
default? Or maybe we should consider any zlib without a version in the 
header file old enough not to have deflateBound()?

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06 10:28               ` Junio C Hamano
  2009-02-06 10:35                 ` Miles Bader
@ 2009-02-06 19:25                 ` Jeff King
  2009-02-06 22:12                   ` Junio C Hamano
  1 sibling, 1 reply; 31+ messages in thread
From: Jeff King @ 2009-02-06 19:25 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Miles Bader, gyles19, Johannes Schindelin, git

On Fri, Feb 06, 2009 at 02:28:48AM -0800, Junio C Hamano wrote:

> > Er ... I was not doing so.  I was saying that if one is going to use
> > autoconf with git, one should use a non-ancient version.
> 
> That is nice but the statement is only half-truth, and should be followed
> by ", but why bother?  You do not even need to use configure to build
> git, and insn is all here...".

I can think of one obvious reason why one might bother with autoconf: he
knows that git builds using the configuration detected by autoconf, but
it does not without. So yes, he _can_ tweak the Makefile manually to get
git to build, but he doesn't necessarily know which knobs to tweak. And
autoconf does.

Now, in this case, it was only one tweak and other responders have
already pointed him in the right direction. So just making that tweak
manually is probably the sane thing to do in this situation.

But I wanted to point out that autoconf is not totally without value
here.  There are people who may want to build git from a clone but who
_don't_ want to spend time learning about every tweakable build knob or
about how much their platform sucks.

-Peff

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06 19:25                 ` Jeff King
@ 2009-02-06 22:12                   ` Junio C Hamano
  2009-03-01 15:56                     ` Joi Ellis
  0 siblings, 1 reply; 31+ messages in thread
From: Junio C Hamano @ 2009-02-06 22:12 UTC (permalink / raw)
  To: Jeff King; +Cc: Miles Bader, gyles19, Johannes Schindelin, git

Jeff King <peff@peff.net> writes:

> Now, in this case, it was only one tweak and other responders have
> already pointed him in the right direction. So just making that tweak
> manually is probably the sane thing to do in this situation.
>
> But I wanted to point out that autoconf is not totally without value
> here.

I am not saying something that strong, either.  If autoconf generated
configure works _for you_ without hassle, great.  Keep using it.

The original message that started this thread was what to do when it does
NOT work for you, and my point was in general it is much nicer to point at
the knob to tweak from the make invocation command line (or in config.mak)
than having you spend time on upgrade autoconf, generate configure and run
it.

Fanboys may say that autoconf generated configure is the greatest thing
since sliced bread.  But let's face it.  Honestly, the track record of
those people in keeping autoconf part in this project up-to-date has not
been all that great.  There are things that the generated configure file
does not detect nor configure correctly (we had --with-expat patch, and we
also saw "the trailing slash in template_dir definition in config.mak.in"
discussed fairly recently).  You are much better off tweaking known
peculiarity of your platform in config.mak, when configure does not work
out of box for you.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-02-06 22:12                   ` Junio C Hamano
@ 2009-03-01 15:56                     ` Joi Ellis
  2009-03-01 16:34                       ` Björn Steinbrink
  2009-03-05  9:06                       ` Andreas Ericsson
  0 siblings, 2 replies; 31+ messages in thread
From: Joi Ellis @ 2009-03-01 15:56 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jeff King, Miles Bader, Johannes Schindelin, git

On Fri, 6 Feb 2009, Junio C Hamano wrote:

> Jeff King <peff@peff.net> writes:
> 
> > Now, in this case, it was only one tweak and other responders have
> > already pointed him in the right direction. So just making that tweak
> > manually is probably the sane thing to do in this situation.
> >
> > But I wanted to point out that autoconf is not totally without value
> > here.
> 
> I am not saying something that strong, either.  If autoconf generated
> configure works _for you_ without hassle, great.  Keep using it.
> 
> The original message that started this thread was what to do when it does
> NOT work for you, and my point was in general it is much nicer to point at
> the knob to tweak from the make invocation command line (or in config.mak)
> than having you spend time on upgrade autoconf, generate configure and run
> it.

Actually, guys, if you go back and re-read my original message, I was
pointing out that if you use a 'git clone' to get a build tree, THERE IS
NO CONFIGURE SCRIPT in the tree.

The problem is not that the configure script does not work.  I pointed
out in the first paragraph that the configure script in the TARBALL
works just fine.  What I pointed out is that the build tree DOES NOT
PROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider
adding the configure script to the repository so that it gets pushed out 
in a clone.

> Fanboys may say that autoconf generated configure is the greatest thing
> since sliced bread.  But let's face it.  Honestly, the track record of
> those people in keeping autoconf part in this project up-to-date has not
> been all that great.  There are things that the generated configure file
> does not detect nor configure correctly (we had --with-expat patch, and we
> also saw "the trailing slash in template_dir definition in config.mak.in"
> discussed fairly recently).  You are much better off tweaking known
> peculiarity of your platform in config.mak, when configure does not work
> out of box for you.

I've been building and installing multi-platform *nix software on
various flavors for two decades now.  "./configure && make && make install" has 
been the standard build process even before GNU.  The whole point of
autoconf/configure/make tools is to eliminate the need to manually tweak
makefiles so that software is easily portable between platforms. 

I got such a rash of SNOTTY messages from you folks, all directed to me
privately, that I nearly deleted git from my laptop altogether.  You can be
sure I will not bother attempting to build git from a clone ever again.
I took the time to debug and diagnose the build failures I was getting,
and I tried to politely pass it along in case anyone cares.

Clearly, you don't.  I shall not waste your or my time any further.

-- 
Joi Ellis                    
gyles19@visi.com

No matter what we think of Linux versus FreeBSD, etc., the one thing I
really like about Linux is that it has Microsoft worried.  Anything
that kicks a monopoly in the pants has got to be good for something.
           - Chris Johnson

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-01 15:56                     ` Joi Ellis
@ 2009-03-01 16:34                       ` Björn Steinbrink
  2009-03-05  9:06                       ` Andreas Ericsson
  1 sibling, 0 replies; 31+ messages in thread
From: Björn Steinbrink @ 2009-03-01 16:34 UTC (permalink / raw)
  To: Joi Ellis
  Cc: Junio C Hamano, Jeff King, Miles Bader, Johannes Schindelin, git

On 2009.03.01 09:56:46 -0600, Joi Ellis wrote:
> On Fri, 6 Feb 2009, Junio C Hamano wrote:
> 
> > Jeff King <peff@peff.net> writes:
> > 
> > > Now, in this case, it was only one tweak and other responders have
> > > already pointed him in the right direction. So just making that tweak
> > > manually is probably the sane thing to do in this situation.
> > >
> > > But I wanted to point out that autoconf is not totally without value
> > > here.
> > 
> > I am not saying something that strong, either.  If autoconf generated
> > configure works _for you_ without hassle, great.  Keep using it.
> > 
> > The original message that started this thread was what to do when it does
> > NOT work for you, and my point was in general it is much nicer to point at
> > the knob to tweak from the make invocation command line (or in config.mak)
> > than having you spend time on upgrade autoconf, generate configure and run
> > it.
> 
> Actually, guys, if you go back and re-read my original message, I was
> pointing out that if you use a 'git clone' to get a build tree, THERE IS
> NO CONFIGURE SCRIPT in the tree.

And Junio was talking about the Makefile not working for you. And btw,
if you want a real chicken/egg problem, go complaining to the autoconf
folks that the autoconf git repository has no configure script either.
And autoconf actually requires autoconf for bootstrapping AFAICT, while
git does not. I'm sure they'll be happy to explain to you why having a
generated configure script in the repo is not a good idea.

Björn

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-01 15:56                     ` Joi Ellis
  2009-03-01 16:34                       ` Björn Steinbrink
@ 2009-03-05  9:06                       ` Andreas Ericsson
  2009-03-05 11:37                         ` John Tapsell
  1 sibling, 1 reply; 31+ messages in thread
From: Andreas Ericsson @ 2009-03-05  9:06 UTC (permalink / raw)
  To: gyles19; +Cc: Junio C Hamano, Jeff King, Miles Bader, Johannes Schindelin, git

Joi Ellis wrote:
> On Fri, 6 Feb 2009, Junio C Hamano wrote:
> 
>> Jeff King <peff@peff.net> writes:
>>
>>> Now, in this case, it was only one tweak and other responders have
>>> already pointed him in the right direction. So just making that tweak
>>> manually is probably the sane thing to do in this situation.
>>>
>>> But I wanted to point out that autoconf is not totally without value
>>> here.
>> I am not saying something that strong, either.  If autoconf generated
>> configure works _for you_ without hassle, great.  Keep using it.
>>
>> The original message that started this thread was what to do when it does
>> NOT work for you, and my point was in general it is much nicer to point at
>> the knob to tweak from the make invocation command line (or in config.mak)
>> than having you spend time on upgrade autoconf, generate configure and run
>> it.
> 
> Actually, guys, if you go back and re-read my original message, I was
> pointing out that if you use a 'git clone' to get a build tree, THERE IS
> NO CONFIGURE SCRIPT in the tree.
> 
> The problem is not that the configure script does not work.  I pointed
> out in the first paragraph that the configure script in the TARBALL
> works just fine.  What I pointed out is that the build tree DOES NOT
> PROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider
> adding the configure script to the repository so that it gets pushed out 
> in a clone.
> 
>> Fanboys may say that autoconf generated configure is the greatest thing
>> since sliced bread.  But let's face it.  Honestly, the track record of
>> those people in keeping autoconf part in this project up-to-date has not
>> been all that great.  There are things that the generated configure file
>> does not detect nor configure correctly (we had --with-expat patch, and we
>> also saw "the trailing slash in template_dir definition in config.mak.in"
>> discussed fairly recently).  You are much better off tweaking known
>> peculiarity of your platform in config.mak, when configure does not work
>> out of box for you.
> 
> I've been building and installing multi-platform *nix software on
> various flavors for two decades now.  "./configure && make && make install" has 
> been the standard build process even before GNU.  The whole point of
> autoconf/configure/make tools is to eliminate the need to manually tweak
> makefiles so that software is easily portable between platforms. 
> 

./configure is a generated script. Including it in the repository is not
something many projects do, since one of the things developers will be
working on is to change how that file is generated. Including it in the
release tar-balls is something every project (that uses autoconf) does,
since those are aimed at end-users.

It has not been the standard since before GNU, as the GNU project was
started quite a long time (well over a decade) before autoconf's inception.

> I got such a rash of SNOTTY messages from you folks, all directed to me
> privately, that I nearly deleted git from my laptop altogether.

I guess you're referring to the "To: " and "Cc: " fields of the emails
you received containing your address. For this particular list, that's
part of how we do things. It's quite common on high-volume lists to do
that, as people would otherwise have to sift through *all* the mail on
the list to figure out which emails are replies to their own questions
or patches. Somewhere in the Cc list you will see git@vger.kernel.org,
I'm sure.

>  You can be
> sure I will not bother attempting to build git from a clone ever again.
> I took the time to debug and diagnose the build failures I was getting,
> and I tried to politely pass it along in case anyone cares.
> 

Thank you for that.

> Clearly, you don't.  I shall not waste your or my time any further.
> 

And again, thank you for that.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-05  9:06                       ` Andreas Ericsson
@ 2009-03-05 11:37                         ` John Tapsell
  2009-03-05 12:06                           ` Jeff King
  0 siblings, 1 reply; 31+ messages in thread
From: John Tapsell @ 2009-03-05 11:37 UTC (permalink / raw)
  To: Git Mailing List

2009/3/5 Andreas Ericsson <ae@op5.se>:
> Joi Ellis wrote:
>>
>> On Fri, 6 Feb 2009, Junio C Hamano wrote:
>>
>>> Jeff King <peff@peff.net> writes:
>>>
>>>> Now, in this case, it was only one tweak and other responders have
>>>> already pointed him in the right direction. So just making that tweak
>>>> manually is probably the sane thing to do in this situation.
>>>>
>>>> But I wanted to point out that autoconf is not totally without value
>>>> here.
>>>
>>> I am not saying something that strong, either.  If autoconf generated
>>> configure works _for you_ without hassle, great.  Keep using it.
>>>
>>> The original message that started this thread was what to do when it does
>>> NOT work for you, and my point was in general it is much nicer to point
>>> at
>>> the knob to tweak from the make invocation command line (or in
>>> config.mak)
>>> than having you spend time on upgrade autoconf, generate configure and
>>> run
>>> it.
>>
>> Actually, guys, if you go back and re-read my original message, I was
>> pointing out that if you use a 'git clone' to get a build tree, THERE IS
>> NO CONFIGURE SCRIPT in the tree.
>>
>> The problem is not that the configure script does not work.  I pointed
>> out in the first paragraph that the configure script in the TARBALL
>> works just fine.  What I pointed out is that the build tree DOES NOT
>> PROVIDE THE CONFIGURE SCRIPT.  All I asked you to do is to consider
>> adding the configure script to the repository so that it gets pushed out
>> in a clone.
>>
>>> Fanboys may say that autoconf generated configure is the greatest thing
>>> since sliced bread.  But let's face it.  Honestly, the track record of
>>> those people in keeping autoconf part in this project up-to-date has not
>>> been all that great.  There are things that the generated configure file
>>> does not detect nor configure correctly (we had --with-expat patch, and
>>> we
>>> also saw "the trailing slash in template_dir definition in config.mak.in"
>>> discussed fairly recently).  You are much better off tweaking known
>>> peculiarity of your platform in config.mak, when configure does not work
>>> out of box for you.
>>
>> I've been building and installing multi-platform *nix software on
>> various flavors for two decades now.  "./configure && make && make
>> install" has been the standard build process even before GNU.  The whole
>> point of
>> autoconf/configure/make tools is to eliminate the need to manually tweak
>> makefiles so that software is easily portable between platforms.
>
> ./configure is a generated script. Including it in the repository is not
> something many projects do, since one of the things developers will be
> working on is to change how that file is generated. Including it in the
> release tar-balls is something every project (that uses autoconf) does,
> since those are aimed at end-users.

Reason that it should be included:

* configure scripts usually are included.  git was the first source
code in a long time that I've seen without one
* we have lots other files in git.git that are autogenerated (the
documentation files, for example)
* people are used to being able to do "./configure; make; make install"
* It doesn't hurt anyone to do it.

John

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-05 11:37                         ` John Tapsell
@ 2009-03-05 12:06                           ` Jeff King
  2009-03-05 12:38                             ` Matthieu Moy
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff King @ 2009-03-05 12:06 UTC (permalink / raw)
  To: John Tapsell; +Cc: Git Mailing List

On Thu, Mar 05, 2009 at 11:37:45AM +0000, John Tapsell wrote:

> > ./configure is a generated script. Including it in the repository is not
> > something many projects do, since one of the things developers will be
> > working on is to change how that file is generated. Including it in the
> > release tar-balls is something every project (that uses autoconf) does,
> > since those are aimed at end-users.
> 
> Reason that it should be included:
> 
> * configure scripts usually are included.  git was the first source
> code in a long time that I've seen without one

I think you are confusing "checked into version control" with
"distributed with release tarballs". Most projects do not do the
former[1], but almost all (including git) do the latter.

This discussion is about things checked into the repository.

[1] Sorry, I don't have exact numbers, but I have never encountered this
before.

> * we have lots other files in git.git that are autogenerated (the
> documentation files, for example)

I'm not aware of any auto-generated files that are checked in. Can you
give an example?

> * people are used to being able to do "./configure; make; make install"

Right. They do it from the release tarball. Getting the version straight
from source-control usually means you have to have autoconf if you want
to run it.

> * It doesn't hurt anyone to do it.

Yes, it does. Having generated files in your source repository means:

  - you generate useless noise commits when those files are
    re-autogenerated

  - developers must make sure that they are not accidentally committing
    auto-generated cruft that have nothing to do with their actual
    changes

-Peff

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-05 12:06                           ` Jeff King
@ 2009-03-05 12:38                             ` Matthieu Moy
  2009-03-05 12:45                               ` Jeff King
  0 siblings, 1 reply; 31+ messages in thread
From: Matthieu Moy @ 2009-03-05 12:38 UTC (permalink / raw)
  To: Jeff King; +Cc: John Tapsell, Git Mailing List

Jeff King <peff@peff.net> writes:

>> * we have lots other files in git.git that are autogenerated (the
>> documentation files, for example)
>
> I'm not aware of any auto-generated files that are checked in. Can you
> give an example?

man pages and html docs are commited, but in a separate branch. IOW,
Junio abuses Git as a distribution mechanism, but keeps it totally
separate from the actual sources.

> Yes, it does. Having generated files in your source repository means:
>
>   - you generate useless noise commits when those files are
>     re-autogenerated
>
>   - developers must make sure that they are not accidentally committing
>     auto-generated cruft that have nothing to do with their actual
>     changes

- You almost certainly get irrelevant conflicts when merging.

- Different developers using different autoconf versions that generate
  different code for the same source make even more noise that you'd
  expect ;-).

-- 
Matthieu

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-05 12:38                             ` Matthieu Moy
@ 2009-03-05 12:45                               ` Jeff King
  2009-03-06 10:39                                 ` Jakub Narebski
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff King @ 2009-03-05 12:45 UTC (permalink / raw)
  To: Matthieu Moy; +Cc: John Tapsell, Git Mailing List

On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:

> >> * we have lots other files in git.git that are autogenerated (the
> >> documentation files, for example)
> >
> > I'm not aware of any auto-generated files that are checked in. Can you
> > give an example?
> 
> man pages and html docs are commited, but in a separate branch. IOW,
> Junio abuses Git as a distribution mechanism, but keeps it totally
> separate from the actual sources.

OK, true; but that is a totally different mechanism, unless the proposal
is to autobuild a "this would be the release tarball" branch similar to
html and man branches.

-Peff

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-05 12:45                               ` Jeff King
@ 2009-03-06 10:39                                 ` Jakub Narebski
  2009-03-06 10:51                                   ` Matthieu Moy
  2009-03-06 11:04                                   ` Johannes Schindelin
  0 siblings, 2 replies; 31+ messages in thread
From: Jakub Narebski @ 2009-03-06 10:39 UTC (permalink / raw)
  To: Jeff King; +Cc: Matthieu Moy, John Tapsell, Git Mailing List

Jeff King <peff@peff.net> writes:
> On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:
> 
>>>> * we have lots other files in git.git that are autogenerated (the
>>>> documentation files, for example)
>>>
>>> I'm not aware of any auto-generated files that are checked in. Can you
>>> give an example?
>> 
>> man pages and html docs are commited, but in a separate branch. IOW,
>> Junio abuses Git as a distribution mechanism, but keeps it totally
>> separate from the actual sources.
> 
> OK, true; but that is a totally different mechanism, unless the proposal
> is to autobuild a "this would be the release tarball" branch similar to
> html and man branches.

I thnk the proposal was to have 'configure' branch with configure
script built, similar to how 'html' and 'man' branches have built
documentation in HTML and manpages format.

However while toolchain needed to produce documentation (asciidoc +
xmlto) isn't, I think, something very common, in my opinion autoconf
is something that is present on systems containing other build tools
required to build git from sources.  So 'configure' branch is not, I
think, as necessary as 'html' and 'man' branches; additionally 'html'
branch (or the repository used to build documentation, or the
byproduct of building documentation) is used to generate on-line docs
for git.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 10:39                                 ` Jakub Narebski
@ 2009-03-06 10:51                                   ` Matthieu Moy
  2009-03-06 11:04                                   ` Johannes Schindelin
  1 sibling, 0 replies; 31+ messages in thread
From: Matthieu Moy @ 2009-03-06 10:51 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: Jeff King, John Tapsell, Git Mailing List

Jakub Narebski <jnareb@gmail.com> writes:

> However while toolchain needed to produce documentation (asciidoc +
> xmlto) isn't, I think, something very common, in my opinion autoconf
> is something that is present on systems containing other build tools
> required to build git from sources.

Plus:

* an old ./configure script (taken from a previous tarball release)
  has good chance to work on a new Git. Since Makefile is designed to
  be useable without scripting, Junnio takes great care not to break
  existing setups.

* ./configure script is not mandatory to build Git from sources.

-- 
Matthieu

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 10:39                                 ` Jakub Narebski
  2009-03-06 10:51                                   ` Matthieu Moy
@ 2009-03-06 11:04                                   ` Johannes Schindelin
  2009-03-06 11:27                                     ` John Tapsell
  1 sibling, 1 reply; 31+ messages in thread
From: Johannes Schindelin @ 2009-03-06 11:04 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: Jeff King, Matthieu Moy, John Tapsell, Git Mailing List

Hi,

On Fri, 6 Mar 2009, Jakub Narebski wrote:

> Jeff King <peff@peff.net> writes:
> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:
> > 
> >>>> * we have lots other files in git.git that are autogenerated (the
> >>>> documentation files, for example)
> >>>
> >>> I'm not aware of any auto-generated files that are checked in. Can you
> >>> give an example?
> >> 
> >> man pages and html docs are commited, but in a separate branch. IOW,
> >> Junio abuses Git as a distribution mechanism, but keeps it totally
> >> separate from the actual sources.
> > 
> > OK, true; but that is a totally different mechanism, unless the proposal
> > is to autobuild a "this would be the release tarball" branch similar to
> > html and man branches.
> 
> I thnk the proposal was to have 'configure' branch with configure
> script built, similar to how 'html' and 'man' branches have built
> documentation in HTML and manpages format.
> 
> However while toolchain needed to produce documentation (asciidoc + 
> xmlto) isn't, I think, something very common, in my opinion autoconf is 
> something that is present on systems containing other build tools 
> required to build git from sources.  So 'configure' branch is not, I 
> think, as necessary as 'html' and 'man' branches; additionally 'html' 
> branch (or the repository used to build documentation, or the byproduct 
> of building documentation) is used to generate on-line docs for git.

Plus, keep in mind that autoconf support is only an afterthought in Git; 
Just running "make" is supposed to work.  If it does not, patches are 
certainly welcome, I think.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 11:04                                   ` Johannes Schindelin
@ 2009-03-06 11:27                                     ` John Tapsell
  2009-03-06 12:02                                       ` asciidoc, was " Johannes Schindelin
  0 siblings, 1 reply; 31+ messages in thread
From: John Tapsell @ 2009-03-06 11:27 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Jakub Narebski, Jeff King, Matthieu Moy, Git Mailing List

2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> Hi,
>
> On Fri, 6 Mar 2009, Jakub Narebski wrote:
>
>> Jeff King <peff@peff.net> writes:
>> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:
>> >
>> >>>> * we have lots other files in git.git that are autogenerated (the
>> >>>> documentation files, for example)
>> >>>
>> >>> I'm not aware of any auto-generated files that are checked in. Can you
>> >>> give an example?
>> >>
>> >> man pages and html docs are commited, but in a separate branch. IOW,
>> >> Junio abuses Git as a distribution mechanism, but keeps it totally
>> >> separate from the actual sources.
>> >
>> > OK, true; but that is a totally different mechanism, unless the proposal
>> > is to autobuild a "this would be the release tarball" branch similar to
>> > html and man branches.
>>
>> I thnk the proposal was to have 'configure' branch with configure
>> script built, similar to how 'html' and 'man' branches have built
>> documentation in HTML and manpages format.
>>
>> However while toolchain needed to produce documentation (asciidoc +
>> xmlto) isn't, I think, something very common, in my opinion autoconf is
>> something that is present on systems containing other build tools
>> required to build git from sources.  So 'configure' branch is not, I
>> think, as necessary as 'html' and 'man' branches; additionally 'html'
>> branch (or the repository used to build documentation, or the byproduct
>> of building documentation) is used to generate on-line docs for git.
>
> Plus, keep in mind that autoconf support is only an afterthought in Git;
> Just running "make" is supposed to work.  If it does not, patches are
> certainly welcome, I think.

Well now that you mention it.. :-)

It doesn't check for the existance of asciidoc, but blindly assumes it
exists.  And even if you do have asciidoc, there's a good chance that
you have the wrong version.   The INSTALL file says that asciidoc
requires 8.2.7 but most distros (debian, ubuntu.  probably other) have
8.2.6.
If you compile the docs with the wrong asciidoc version, there is no
warning or error at all.  It just builds incorrect man pages.

John

^ permalink raw reply	[flat|nested] 31+ messages in thread

* asciidoc, was Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 11:27                                     ` John Tapsell
@ 2009-03-06 12:02                                       ` Johannes Schindelin
  2009-03-06 12:28                                         ` John Tapsell
  0 siblings, 1 reply; 31+ messages in thread
From: Johannes Schindelin @ 2009-03-06 12:02 UTC (permalink / raw)
  To: John Tapsell; +Cc: Jakub Narebski, Jeff King, Matthieu Moy, Git Mailing List

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2548 bytes --]

Hi,

On Fri, 6 Mar 2009, John Tapsell wrote:

> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>
> > On Fri, 6 Mar 2009, Jakub Narebski wrote:
> >
> >> Jeff King <peff@peff.net> writes:
> >> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:
> >> >
> >> >>>> * we have lots other files in git.git that are autogenerated (the
> >> >>>> documentation files, for example)
> >> >>>
> >> >>> I'm not aware of any auto-generated files that are checked in. Can you
> >> >>> give an example?
> >> >>
> >> >> man pages and html docs are commited, but in a separate branch. IOW,
> >> >> Junio abuses Git as a distribution mechanism, but keeps it totally
> >> >> separate from the actual sources.
> >> >
> >> > OK, true; but that is a totally different mechanism, unless the proposal
> >> > is to autobuild a "this would be the release tarball" branch similar to
> >> > html and man branches.
> >>
> >> I thnk the proposal was to have 'configure' branch with configure
> >> script built, similar to how 'html' and 'man' branches have built
> >> documentation in HTML and manpages format.
> >>
> >> However while toolchain needed to produce documentation (asciidoc +
> >> xmlto) isn't, I think, something very common, in my opinion autoconf is
> >> something that is present on systems containing other build tools
> >> required to build git from sources.  So 'configure' branch is not, I
> >> think, as necessary as 'html' and 'man' branches; additionally 'html'
> >> branch (or the repository used to build documentation, or the byproduct
> >> of building documentation) is used to generate on-line docs for git.
> >
> > Plus, keep in mind that autoconf support is only an afterthought in Git;
> > Just running "make" is supposed to work.  If it does not, patches are
> > certainly welcome, I think.
> 
> Well now that you mention it.. :-)
> 
> It doesn't check for the existance of asciidoc, but blindly assumes it
> exists.  And even if you do have asciidoc, there's a good chance that
> you have the wrong version.   The INSTALL file says that asciidoc
> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have
> 8.2.6.
> If you compile the docs with the wrong asciidoc version, there is no
> warning or error at all.  It just builds incorrect man pages.

Frankly, I was talking about "make".  I never needed asciidoc there.

Besides, if it is really an itch of yours, maybe you can come up with a 
patch checking for a correct asciidoc version?  Only if asciidoc would be 
needed at all, of course.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 12:02                                       ` asciidoc, was " Johannes Schindelin
@ 2009-03-06 12:28                                         ` John Tapsell
  2009-03-06 13:15                                           ` Jakub Narebski
  0 siblings, 1 reply; 31+ messages in thread
From: John Tapsell @ 2009-03-06 12:28 UTC (permalink / raw)
  To: Johannes Schindelin
  Cc: Jakub Narebski, Jeff King, Matthieu Moy, Git Mailing List

2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> Hi,
>
> On Fri, 6 Mar 2009, John Tapsell wrote:
>
>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>>
>> > On Fri, 6 Mar 2009, Jakub Narebski wrote:
>> >
>> >> Jeff King <peff@peff.net> writes:
>> >> > On Thu, Mar 05, 2009 at 01:38:27PM +0100, Matthieu Moy wrote:
>> >> >
>> >> >>>> * we have lots other files in git.git that are autogenerated (the
>> >> >>>> documentation files, for example)
>> >> >>>
>> >> >>> I'm not aware of any auto-generated files that are checked in. Can you
>> >> >>> give an example?
>> >> >>
>> >> >> man pages and html docs are commited, but in a separate branch. IOW,
>> >> >> Junio abuses Git as a distribution mechanism, but keeps it totally
>> >> >> separate from the actual sources.
>> >> >
>> >> > OK, true; but that is a totally different mechanism, unless the proposal
>> >> > is to autobuild a "this would be the release tarball" branch similar to
>> >> > html and man branches.
>> >>
>> >> I thnk the proposal was to have 'configure' branch with configure
>> >> script built, similar to how 'html' and 'man' branches have built
>> >> documentation in HTML and manpages format.
>> >>
>> >> However while toolchain needed to produce documentation (asciidoc +
>> >> xmlto) isn't, I think, something very common, in my opinion autoconf is
>> >> something that is present on systems containing other build tools
>> >> required to build git from sources.  So 'configure' branch is not, I
>> >> think, as necessary as 'html' and 'man' branches; additionally 'html'
>> >> branch (or the repository used to build documentation, or the byproduct
>> >> of building documentation) is used to generate on-line docs for git.
>> >
>> > Plus, keep in mind that autoconf support is only an afterthought in Git;
>> > Just running "make" is supposed to work.  If it does not, patches are
>> > certainly welcome, I think.
>>
>> Well now that you mention it.. :-)
>>
>> It doesn't check for the existance of asciidoc, but blindly assumes it
>> exists.  And even if you do have asciidoc, there's a good chance that
>> you have the wrong version.   The INSTALL file says that asciidoc
>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have
>> 8.2.6.
>> If you compile the docs with the wrong asciidoc version, there is no
>> warning or error at all.  It just builds incorrect man pages.
>
> Frankly, I was talking about "make".  I never needed asciidoc there.
>
> Besides, if it is really an itch of yours, maybe you can come up with a
> patch checking for a correct asciidoc version?  Only if asciidoc would be
> needed at all, of course.

Yep.  I've been looking at it for the last half hour, but configure.ac
syntax defeats me :-D   (I figured getting the check into configure.ac
 would be a good first start)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 12:28                                         ` John Tapsell
@ 2009-03-06 13:15                                           ` Jakub Narebski
  2009-03-06 13:39                                             ` John Tapsell
  0 siblings, 1 reply; 31+ messages in thread
From: Jakub Narebski @ 2009-03-06 13:15 UTC (permalink / raw)
  To: John Tapsell
  Cc: Johannes Schindelin, Jeff King, Matthieu Moy, Git Mailing List

On Fri, 6 March 2009, John Tapsell wrote:
> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>> On Fri, 6 Mar 2009, John Tapsell wrote:
>>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>>>> On Fri, 6 Mar 2009, Jakub Narebski wrote:

>>>>> However while toolchain needed to produce documentation (asciidoc +
>>>>> xmlto) isn't, I think, something very common, in my opinion autoconf is
>>>>> something that is present on systems containing other build tools
>>>>> required to build git from sources.  So 'configure' branch is not, I
>>>>> think, as necessary as 'html' and 'man' branches; additionally 'html'
>>>>> branch (or the repository used to build documentation, or the byproduct
>>>>> of building documentation) is used to generate on-line docs for git.
>>>>
>>>> Plus, keep in mind that autoconf support is only an afterthought in Git;
>>>> Just running "make" is supposed to work.  If it does not, patches are
>>>> certainly welcome, I think.
>>>
>>> Well now that you mention it.. :-)
>>>
>>> It doesn't check for the existance of asciidoc, but blindly assumes it
>>> exists.  And even if you do have asciidoc, there's a good chance that
>>> you have the wrong version.   The INSTALL file says that asciidoc
>>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have
>>> 8.2.6.

Do you mean here Makefile checks, or do you mean ./configure checking
for existing asciidoc toolchain, and for asciidoc version?

>>> If you compile the docs with the wrong asciidoc version, there is no
>>> warning or error at all.  It just builds incorrect man pages.
>>
>> Frankly, I was talking about "make".  I never needed asciidoc there.
>>
>> Besides, if it is really an itch of yours, maybe you can come up with a
>> patch checking for a correct asciidoc version?  Only if asciidoc would be
>> needed at all, of course.
> 
> Yep.  I've been looking at it for the last half hour, but configure.ac
> syntax defeats me :-D   (I figured getting the check into configure.ac
> would be a good first start)

Errr... doesn't configure.ac have checking for asciidoc version? Search
for AC_CHECK_PROGS(ASCIIDOC, [asciidoc]). Perhaps tests should be more
detailed, or something...

-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: asciidoc, was Re: Chicken/egg problem building from a 'git clone'
  2009-03-06 13:15                                           ` Jakub Narebski
@ 2009-03-06 13:39                                             ` John Tapsell
  0 siblings, 0 replies; 31+ messages in thread
From: John Tapsell @ 2009-03-06 13:39 UTC (permalink / raw)
  To: Jakub Narebski
  Cc: Johannes Schindelin, Jeff King, Matthieu Moy, Git Mailing List

2009/3/6 Jakub Narebski <jnareb@gmail.com>:
> On Fri, 6 March 2009, John Tapsell wrote:
>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>>> On Fri, 6 Mar 2009, John Tapsell wrote:
>>>> 2009/3/6 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>>>>> On Fri, 6 Mar 2009, Jakub Narebski wrote:
>
>>>>>> However while toolchain needed to produce documentation (asciidoc +
>>>>>> xmlto) isn't, I think, something very common, in my opinion autoconf is
>>>>>> something that is present on systems containing other build tools
>>>>>> required to build git from sources.  So 'configure' branch is not, I
>>>>>> think, as necessary as 'html' and 'man' branches; additionally 'html'
>>>>>> branch (or the repository used to build documentation, or the byproduct
>>>>>> of building documentation) is used to generate on-line docs for git.
>>>>>
>>>>> Plus, keep in mind that autoconf support is only an afterthought in Git;
>>>>> Just running "make" is supposed to work.  If it does not, patches are
>>>>> certainly welcome, I think.
>>>>
>>>> Well now that you mention it.. :-)
>>>>
>>>> It doesn't check for the existance of asciidoc, but blindly assumes it
>>>> exists.  And even if you do have asciidoc, there's a good chance that
>>>> you have the wrong version.   The INSTALL file says that asciidoc
>>>> requires 8.2.7 but most distros (debian, ubuntu.  probably other) have
>>>> 8.2.6.
>
> Do you mean here Makefile checks, or do you mean ./configure checking
> for existing asciidoc toolchain, and for asciidoc version?

Well presumably both would have to check, since you can run make
without configure.  I just figured starting with configure would be
easiest.

>
>>>> If you compile the docs with the wrong asciidoc version, there is no
>>>> warning or error at all.  It just builds incorrect man pages.
>>>
>>> Frankly, I was talking about "make".  I never needed asciidoc there.
>>>
>>> Besides, if it is really an itch of yours, maybe you can come up with a
>>> patch checking for a correct asciidoc version?  Only if asciidoc would be
>>> needed at all, of course.
>>
>> Yep.  I've been looking at it for the last half hour, but configure.ac
>> syntax defeats me :-D   (I figured getting the check into configure.ac
>> would be a good first start)
>
> Errr... doesn't configure.ac have checking for asciidoc version? Search
> for AC_CHECK_PROGS(ASCIIDOC, [asciidoc]). Perhaps tests should be more
> detailed, or something...

Yeah I saw that - it checks if you have version 7.* or 8.*. I just
don't know how to check if the version is >= .8.2.7.

John

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2009-03-06 13:40 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-06  4:09 Chicken/egg problem building from a 'git clone' Joi Ellis
2009-02-06  4:32 ` Johannes Schindelin
2009-02-06  4:45   ` Joi Ellis
2009-02-06  5:12     ` Miles Bader
2009-02-06  5:36       ` Junio C Hamano
2009-02-06  5:49         ` Miles Bader
2009-02-06  8:12           ` Junio C Hamano
2009-02-06  9:31             ` Miles Bader
2009-02-06 10:28               ` Junio C Hamano
2009-02-06 10:35                 ` Miles Bader
2009-02-06 19:25                 ` Jeff King
2009-02-06 22:12                   ` Junio C Hamano
2009-03-01 15:56                     ` Joi Ellis
2009-03-01 16:34                       ` Björn Steinbrink
2009-03-05  9:06                       ` Andreas Ericsson
2009-03-05 11:37                         ` John Tapsell
2009-03-05 12:06                           ` Jeff King
2009-03-05 12:38                             ` Matthieu Moy
2009-03-05 12:45                               ` Jeff King
2009-03-06 10:39                                 ` Jakub Narebski
2009-03-06 10:51                                   ` Matthieu Moy
2009-03-06 11:04                                   ` Johannes Schindelin
2009-03-06 11:27                                     ` John Tapsell
2009-03-06 12:02                                       ` asciidoc, was " Johannes Schindelin
2009-03-06 12:28                                         ` John Tapsell
2009-03-06 13:15                                           ` Jakub Narebski
2009-03-06 13:39                                             ` John Tapsell
2009-02-06  5:14     ` Björn Steinbrink
2009-02-06 11:34     ` Johannes Schindelin
2009-02-06  4:44 ` Björn Steinbrink
2009-02-06 19:06 ` Daniel Barkalow

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 NNTP newsgroup(s).