2010/9/18 Gary Birkett <[email protected]>:
> You will have massive problems with this limitation, its nothing to do
with diluting it.

I'm aware that there's massive problems with this 'limitation', but
I'm willing to wager the alternative of unregulated repositories are
worse. Keep reading:

> It concerns me too
> at installation time, fooapp from AppUp should have the following
> simple logical installation tree available:
>
> Everything in AppUp
> Everything in Profile
> Everything in Core
>
> Dependency resolution should be simple to organise in that situation.

Yes, but please read my definition of compliance:

"Application compliance" [feel free to correct this term]

Application compliance is a certificate that states that provided the
following conditions are met:
* The target, a MeeGo-compliant device allows installation from the
installation source
[reasoning for this is that there will be vendors that lock down
ability to install from alternate installation sources. Chances are
they will limit 'install-from-web' too then.]
* The rules for application compliance are met (to be specified further down)
* The rules for application compliance regarding the target's device
profile is met (to be specified further down)
Then:
* The application will install and work on the target.

__Application compliance must be automatically testable by a machine
and ahead of any user installation.__

Sure, things might install. But how can you -test- in advance that
this is possible? You can't assume all repositories are known to all
devices.

If you have an API you'd like to share with the world, put it in
Staging and take responsibility for it.

A test for a MeeGo compliant app wrt dependencies, would basically be
the algorithm of:

* Take all dependencies of application
* Remove all dependencies which originate from the installation source
and is produced by the same source package as application
* Remove all dependencies which are in MeeGo Core
* Remove all dependencies which are in (if any) targetted MeeGo Profile
* Remove all dependencies which are found in Staging
* If there is any remaining dependencies, the app is not compliant. If
there isn't, the app is compliant.

The litmus test should be along lines of:

Joe User clicks the manifest for an application which contains the
application package name and repository where the package is contained
in. Manifest is marked as being for MeeGo for Atom, Handset Profile
and certified as compliant.

Joe User has a MeeGo for Atom, Handset Profile device. He has only
installed MeeGo compliant applications. Application mentioned in
manifest should then install without any errors or conflicts.

I'm willing to bet a beer that it's very easy with an unregulated
multi-repository approach that we will end up in an error situation.
The approach of a place to host the innovative APIs would solve the
majority of the practical issues and keep out the error situations.

There is the problem of Staging that app stores that do not allow
other installation sources than themselves would have trouble. The
solution is obviously that Staging repo inclusion is part of MeeGo
compliance for dependency solving, but we're not quite there yet to
convince this is worthwhile.

Best regards,
Carstem Unk
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to