Platform Team/packagekit-backend-presolve: Difference between revisions
No edit summary |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 60: | Line 60: | ||
=== Repositories === | === Repositories === | ||
Current implementation is designed to work in close cooperation with the [[Sugar Network]] installing dependencies required by Sugar Activities. To make it possible, Sugar Network supports a [http://network.sugarlabs.org/hub/?projects&packages list of metadata entries] for all required packages on major GNU/Linux distributions (to support not only XO laptops). Each activity, which requires dependencies, should mention proper metadata entry names in the | Current implementation is designed to work in close cooperation with the [[Sugar Network]] installing dependencies required by Sugar Activities. To make it possible, Sugar Network supports a [http://network.sugarlabs.org/hub/?projects&packages list of metadata entries] for all required packages on major GNU/Linux distributions (to support not only XO laptops). Each activity, which requires dependencies, should mention proper metadata entry names in the [[Sugar_Network/Recipe_Specification#requires|activity.info]] file. Client side startup code will process this dependency list and ask PackageKit to install packages via packagekit-presolve-backend. | ||
While working, packagekit-presolve-backend will use public [[Platform_Team/Sugar_Network/API|Sugar Network API]]. The regular operations called from the API server are the following: | While working, packagekit-presolve-backend will use public [[Platform_Team/Sugar_Network/API|Sugar Network API]] (look for development API server for recently implemented functionality). The regular operations called from the API server are the following: | ||
<div id="GET_packages"></div> | |||
'''GET''' /packages/OLPC/''OLPC-RELEASE''/''METADATA-ENTRY-NAME'' | '''GET''' /packages/OLPC/''OLPC-RELEASE''/''METADATA-ENTRY-NAME'' | ||
This request returns a dependency tree for particular entry from the [http://network.sugarlabs.org/hub/?projects&packages metadata list]. The result will be served in JSON notation in form of: | |||
"''ARCH''": [{"name": "''PACKAGE''", "version": "''VERSION''", "release": "''RELEASE''", "path": "''PATH''"}] | |||
Where {{Code|PATH}} is either relative or absolute path to the targeting rpm on the same server. | |||
<div id="GET_packages_updates"></div> | |||
'''GET''' /packages/OLPC/''OLPC-RELEASE''/updates | |||
Returns JSON list of package names to fetch updates for. Sugar Network server will dynamically generate response according to HTTP {{Code|If-Modified-Since}} header value. | |||
=== Usage === | === Usage === | ||