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
