autoconf
[Top][All Lists]
Advanced

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

Re: Package version number, autoconf, automake


From: Bob Friesenhahn
Subject: Re: Package version number, autoconf, automake
Date: Fri, 12 Apr 2019 14:44:26 -0500 (CDT)
User-agent: Alpine 2.20 (GSO 67 2015-01-07)

On Fri, 12 Apr 2019, Vivien Kraus wrote:

Hello,

Please excuse me if this is not relevant.  I'm only trying to help.

The version definition can be done in configure.ac, but if you use git, and 
especially git tags (full tags, i.e. signed:
this is important), there is a little-known script named git-version-gen that 
computes the git version from:
1. The git tags, commit hash, number of commits since the tags, and whether the 
code corresponds to a clean commit;
2. A ".version" file;
3. A ".tarball-version" that is added so that the version can be used even in a 
distribution.

You can get a copy of the script through gnulib, it is named "git-version-gen".

It contains instructions in the script file for how to add it to the project.  
So if this is not what you want, maybe
you could mimic that script to define your package version otherwise.

Recently I encountered strace release 5.0 which uses this script. Since I downloaded strace source code via a tarball I was unable to modify the autotools portions of this package. At least, the git-version-gen script and others mentioned by configure.ac were not included in the tarball so 'autoreconf' completely failed. This hindered my freedom to use the software as I intended and in my opinion, failing to deliver all scripts in the tarball is contrary to GNU GPL principles.

After this, I noticed that the version number for the strace provided by Ubuntu Linux 18.04 is declared as the string "UNDEFINED" (rather than a number), which was not helpful for me, and indicates a complete failure to communicate the version to me. Perhaps Ubuntu applied a patch to work-around the lack of access to a git repository in their build process.

In my opinion, release tarballs should be produced in such a way that the recipient is free to readily perform modifications of any component in the tarball without requiring access to the version control system where the tarball originated from.

Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
Public Key,     http://www.simplesystems.org/users/bfriesen/public-key.txt



reply via email to

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