[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Don't infloop upon "make dist".

From: Jim Meyering
Subject: Re: [PATCH] Don't infloop upon "make dist".
Date: Sun, 02 Mar 2008 22:39:06 +0100

Eric Blake <address@hidden> wrote:

> According to Jim Meyering on 3/2/2008 9:39 AM:
> | I noticed that "make dist" would infloop.
> | This change fixes that and syncs the pieces
> | from coreutils and gnulib:
> |
> |     Don't infloop upon "make dist".
> |     * GNUmakefile: Merge from coreutils.
> |     * (dist-hook): Inject .tarball-version into tarball,
> |     not .version.
> |     * (AC_INIT): Use .tarball-version, not .version.
> No objections to the patch, per se, but a series of questions.  I'm trying
> to figure out if I understand the difference between .version and
> .tarball-version.  Are both files supposed to be present in a built
> tarball, or just .version?  It looks like I have to manually create

Good question.  This confused me for a while, too.
Coreutils uses both.  Currently, autoconf uses only .tarball-version.

> .tarball-version with the desired version contents just prior to running

You should never have to create .tarball-version manually.

> 'make major' when using GNUMakefile (since 'make major' is run before the
> tag is created,

Whoops.  That's backwards.  "make major" must be run *after* the
tag is created.  AFAIK, that's the only way I found that works.
I had to revamp the build/tag-related rules in coreutils'
Makefile.maint to reflect this.

> but git-version-gen needs either a file or an accurate
> tag, so I supply the file)?  And the contents of .tarball-version are the
> hint of what I plan on handing to 'git tag' after the make rule

As the name implies, that .tarball-version appears only in tarballs.
Never in your build directory, ever.

> successfully completes?  Otherwise, when not doing a formal release, I can
> delete .tarball-version to fall back to the extra level of intra-release
> version numbering?  Meanwhile, I never create .version manually; the
> GNUMakefile and install-hook rules take care of it?  Likewise, when using
> non-GNU make, the GNUMakefile rules aren't present, but 'make dist' is
> adequate for .version to be sensible?

In coreutils, I use .version for things like man pages that need to
depend on something to trigger a version-change-induced rebuild.
I suspect autoconf will want to do this, too, but I wanted to keep
today's infloop-fixing change small so omitted the .version-related parts.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]