Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-28 Thread Simon Schampijer

On 10/22/2010 07:00 PM, Simon Schampijer wrote:

On 10/07/2010 06:39 PM, Daniel Drake wrote:

On 4 October 2010 15:27, Gonzalo Odiardgonz...@laptop.org wrote:

What do others think about this approach? Packagers?


A clearer way to discuss this would be to just send a patch. That way
there is no doubt over the details of the implementation that you are
proposing.

Daniel


Hi Daniel,

that is what the current implementation looks like:

http://bugs.sugarlabs.org/attachment/ticket/2425/normalized_version.patch

Hope this helps,
Simon


I have been giving the patches another go and made some smaller fixes 
for error handling. I have tested them as well to make sure there are no 
regressions. I give them my ok.


http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Adopt-to-new-numbering-scheme-2425.patch

http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Add-new-numbering-scheme-2425.patch

Comments?

Regards,
   Simon
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-28 Thread C. Scott Ananian
On Thu, Oct 28, 2010 at 3:58 PM, Simon Schampijer si...@schampijer.de wrote:
 I have been giving the patches another go and made some smaller fixes for
 error handling. I have tested them as well to make sure there are no
 regressions. I give them my ok.

 http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Adopt-to-new-numbering-scheme-2425.patch

 http://bugs.sugarlabs.org/attachment/ticket/2425/0001-Add-new-numbering-scheme-2425.patch

Where's the documentation?  Does this code correspond to a concrete
proposal?  Or do we expect contributors to reverse engineer the
version scheme from pydoc sugar.bundle.bundleversion?
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-22 Thread Simon Schampijer

On 10/07/2010 06:39 PM, Daniel Drake wrote:

On 4 October 2010 15:27, Gonzalo Odiardgonz...@laptop.org  wrote:

What do others think about this approach? Packagers?


A clearer way to discuss this would be to just send a patch. That way
there is no doubt over the details of the implementation that you are
proposing.

Daniel


Hi Daniel,

that is what the current implementation looks like:

http://bugs.sugarlabs.org/attachment/ticket/2425/normalized_version.patch

Hope this helps,
   Simon
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-12 Thread C. Scott Ananian
On Thu, Oct 7, 2010 at 12:39 PM, Daniel Drake d...@laptop.org wrote:
 On 4 October 2010 15:27, Gonzalo Odiard gonz...@laptop.org wrote:
 What do others think about this approach? Packagers?

 A clearer way to discuss this would be to just send a patch. That way
 there is no doubt over the details of the implementation that you are
 proposing.

I object to implementations without documentation, on principle.
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-08 Thread Lucian Branescu
On 7 October 2010 21:54, Gonzalo Odiard gonz...@laptop.org wrote:
 Ticket with the start of implementation:

 http://bugs.sugarlabs.org/ticket/2425

 Gonzalo

I'm not sure which way would be best, but I would choose either a very
simple solution (just dotted numbers, no alphanumerics) or a
tried-and-tested solution i.e. carbon copy of debian/fedora/gnome apps
versioning.

In any case, something more expressive than an integer is needed and
I'm all for it.
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-07 Thread Simon Schampijer

On 10/06/2010 11:15 PM, C. Scott Ananian wrote:

On Wed, Oct 6, 2010 at 5:00 PM, Martin Langhoff
martin.langh...@gmail.com  wrote:

Initially, I advocated strongly for something with the expresiveness
of dpkg's versioning. However, that's wrong. We need to use a clear
_subset_ of what dpkg, rpm, portage(... etc) can do, so the distro
packager retains its flexibility (see: epoch).


Defining the version string as identical to the pre-epoch portion of
a debian version string says a lot more in 11 words -- and with more
precision -- than the entirely of the dotted version string proposal
so far.  This is the power we get from *building* on other's work,
instead of reinventing it.  (But we should remember what problem
debian is solving with epoch numbers, and think really hard about why
this could never ever ever happen to us before getting rid of them.)

You could make a similar proposal based on redhat version strings,
etc.  We all *think* we need a subset right now.  And then you'll find
that subset grow, and mutate, etc, etc.  We are all better off if we
implement a well understood standard, even if we don't think we need
all of its power immediately.


It is true, dpkg considers 1.1-peru to be an upgrade over
1.1-argentina, due to alpha ordering. But that has no useful meaning.


My personal feeling is that the peru and argentina part isn't
really a version number, it's something else, which is misplaced here.
  But I don't feel as strongly about that.


Either solve the problem correctly, or solve it as simply as possible.


This solves it as simply as possible.


I've outlined several simpler solutions.  QED.

Again, I think either the slightly more complicated (but more precise
and easier to describe) solution (debian version numbers, exactly),
or a simpler solution (say, just use only even version numbers for
upstream releases, save odd numbers for localization teams) is
preferred to the present proposal, which I think is both too
complicated (by defining its own ad-hoc version string semantics) and
too simple (0.1 possible, 0.0.1 impossible, at least according
tohttp://wiki.sugarlabs.org/go/Features/Dotted_Activity_Versions).


That page is outdated.

The proposal is laid out in Gonzalo's initial mail. Sorry for the confusion.

Regards,
   Simon

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-07 Thread Jonas Smedegaard
So the proposed 1.2.3-peru numbering scheme really is a 1.2.3 scheme 
with an optional trailing taint hint?


It probably makes better sense to clearly distinguish those two 
essentially separate issues:


  * mainline numbering
+ integer
+ triple integers
+ Debian-style triple string scheme
+ other?
  * how to officially handle slight forks
+ extending triple integers with fourth integer/string
+ non-version suffix to version
+ separate field
+ no official support
+ other?

The easiest for Debian would be if you version your code using triple 
integers, as that properly supports multiple branches (which you _are_ 
doing, whether you admit it or not!).


debian care not about deployment forks, but I sure recommend that you do 
support it properly - which means make room for it in the versioning 
string and admit that forks are versioned too - not only a non-versioned 
flag.



 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-07 Thread Jonas Smedegaard

On Thu, Oct 07, 2010 at 12:45:11PM -0300, Gonzalo Odiard wrote:

On Thu, Oct 7, 2010 at 12:22 PM, Jonas Smedegaard d...@jones.dk wrote:

So the proposed 1.2.3-peru numbering scheme really is a 1.2.3 scheme 
with an optional trailing taint hint?

[snip]
It probably makes better sense to clearly distinguish those two 
essentially separate issues:

[snip]

It's clear in the previous examples?


Nope. You insist on discussing both issues together. Very confusing.


 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-07 Thread Gonzalo Odiard
Ticket with the start of implementation:

http://bugs.sugarlabs.org/ticket/2425

Gonzalo

On Thu, Oct 7, 2010 at 1:39 PM, Daniel Drake d...@laptop.org wrote:

 On 4 October 2010 15:27, Gonzalo Odiard gonz...@laptop.org wrote:
  What do others think about this approach? Packagers?

 A clearer way to discuss this would be to just send a patch. That way
 there is no doubt over the details of the implementation that you are
 proposing.

 Daniel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-06 Thread Gonzalo Odiard
On Tue, Oct 5, 2010 at 9:49 PM, C. Scott Ananian csc...@laptop.org wrote:

 If you're going to use something other than simple integers, I suggest
 either:

 a) a string of dotted integers.  You should *always* be able to
 subdivide a release if necessary.
 Strings like peru belong (in my opinion) in release notes or the
 name of the activity or anywhere else.  They don't tell you anything
 about version ordering.  If the problem is that you can't put a new
 release between 0 and 1, why are you creating a system that causes the
 same problem, except between 0.0.0 and 0.0.1?


Yes, you are right. The string part don't tell us anything about version
ordering
The idea is use a string of dotted integers to indicate the order and the
string part only to indicate a customization.
Why? We have activity groups today for this.
Because a teacher, a kid or a technician from Uruguay can see Peru have a
customization, download, test and use.
But the customization part does not imply order because it's not logic use
the alphabetic order (Peru  Ruanda  Uruguay?)
Then I plan to ignore the customization when I  compute the order.


 b) use the debian version numbering system *exactly*.  It has been
 shown to work in the real world, and it is well documented.  The
 current proposal is neither (yet).  We do not need to burden the world
 with yet another ad-hoc numbering system.  Please build on other
 people's work instead of re-inventing the wheel.  Just because the
 debian system has features you don't *think* you need (yet) is not a
 reason to bypass it.  There are great benefits to sharing a commons.


I agree with not reinvent the wheel, but not with using the debian versions.
Why not the Fedora, Gentoo or OSX?
If you want, we will be using the linux kernel numbering system :)



 Of course, my preference is to keep the existing simple integers and
 solve the version precedence problem in other ways.  Perhaps important
 activities should be encouraged to count by ten when increasing
 verson numbers -- or perhaps the tight dependency of Browse on a given
 Sugar version should be fixed.


Integer number does not solve the problems we have today.
Not the problems of the developers, but the downstreams.
I am working with OLPC fixing Browse in sugar 0.84. The version we are using
is Browse 108, but I cant release Browse 109 because already exists.
The same problem we have, will have Dextrose or anybody who maintains a
older branch.
And count by ten it's not a good idea.



 A truely forward-thinking replacement would replace the integer
 version numbers with a git-style version tree.  Just say, this
 activity replaces the activity bundle with manifest hash abcdef.
 That is more decentralized, and more accurate.  Each activity
 could/should contain a list of URLs describing the canonical source
 for both itself (authoritative) and its (say) 10 immediate parents
 (non-authoritative).  This proposal could be elaborated -- and it
 paves the way for a truely decentralized activity repository, where
 activities are created *and hosted* by children *on their own
 machines*.  (Isn't this stil the vision of Sugar?)


No. Git it's fantastic but it's not the solution to all.
That would be a clear example of Second system effect [1]

Gonzalo


[1] http://en.wikipedia.org/wiki/Second-system_effect


  --scott
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-06 Thread C. Scott Ananian
On Wed, Oct 6, 2010 at 6:58 AM, Gonzalo Odiard gonz...@laptop.org wrote:
 Then I plan to ignore the customization when I  compute the order.

So why is it there?

 b) use the debian version numbering system *exactly*.  It has been
 shown to work in the real world, and it is well documented.  The
 current proposal is neither (yet).  We do not need to burden the world
 with yet another ad-hoc numbering system.  Please build on other
 people's work instead of re-inventing the wheel.  Just because the
 debian system has features you don't *think* you need (yet) is not a
 reason to bypass it.  There are great benefits to sharing a commons.


 I agree with not reinvent the wheel, but not with using the debian versions.
 Why not the Fedora, Gentoo or OSX?
 If you want, we will be using the linux kernel numbering system :)

Yes, please.  Using anything from the *commons* instead of inventing a
new *bespoke* system is preferable.  Build connected communities, not
islands.

 I am working with OLPC fixing Browse in sugar 0.84. The version we are using
 is Browse 108, but I cant release Browse 109 because already exists.
 The same problem we have, will have Dextrose or anybody who maintains a
 older branch.
 And count by ten it's not a good idea.

Seems like count by ten solves the particular problem you have.  It's
the simplest possible solution that could work, which is a surefire
way to avoid

 Second system effect [1]
 [1] http://en.wikipedia.org/wiki/Second-system_effect

Either solve the problem correctly, or solve it as simply as possible.
 The current proposal does neither, and just adds a new layer of
poorly documented ad-hoc-ery.
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-06 Thread Martin Langhoff
On Wed, Oct 6, 2010 at 4:47 PM, C. Scott Ananian csc...@laptop.org wrote:
 On Wed, Oct 6, 2010 at 6:58 AM, Gonzalo Odiard gonz...@laptop.org wrote:
 Then I plan to ignore the customization when I  compute the order.

 So why is it there?

To allow identification. But what Gonzalo pointed out is that in the
case of 1.1-peru vs 1.1-argentina, vs 1.1, it makes sense to match
them as equal. They shouldn't trigger an upgrade from one to the
other.

I had a long chat with Gonzalo on the topic of versioning.

Initially, I advocated strongly for something with the expresiveness
of dpkg's versioning. However, that's wrong. We need to use a clear
_subset_ of what dpkg, rpm, portage(... etc) can do, so the distro
packager retains its flexibility (see: epoch).

It is true, dpkg considers 1.1-peru to be an upgrade over
1.1-argentina, due to alpha ordering. But that has no useful meaning.

 Either solve the problem correctly, or solve it as simply as possible.

This solves it as simply as possible.



m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-06 Thread C. Scott Ananian
On Wed, Oct 6, 2010 at 5:00 PM, Martin Langhoff
martin.langh...@gmail.com wrote:
 Initially, I advocated strongly for something with the expresiveness
 of dpkg's versioning. However, that's wrong. We need to use a clear
 _subset_ of what dpkg, rpm, portage(... etc) can do, so the distro
 packager retains its flexibility (see: epoch).

Defining the version string as identical to the pre-epoch portion of
a debian version string says a lot more in 11 words -- and with more
precision -- than the entirely of the dotted version string proposal
so far.  This is the power we get from *building* on other's work,
instead of reinventing it.  (But we should remember what problem
debian is solving with epoch numbers, and think really hard about why
this could never ever ever happen to us before getting rid of them.)

You could make a similar proposal based on redhat version strings,
etc.  We all *think* we need a subset right now.  And then you'll find
that subset grow, and mutate, etc, etc.  We are all better off if we
implement a well understood standard, even if we don't think we need
all of its power immediately.

 It is true, dpkg considers 1.1-peru to be an upgrade over
 1.1-argentina, due to alpha ordering. But that has no useful meaning.

My personal feeling is that the peru and argentina part isn't
really a version number, it's something else, which is misplaced here.
 But I don't feel as strongly about that.

 Either solve the problem correctly, or solve it as simply as possible.

 This solves it as simply as possible.

I've outlined several simpler solutions.  QED.

Again, I think either the slightly more complicated (but more precise
and easier to describe) solution (debian version numbers, exactly),
or a simpler solution (say, just use only even version numbers for
upstream releases, save odd numbers for localization teams) is
preferred to the present proposal, which I think is both too
complicated (by defining its own ad-hoc version string semantics) and
too simple (0.1 possible, 0.0.1 impossible, at least according
tohttp://wiki.sugarlabs.org/go/Features/Dotted_Activity_Versions).  I
think that's exactly the wrong way to optimize.  Sugar doesn't need
yet another ad-hoc undocumented scheme.
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-06 Thread James Cameron
I support the proposal for dotted activity version numbers, but I don't like at 
all the idea of using -peru or -something on the end that isn't a version 
number.  It should go in some other metadata.

I agree with Scott too.

--
James Cameron
System Test Coordinator
One Laptop per Child





___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-05 Thread Simon Schampijer
On 10/05/2010 01:16 AM, Tim McNamara wrote:
 On 5 October 2010 10:25, James Cameronqu...@laptop.org  wrote:

 I agree with the proposal.

 --
 James Cameron
 System Test Coordinator
 One Laptop per Child


 I tentatively agree.

 My strong preference is for Activities to rapidly increase their integer
 numbers, rather than creating a complex tree of point releases. My feeling
 is that a tree of three or more levels deep adds complexity to new Learners.
 It goes against the 'low floor, no ceiling' philosophy by requiring that
 Learners learn a new counting system, on top of integer increments. It also
 adds to the pressure to maintain several versions of the software
 concurrently.

 While I agree that maintainence releases are important, I would prefer that
 community etiquette is developed that discourages version numbers that look
 like 2.4.12.  Developers should be strongly encouraged to migrate to a new
 integer release when practical. Most activities are quite discrete. They
 tend not to add many features once they have reached a desired level of
 maturity.

 Tim.

Hi Tim,

I think most of the activities will keep on just using integer numbers. 
The new proposal does address only the need where this is not possible 
or where we would have to find even uglier solutions (like described in 
the original mail). I think the most complex version number we will ever 
see is 10.2.

Btw, the current scheme resulted in activity numbers like 108 for 
Browse. This is the case since we had many development iterations. When 
we would have used the versioning scheme with minor major release we 
would probably be at 8.0 by now, which I tend to think might be easier 
for young learners (if they will ever look at the version numbers).

Regards,
Simon






___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-05 Thread Simon Schampijer
Hi Gary,

thanks for your feedback.

On 10/05/2010 04:31 AM, Gary Martin wrote:
 On 5 Oct 2010, at 00:30, James Cameronqu...@laptop.org  wrote:

 On 05/10/2010, at 10:16 AM, Tim McNamara wrote:
 My strong preference is for Activities to rapidly increase their integer 
 numbers, rather than creating a complex tree of point releases. My feeling 
 is that a tree of three or more levels deep adds complexity to new 
 Learners. It goes against the 'low floor, no ceiling' philosophy by 
 requiring that Learners learn a new counting system, on top of integer 
 increments.

 Tentative +0.25 as well if others think this is really, really necessary - 
 but I personally never want to have to maintain two or more versions of any 
 activity (what the doted version support is really all about). When we hit a 
 show stopping api break, consider the last working release the end of line, 
 or upgrade to a newer Sugar that is supported by a newer activity release.

Fair enough. Personally I think the new scheme is used in the following 
cases:
* platform dependent activities like Browse or Read
* I want to do several small releases (for example for people for 
testing, 1.2, 1.3, 1.4) before I get to a new major release (2).

 Yes.  Better than the current situation though.

 Only if the change does not break 0.82 and 0.84 integer based 
 updates/installs. Or are we saying that as of 0.92 every activity will have 
 to fork and break with past versions of Sugar anyway? If so I can see little 
 motivation as an activity developer to move to 0.92 for quite some time, who 
 wants to write activities almost no deployment will use for likely 6 to 18 
 months at best? I guess if this is the case, moving to a new versioning 
 scheme in 0.92 is fine even if it breaks 0.82 and 0.84, as no activities for 
 0.92 will run anyway on past Sugar versions :(

Of course we don't break backwards compatibility. Integer versions will 
work as they did before.

 Ideally, instead of presenting a version number to a learner, a graph 
 describing the history of the activity source and dependencies could be 
 displayed.

 Ouch.

 Alternatively, separate the Learner visible numbering from the software 
 release numbering, and leave the visible numbering within the scope of a 
 deployment.  Then one deployment's Browse-190 may be different to another 
 deployment's Browse-190.

 Oh please for the love of maintenance no, how will we ever deal with bug 
 reports. If a deployment decides to fork, say Physics, and introduces their 
 own bugs and/or breaks Journal entry compatibility by adding some feature, I 
 do not want to burn up any more of my life dealing with tickets reported with 
 ambiguous version information, it's bad enough dealing with tickets from 
 folks not testing against the current release.

If you fork you are on your own. Period.

And I would encourage everyone to always upstream changes. But in some 
cases it is good and desired to fork for a moment (trying something out, 
or the change is just not interesting to upstream at all). Those cases 
would be supported by the new scheme.

Regards,
Simon
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-05 Thread C. Scott Ananian
If you're going to use something other than simple integers, I suggest either:

a) a string of dotted integers.  You should *always* be able to
subdivide a release if necessary.
Strings like peru belong (in my opinion) in release notes or the
name of the activity or anywhere else.  They don't tell you anything
about version ordering.  If the problem is that you can't put a new
release between 0 and 1, why are you creating a system that causes the
same problem, except between 0.0.0 and 0.0.1?

b) use the debian version numbering system *exactly*.  It has been
shown to work in the real world, and it is well documented.  The
current proposal is neither (yet).  We do not need to burden the world
with yet another ad-hoc numbering system.  Please build on other
people's work instead of re-inventing the wheel.  Just because the
debian system has features you don't *think* you need (yet) is not a
reason to bypass it.  There are great benefits to sharing a commons.

Of course, my preference is to keep the existing simple integers and
solve the version precedence problem in other ways.  Perhaps important
activities should be encouraged to count by ten when increasing
verson numbers -- or perhaps the tight dependency of Browse on a given
Sugar version should be fixed.

A truely forward-thinking replacement would replace the integer
version numbers with a git-style version tree.  Just say, this
activity replaces the activity bundle with manifest hash abcdef.
That is more decentralized, and more accurate.  Each activity
could/should contain a list of URLs describing the canonical source
for both itself (authoritative) and its (say) 10 immediate parents
(non-authoritative).  This proposal could be elaborated -- and it
paves the way for a truely decentralized activity repository, where
activities are created *and hosted* by children *on their own
machines*.  (Isn't this stil the vision of Sugar?)
 --scott
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Gonzalo Odiard
The current activity version scheme does only allow the use of integer
numbers.
This has the issue that doing a bug fix release for an older activity
version gets rather complicated. People have been planning for that in
advance and reserved numbers for such a purpose in order to overcome that
short coming.
Furthermore, the current scheme does not allow local deployments to release
local versions of an activity.
Based on the work that has been started in the Dotted Activity Versions
feature [1] I want to propose a new scheme that fixes the issues described
above.
The new version number will consist of N integer numbers separated by dots
and a suffix for a local indicator. Activity developers can still use an
integer number only, if desired.
Valid numbers are:
23
23.2
23.2.5
23.2.5-peru
23.2.5-uru

The internal representation will be a string instead of an int and we will
add means to validate and compare the versions.

What do others think about this approach? Packagers?
We must limit the number of integer digits allowed?
Regards

Gonzalo

[1] http://wiki.sugarlabs.org/go/Features/Dotted_Activity_Versions
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Walter Bender
On Mon, Oct 4, 2010 at 10:27 AM, Gonzalo Odiard gonz...@laptop.org wrote:
 The current activity version scheme does only allow the use of integer
 numbers.
 This has the issue that doing a bug fix release for an older activity
 version gets rather complicated. People have been planning for that in
 advance and reserved numbers for such a purpose in order to overcome that
 short coming.

How often is it the case that we wouldn't just want the latest version
of an activity to replace a bug-laden older version? Is there a use
case? That said, I have no objection to adding dotted version
numbers.

 Furthermore, the current scheme does not allow local deployments to release
 local versions of an activity.
 Based on the work that has been started in the Dotted Activity Versions
 feature [1] I want to propose a new scheme that fixes the issues described
 above.
 The new version number will consist of N integer numbers separated by dots
 and a suffix for a local indicator. Activity developers can still use an
 integer number only, if desired.
 Valid numbers are:
 23
 23.2
 23.2.5
 23.2.5-peru
 23.2.5-uru

 The internal representation will be a string instead of an int and we will
 add means to validate and compare the versions.

 What do others think about this approach? Packagers?
 We must limit the number of integer digits allowed?
 Regards

 Gonzalo

 [1] http://wiki.sugarlabs.org/go/Features/Dotted_Activity_Versions


 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel





-- 
Walter Bender
Sugar Labs
http://www.sugarlabs.org
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Simon Schampijer
On 10/04/2010 04:48 PM, Walter Bender wrote:
 On Mon, Oct 4, 2010 at 10:27 AM, Gonzalo Odiardgonz...@laptop.org  wrote:
 The current activity version scheme does only allow the use of integer
 numbers.
 This has the issue that doing a bug fix release for an older activity
 version gets rather complicated. People have been planning for that in
 advance and reserved numbers for such a purpose in order to overcome that
 short coming.

 How often is it the case that we wouldn't just want the latest version
 of an activity to replace a bug-laden older version?

There are cases where this is not possible. Take Browse as an example. 
Browse is highly tight to the underlying Sucrose version, hence Browse 
from 0.90 won't run on 0.84.

If one has released Browse version 108 for Sucrose 0.84 and 109 for 0.86 
one is in deep trouble if one wants to fix a bug in 0.84. So this is one 
use case where the extended scheme makes sense.

I think it is much more flexible in general, and the good part is that 
people can still keep on using the integer version number.

Regards,
Simon
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Jonas Smedegaard

On Mon, Oct 04, 2010 at 11:27:36AM -0300, Gonzalo Odiard wrote:
The new version number will consist of N integer numbers separated by 
dots and a suffix for a local indicator. Activity developers can still 
use an integer number only, if desired.

Valid numbers are:
23
23.2
23.2.5
23.2.5-peru
23.2.5-uru

The internal representation will be a string instead of an int and we 
will add means to validate and compare the versions.


What do others think about this approach? Packagers?
We must limit the number of integer digits allowed?


Short version:  Gogogo!

Slightly longer: Make sure to strictly define the semantics of 
non-integer parts.


It might seem obvious at first - peru being slight fork of 
micro-version 5. But perhaps sometimes a local branch wants to release 
a sneak preview, e.g. almost micro-version 6.  Should that then be 
labeled 23.2.6-peru or (since 5-peru is taken already) 23.2.6.peru2?


In Debian we allow both letters and digits in all parts, and use special 
sign ~ to indicate almost and + to indicate just above. And we 
treat 0 (zero) equal to a missing trailing part. And more nitpicking...


I do not, however, recommend you to adopt such complex scheme.  I 
suggest instead (as might actually be what imply by the above summary) 
that the 3 first parts are strictly digits and intended only for 
mainline releases, while an optional 4th part is strictly for 
non-mainline use and allows [a-z0-9] (but nothing else - no dash, 
underscore, capital or non-ASCII letters, +~ or whatever). Then use 
simple C locale sort order, and leave it to local branches if they want 
to use only letters or also leading and/or trailing digits.



Enjoy,

 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Gonzalo Odiard
Short version:  Gogogo!

Thanks!


 Slightly longer: Make sure to strictly define the semantics of non-integer
 parts.

 It might seem obvious at first - peru being slight fork of micro-version
 5. But perhaps sometimes a local branch wants to release a sneak preview,
 e.g. almost micro-version 6.  Should that then be labeled 23.2.6-peru or
 (since 5-peru is taken already) 23.2.6.peru2?

 In Debian we allow both letters and digits in all parts, and use special
 sign ~ to indicate almost and + to indicate just above. And we treat
 0 (zero) equal to a missing trailing part. And more nitpicking...

 I do not, however, recommend you to adopt such complex scheme.  I suggest
 instead (as might actually be what imply by the above summary) that the 3
 first parts are strictly digits and intended only for mainline releases,
 while an optional 4th part is strictly for non-mainline use and allows
 [a-z0-9] (but nothing else - no dash, underscore, capital or non-ASCII
 letters, +~ or whatever). Then use simple C locale sort order, and leave it
 to local branches if they want to use only letters or also leading and/or
 trailing digits.

 I am planing be more strict: the last part is only [a-zA-Z]*
Then the next to 23.2.6-peru will be 23.2.7-peru or 23.2.6.1-peru. The last
part does not imply version, only is a helper to the local deployments.

Gonzalo



 Enjoy,

  - Jonas

 --
  * Jonas Smedegaard - idealist  Internet-arkitekt
  * Tlf.: +45 40843136  Website: http://dr.jones.dk/

  [x] quote me freely  [ ] ask before reusing  [ ] keep private

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Jonas Smedegaard

On Mon, Oct 04, 2010 at 12:50:37PM -0300, Gonzalo Odiard wrote:

Short version:  Gogogo!

Thanks!


Slightly longer: Make sure to strictly define the semantics of 
non-integer parts.


It might seem obvious at first - peru being slight fork of 
micro-version 5. But perhaps sometimes a local branch wants to 
release a sneak preview, e.g. almost micro-version 6.  Should that 
then be labeled 23.2.6-peru or (since 5-peru is taken already) 
23.2.6.peru2?


In Debian we allow both letters and digits in all parts, and use 
special sign ~ to indicate almost and + to indicate just 
above. And we treat 0 (zero) equal to a missing trailing part. And 
more nitpicking...


I do not, however, recommend you to adopt such complex scheme.  I 
suggest instead (as might actually be what imply by the above 
summary) that the 3 first parts are strictly digits and intended only 
for mainline releases, while an optional 4th part is strictly for 
non-mainline use and allows [a-z0-9] (but nothing else - no dash, 
underscore, capital or non-ASCII letters, +~ or whatever). Then use 
simple C locale sort order, and leave it to local branches if they 
want to use only letters or also leading and/or trailing digits.



I am planing be more strict: the last part is only [a-zA-Z]*


Then the next to 23.2.6-peru will be 23.2.7-peru or 23.2.6.1-peru. The 
last part does not imply version, only is a helper to the local 
deployments.


So which package will be favored if all of the following are available:

  23.2.7
  23.2.7-peru
  23.2.7-bolivia

?

If last part does not imply version, then they are all flavors of 
same version 23.2.7, yet one might be a bugfix of the other and the 
third a feature enhancement.


Also, if you permit local branches to add more version parts, are they 
then allowed to add yet another part if need be?  What is the strict 
logic?


Or do you not want a strict logic (now, but learn as you move on)?


And why a more strict part if it does not imply version?  And if it 
does get used to resolve which of multiple flavors win an election, what 
is then the sorting algorithm when you permit both capital and lowercase 
letters?



Regards,

 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Gonzalo Odiard
On Mon, Oct 4, 2010 at 1:37 PM, Jonas Smedegaard d...@jones.dk wrote:

 On Mon, Oct 04, 2010 at 12:50:37PM -0300, Gonzalo Odiard wrote:

 Short version:  Gogogo!

 Thanks!


  Slightly longer: Make sure to strictly define the semantics of
 non-integer parts.

 It might seem obvious at first - peru being slight fork of
 micro-version 5. But perhaps sometimes a local branch wants to release a
 sneak preview, e.g. almost micro-version 6.  Should that then be labeled
 23.2.6-peru or (since 5-peru is taken already) 23.2.6.peru2?

 In Debian we allow both letters and digits in all parts, and use special
 sign ~ to indicate almost and + to indicate just above. And we treat
 0 (zero) equal to a missing trailing part. And more nitpicking...

 I do not, however, recommend you to adopt such complex scheme.  I suggest
 instead (as might actually be what imply by the above summary) that the 3
 first parts are strictly digits and intended only for mainline releases,
 while an optional 4th part is strictly for non-mainline use and allows
 [a-z0-9] (but nothing else - no dash, underscore, capital or non-ASCII
 letters, +~ or whatever). Then use simple C locale sort order, and leave it
 to local branches if they want to use only letters or also leading and/or
 trailing digits.

  I am planing be more strict: the last part is only [a-zA-Z]*


  Then the next to 23.2.6-peru will be 23.2.7-peru or 23.2.6.1-peru. The
 last part does not imply version, only is a helper to the local deployments.


 So which package will be favored if all of the following are available:

  23.2.7
  23.2.7-peru
  23.2.7-bolivia

 ?



No one. If Peru want a package to update 23.2.7, can create 23.2.7.1-peru or
23.2.8-peru
The reason is, we don't want use this part to set the order in the update.
We have groups of activities anyway, but if a user want to upgrade manually
a activity from other place can do it.


If last part does not imply version, then they are all flavors of same
 version 23.2.7, yet one might be a bugfix of the other and the third a
 feature enhancement.

 Also, if you permit local branches to add more version parts, are they then
 allowed to add yet another part if need be?  What is the strict logic?

 Or do you not want a strict logic (now, but learn as you move on)?


 And why a more strict part if it does not imply version?  And if it does
 get used to resolve which of multiple flavors win an election, what is then
 the sorting algorithm when you permit both capital and lowercase letters?


Sorry, strictest.
The idea is not take in account the last part in the compute of the order of
the versions. I have excluded the numbers to do it more evident. Capital and
lowercase are the same, but we can limit if it's a problem.

We are changing from a  integer scheme for activities. I don't want over
complicate it, and assure the versions can be mapped to packages if
necesary.

Regards

Gonzalo


 Regards,


  - Jonas

 --
  * Jonas Smedegaard - idealist  Internet-arkitekt
  * Tlf.: +45 40843136  Website: http://dr.jones.dk/

  [x] quote me freely  [ ] ask before reusing  [ ] keep private

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)

 iQIcBAEBCgAGBQJMqgLcAAoJECx8MUbBoAEh9HQP/0PsZp7WxO5CXm28tqSe/kMu
 9kRZsVuG9ZmFgPQx6kTfYY8eGlyZWs6o+0HqsASjR+4BRs/l8eniiNwZR1ueR0mf
 3nFG3sgtV00TcA26uQaIZjrLRPRihUOk92+HhPNwe+HMKVKA/tDPOzFg4xfBvDrD
 nyQmbD7U1EKC/uJHHTiyUnt8cclkrUKjmG6cYQnbCub5zkJu+2L4ydhAvp2ah8Eh
 gxHrRd6I/D9T9AW1wbh/RBvXxn3a8gLcpZLN6wbexIN/iUQy5mbieituFaiIf4/z
 il/9wVYYnSca4g6eFyBSS9JWOiss2C/xdJddrt+10bbY9g3gHLxg9/i6jZqCMfye
 8tpap6dwLHYf/lY9Mr/dcrBXy7qzwD2W8y0dxfzt32b+7ZPFhv+efgxab5FNnzI3
 rXfxF88T7gdwuX/2oJv/SLoavxHyitY41Ol3T/A82TYl7tDNS65LfBn6NDJCcM/z
 XeVTxf2fcqWPvd4/cpGPsQ8KKS+SHPZNCmjb9fLVi58kEB35mD5H42dOPebGgJqF
 zWg6eozDWi9JsEe3E6XBwdRB2ae92TRsehC0lsZUOz7qDOkXR02cPbk0TQlFR5oM
 rqWchP4//VlXQQJAze+KybGfO2eM+69uYAz9MXzFPGggv1/N25ey29iwMANi/s58
 qeCsdjpSi2G5YZSASoLz
 =1b9O
 -END PGP SIGNATURE-

 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel


___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Jonas Smedegaard

Hi Gonzalo and others,

I suspect we talk past each others.  But let's just leave it at that.

Good luck with the proposal!


 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread James Cameron
I agree with the proposal.

--
James Cameron
System Test Coordinator
One Laptop per Child





___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Martin Langhoff
On Mon, Oct 4, 2010 at 5:25 PM, James Cameron qu...@laptop.org wrote:
 I agree with the proposal.

+1

-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Tim McNamara
On 5 October 2010 10:25, James Cameron qu...@laptop.org wrote:

 I agree with the proposal.

 --
 James Cameron
 System Test Coordinator
 One Laptop per Child


I tentatively agree.

My strong preference is for Activities to rapidly increase their integer
numbers, rather than creating a complex tree of point releases. My feeling
is that a tree of three or more levels deep adds complexity to new Learners.
It goes against the 'low floor, no ceiling' philosophy by requiring that
Learners learn a new counting system, on top of integer increments. It also
adds to the pressure to maintain several versions of the software
concurrently.

While I agree that maintainence releases are important, I would prefer that
community etiquette is developed that discourages version numbers that look
like 2.4.12.  Developers should be strongly encouraged to migrate to a new
integer release when practical. Most activities are quite discrete. They
tend not to add many features once they have reached a desired level of
maturity.

Tim.
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Proposal of dotted activity version number

2010-10-04 Thread Gary Martin
On 5 Oct 2010, at 00:30, James Cameron qu...@laptop.org wrote:

 On 05/10/2010, at 10:16 AM, Tim McNamara wrote:
 My strong preference is for Activities to rapidly increase their integer 
 numbers, rather than creating a complex tree of point releases. My feeling 
 is that a tree of three or more levels deep adds complexity to new Learners. 
 It goes against the 'low floor, no ceiling' philosophy by requiring that 
 Learners learn a new counting system, on top of integer increments.

Tentative +0.25 as well if others think this is really, really necessary - but 
I personally never want to have to maintain two or more versions of any 
activity (what the doted version support is really all about). When we hit a 
show stopping api break, consider the last working release the end of line, or 
upgrade to a newer Sugar that is supported by a newer activity release.   

 Yes.  Better than the current situation though.

Only if the change does not break 0.82 and 0.84 integer based updates/installs. 
Or are we saying that as of 0.92 every activity will have to fork and break 
with past versions of Sugar anyway? If so I can see little motivation as an 
activity developer to move to 0.92 for quite some time, who wants to write 
activities almost no deployment will use for likely 6 to 18 months at best? I 
guess if this is the case, moving to a new versioning scheme in 0.92 is fine 
even if it breaks 0.82 and 0.84, as no activities for 0.92 will run anyway on 
past Sugar versions :(  

 Ideally, instead of presenting a version number to a learner, a graph 
 describing the history of the activity source and dependencies could be 
 displayed.

Ouch.

 Alternatively, separate the Learner visible numbering from the software 
 release numbering, and leave the visible numbering within the scope of a 
 deployment.  Then one deployment's Browse-190 may be different to another 
 deployment's Browse-190.

Oh please for the love of maintenance no, how will we ever deal with bug 
reports. If a deployment decides to fork, say Physics, and introduces their own 
bugs and/or breaks Journal entry compatibility by adding some feature, I do not 
want to burn up any more of my life dealing with tickets reported with 
ambiguous version information, it's bad enough dealing with tickets from folks 
not testing against the current release.   

Regards,
--Gary

 --
 James Cameron
 System Test Coordinator
 One Laptop per Child
 
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel