As you will see from a previous email today, I'm not over-keen on the
use of unstable snapshots, but I'm aware they are sometimes necessary

http://www.sagemath.org/doc/developer/patching_spkgs.html#bumping-up-an-spkg-s-version

says "If the upstream package is taken from some revision other than a
stable version, you need to append the date at which the revision is
made, e.g. the Singular package singular-3-1-0-4-20090818.p3.spkg is
made with the revision as of 2009-08-18."

IMHO this is not a good idea, as in practice what happens is sometime
comes along and patches that package, *without* using a new snapshot,
they change the date to that of the day they edited it. I've seen this
several times. Taking Singular as an example, we see:


=== singular-3-1-0-4-20100214 (William Stein, February 14, 2010) ===
 * patch for Cygwin (trac 7338)

=== singular-3-1-0-4-20100120 (Martin Albrecht, January 20th, 2010) ===
 * installing attrib.h from Singular

So William updated this by adding a patch for Cygwin. The change in
date suggest this is a more recent snapshot, but in fact its not.
IMHO, it should have been called singular-3-1-0-4-20100120.p0

This is what happens further down the package we see:

=== singular-3-0-4-4-20080711.p1 (Michael Abshoff, September 1st, 2008) ===
 * Fix three Solaris issues: libsingular build options, tail POSIX issue and ins
tall missing on Solaris

=== singular-3-0-4-4-20080711.p0 (Michael Abshoff, August 19th, 2008) ===
 * add 64 bit OSX support
 * Fix mv-factoprization bug reported by Tom Boothby

=== singular-3-0-4-4-20080711 (Martin Albrecht, July 11th, 2008) ===
 * new upstream release


In fact, if you look in the Singular package, you will find a variety
of different ways the date has been changed on the package. Some
people have incremented a patch level, others have changed the date.
Some people have used different methods at different times they
upgraded.

This is not a huge blocker issue, but it means one has no idea how
new/old the snapshot is from the date on the package.

I can see a few answers to this problem.

1) Make it clearer in the Sage developers guide that if a patch is
made, without updating the snapshort, then .p0 must be appended and
the date not changed. I'm not convinced this would work, but it might
be better than nothing.

2) Always starts new packages at .p0. So nobody ever creates one like
mpir 2.0.0, but instead calls it mpir-2.0.0.p0.

3) Add to the package name something like
"date-snapshot-was-retrieved. So the next one becomes

singular-3-1-0-4-20100120-date-snapshot-was-retrieved..p0



Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to