On Tue, Sep 7, 2010 at 1:20 PM, Marius Vollmer <marius.voll...@nokia.com>wrote:
> The thing that the MeeGo platform can contribute here is to require that > all compliant MeeGo devices must have the standard repositories > configured. I am not sure whether that will be required. Is it? A > related question is OS updates: Is a compliant MeeGo device required to > have the OS update repositories configured? > > > In other words, if I buy an app from the Ovi Store, I don't want to > > find out after buying it that it won't install because I needed to buy > > some emoticons too. > > Yes, very true. It's a problem of how the Store works and how it > interacts with the on-device package management, but forbidding all 3rd > party packages to require other 3rd party packages to solve it would be > going too far, I'd say. > > > Think of two games that share a common engine: when buying any one of > the games, you will implicitly buy the engine, too, and the store will > give you permission to download both the game package as well as the > engine package. Then when the game is installed, the engine is > installed at the same time (invisibly to you). When you buy the second > game later, you already gave the engine. > > If we also figure out how to present updates to the engine package to > the user, then this should work, no? > There are several points that need to be addressed if you are sharing components/engines/etc QA - a package can be tested with one version of the engine but that does not necessarily mean it will work just as well with others, so an innocent update to one can break the other (who said libsdl-ttf2.0 ?). In Maemo this worked most of the time mostly because we were reusing libraries from desktop distro's where they usually already underwent some checks. Security - to avoid leaking of user data (config, passwords) from one package to the other - the fact that app A depends on Qt and app B depends on Qt should not mean that B can read A's config/data automatically. That's why most of the time these big, reusable runtimes and libraries are part of the system - so that they can undergo serious testing, integration checks and controlled updates. Now, before someone misunderstands this as an argument NOT to allow dependencies on 3rd party packages - the whole point is IF you have a shared repository, you must have a procedure/agreement of how you update/modify/publish stuff there in order to prevent it from becoming a jungle/huge pile of unsolvable intertwined dependencies. Best regards, Attila
_______________________________________________ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev