Activity versioning schema
C. Scott Ananian
cscott at laptop.org
Mon Jul 14 15:09:53 EDT 2008
2008/7/14 Eben Eliason <eben.eliason at gmail.com>:
> There was an extensive discussion on this topic a while back on IRC, which I
> unfortunately don't have a record of. There was also mention of this in the
> mailing lists not too long ago, initiated by
> Morgan: http://lists.laptop.org/pipermail/sugar/2008-May/005895.html.
> Finally, I brought this up at the end of a recent tech team meeting (1 or 2
> weeks ago?) as a topic that needed our attention in order to make the
> update/upgrade system work (specifically, regarding the need for minor
> versions so that we can make bugfixes to older versions of an activity (say,
> 4.x) while keeping 5.x for all versions that work with the next version of
> the OS). I think deciding how we version activities is a critical part of
> making our OS releases work, and can assist in the problem of answering
> "Which activities work with my release?". Answering 4.x is nicer than [34 -
> 42], and MUCH nicer than [36-38, 40, 42].
> The "agreement" I speak of was really a lack of any voiced disagreement when
> I mentioned this issue at the meeting.
>From extensive auditing of current activity version numbers:
a) a large number of activities are using completely random and bogus
strings for their version numbers. "Just an integer" is about the
simplest possible scheme, and people still don't get it. I'm
unconvinced that any more complicated scheme will work better.
b) There is an alternative mechanism already in place for handling
dependencies on specific versions, documented in the [[Activity
bundles]] entry for 'update_url'. Basically, you can specify a
different version number as appropriate based on the current OS build,
release version, and release major version. So you can say, "version
8 if you are using 8.1, or version 9 if you are using 8.2".
A dotted integer scheme would let you "make space" between 8 and 9 if
needed, but there is no technical reason why you couldn't update the
activity info later to say, "version 10 if you are using 8.1, or
version 11 if you are using 8.2". It's not quite as pretty, but the
goal was to keep the activity bundle information as simple as
possible, and there is no *technical* reason we need to complicate it.
( http://cscott.net/ )
More information about the Devel