In order to provide GNU/Linux-distribution-agnostic launches of activities, Sugar Network API provides and supports [[Platform_Team/packagekit-backend-presolve|packagekit-backend-presolve]] users.
+
+
API server provides the following kinds of urls:
+
+
* {{Code|<nowiki>http://api-devel.network.sugarlabs.org/packages</nowiki>}}<br>list all supported platforms;
+
* {{Code|<nowiki>http://api-devel.network.sugarlabs.org/packages/</nowiki><PLATFORM>}}<br>list all supported packages for a particular platform;
+
* {{Code|<nowiki>http://api-devel.network.sugarlabs.org/packages/</nowiki><PLATFORM>/<PACKAGE>}}<br>pre-solved dependency graph for a particular package.
+
+
Where:
+
+
* {{Code|PLATFORM}}<br>one of supported packagekit-backend-presolve platforms, e.g., OLPC-13.0.1;
+
* {{Code|PACKAGE}}<br>a name of the particular package.
+
+
[[Sugar Network]] supports a metadata ''database'' for all packages that are being used as dependencies for activities it provides (see ''Packages'' project using one of the existing [[Sugar_Network#Try_it|Sugar Network clients]]). Every entry in the ''database'' contains a map of native package names for a particular GNU/Linux distribution. So, activities mention only the ''database'' entry name as a dependency. [[Sugar Network]] will automatically generate dependency graphs for packagekit-backend-presolve using the ''metadata'' database. Afterwards, on the launch side, the ''database'' entry name will be resolved to a package name according to the local distribution and it will be passed to the PackageKit (on XO laptops, packagekit-backend-presolve will be used; on regular platforms, the default PackageKit back-end is used).