[maemo-developers] Announcement: OS2008 2.2007.50-2 source repository

From: Graham Cobb g+770 at cobb.uk.net
Date: Mon Jan 7 12:36:46 EET 2008
On Monday 07 January 2008 06:11:49 Terje Bergström wrote:
> For the next version we are designing a new repository structure that
> will accomodate SDK, SDK sources, firmware sources, updates to firmware
> sources, and updates to SDK in a uniform way.

One thing to bear in mind for the new repository structure: once you release a 
shipped version of the OS, and its respective SDK, make sure that it is always
possible to build applications that will still install for a user who has not 
updated from that release.  

The issue is that if release 200X.0 has version A of a particular library, and 
release 200X.1 has version B of a library, then applications built against 
the SDK for version 200X.1 will have dependencies of the form libwhatever >= 
B and will not install on 200X.0.

To my mind there are two solutions to this:

1) Never update any SDK for a released version (beta test versions are not a 
problem).  Once the "chinook" SDK is released it always remains the same.  If 
an update to the SDK is needed a new codename is created and a complete new 
SDK released.  That way, the developer has an easy way to control which SDK 
they are building with.

2) Allow installing packages to upgrade the Nokia-supplied libraries 
transparently, without user involvement.  In the case of my example above, a 
user with 200X.0 installed who installs my application built against 200X.1 
ends up with version B of the library (and, of course, ends up with a system 
which is part way between 200X.0 and 200X.1 as a result).

Nokia could even decide to combine these two.  You could make the Application 
Manager refuse to upgrade certain packages (for example packages 
marked "essential" or something) but be willing to upgrade others (for 
example libraries to do with the camera or GPS for example).  Then you would 
only need to create a new SDK, with a new name, if you had a new version of 
one of the non-upgradeable libraries.

There is a third option: make the process of upgrading the tablet so easy 
(risk free, and fairly fast) that people will always be able to come up to 
the latest version with no hassle.  That has the advantage for developers 
that we can just build with the latest stuff and when a user complains it 
won't install we just tell them "update to the latest OS".  

Graham

More information about the maemo-developers mailing list