[maemo-developers] Backwards compatibility broken PR1.1 SDK

From: Jeff Moe moe at blagblagblag.org
Date: Wed Jan 20 18:32:23 EET 2010
On Monday 18 January 2010 18:08:33 Niels Breet wrote:
> Hi,
> 
> I've been discussing this issue with some people before as hypothetical
> case, but now it seems that we run into it: Compiling an application
> against the PR1.1 SDK creates packages which can not be installed on
> earlier firmware releases.
> 
> In this case we have have a libosso version which is higher than the
> one in previous releases. As this dependency gets automatically added
> when compiling in the PR1.1 SDK this poses a problem.
> 
> The autobuilder uses the repository.maemo.org repository, so it
> automatically uses newer packages when they are available.
> 
> For Extras this means that install of an application which is compiled
> against the new SDK fails without any description we can expect an
> end-user to understand. This is something which should be prevented.
> 
> How can we work around this problem:
> 
> 1: Only compile against the original SDK.
>    This prevents new features from ever be available to developers,
>    but should work until there is real API/ABI breakage in a new
>    firmware.
> 
> 2: Use version specific repositories
>    This needs Application Manager support as we need to fetch from a
>    separate repository every time. Also requires us to build against
>    every sdk version known to man.
> 
> 3: Depend on >= mp-fremantle-generic-pr | maemo-version
>    We would need a hack in the autobuilder to add depends to pr and
>    maemo version. This way a user needs to upgrade to at least the
>    required firmware image. I think this will make it easier for an
>    end-user to understand what is happening.
> 
>    We could, with help of the AM team, even detect in the AM that
>    a firmware upgrade is required and give a the end user a nice
>    warning/description.
> 
> Currently the AM doesn't have any means to detect which firmware
> version a package requires. Option 3 solve that issue at the same
> time.
> 
> If you have an alternative solution on how to go about fixing this
> issue, then please let me know.
> 
> Can we, like with the opt problem, come to a solution with
> community power[tm]?

For what it's worth, in the Fedora buildsystem (Koji), the buildsystem is running with the latest updates. Perhaps investigating what the various other distros do (especially Debian) and doing what they do would be a good approach (if they have mostly all settled on similar approaches).

-Jeff (goes back to lurking on this thread)
http://wiki.maemo.org/User:Jebba
More information about the maemo-developers mailing list