axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Axiom version numbering


From: daly
Subject: [Axiom-developer] Axiom version numbering
Date: Mon, 25 Jun 2007 03:41:49 -0500

> Only, the CHANGELOG is not installed.

Eh? <http://axiom.svn.sourceforge.net/viewvc/axiom/trunk/axiom>
shows CHANGELOG in revision 631 of the trunk. Why is CHANGELOG
not installed? Can you SVN get the file?

> People installing a binary of axiom from Mathaction or via debian
> have even less possibility to tell us what version they are using.

Why? Are these versions suppressing the banner? Is CHANGELOG missing?



Question: When was this image built? Has it been rebuilt?

When Axiom builds it creates a file called lastBuildDate in the home
directory of the Axiom build. The date and time stamp from this file
identifies the exact date and time of the build. The date and time
stamp is 
 (a) set as the value of the *yearweek* variable in the image. Try:
       )lisp *yearweek*
       Value = "Friday May 18, 2007 at 00:44:15 "
     Thus you can write programs which depend in the date and time
     of the current build image.

 (b) The *yearweek* variable is printed in the banner.
     Thus you know when or if the image has been rebuilt.

In a binary distribution you can tell when the image was built and
you can tell if the user rebuilt it after receiving the binary image.



Question: What "Axiom" sources were used to build the image?

Distributions are only updated on a reasonably infrequent basis.  Thus
the finest grain of change need only identify the month and year of
the sources.  (Scratchpad was "released" weekly, hence the name
"yearweek")

When you get a distribution the month and year of the source tree
is encoded into the top level Makefile as the first line:
  head -1 Makefile
  VERSION="Axiom (May 2007)"
This information is also printed in the banner.

For exact details of the changes the top line of CHANGELOG suffices:
  head -1 CHANGELOG
  20070617 tpd src/interp/inpter-proclaims remove unused arg from $FCOPY
since the CHANGELOG is updated for every change since August 30, 2003.



Question: Which "Axiom Distribution" is this?

In rereading your post I think I understand the confusion. We are not
talking about the same thing when we say "Axiom". The above information
suffices to identify the exact version of an "Axiom distribution". By the
term "Axiom Distribution" I mean one intended for the outside world
which was built from either Arch, address@hidden, or address@hidden
"Distributions" intended for world use should be buit from these places.


By "Axiom distribution" you appear to mean something that came from
SVN or git or your local, non-isomorphic version. I fully agree that
these do not have "version numbers". But the versions are easy to find.

If you feel the need to identify specific SVN sources the SVN revision 
number seems appropriate. 
   svn log --revision COMMITTED

If you use git the whole source tree is exactly identified by an MD5 hash
which is the name of the current HEAD, e.g.
  cat .git/refs/heads/master
  7385d9f77d25d5ca71d76d89b21118d9e3d73fb5

If you want the ARCH version it is given by the directory name:
  Axiom--main--1--patch-50

If you have a local, non-isomorphic version I don't know.



Question: When posting a bug which "version" should I use?

That depends on where you root your sources. If you're using Gold
use the banner. If you're using Silver use the SVN revision number.
If you're using wh-sandbox use the SVN revision number. If you're
using Arch use the --patch number. If you're using git use the MD5 ref.
Since SVN and git are the same either the SVN revison or git ref is ok.



Question: When posting a diff which "version" should I use?

Posted diffs depend on what you intend to patch. 

Changes that are intended to go into the "Axiom distribution" should
be posted as a diff against either the Arch version (currently
--patch-50) or the SVN trunk (currently 637). Simply use one of the
methods below to identify your "version".

Posted diffs against branches are completely up to the branch maintainers.




Question: How should we identify "versions"?

For an "Axiom Distribution" use the banner.

For development, any way you'd like. You point out that build-improvements
prints the banner:
  Version: Axiom build-improvements branch 2006-11-26
but BI uses SVN. I'm not an SVN expert but I believe you can use the
date/time stamp against SVN. Probably something like:
  svn log --revision (2006-11-26)



As for the "version number" controvery my advice is to use any name
scheme you wish. 

I'll add this as a FAQ.

Tim





reply via email to

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