Platform Team/Package Management System: Difference between revisions
| Line 35: | Line 35: | ||
== How it works at a glance == | == How it works at a glance == | ||
Services that are used within Zero Sugar: | |||
* [http://build.opensuse.org/ OBS], openSUSE Build Service, that is patched to accomplish Zero Sugar needs. | * [http://build.opensuse.org/ OBS], openSUSE Build Service, that is patched to accomplish Zero Sugar needs. Accessible from http://bazaar.sugarlabs.org site. It will be a central place for all files related procedures like hosting various files, building binaries, providing GNU/Linux distribution repositories for centralized Sugar deployments. | ||
* [http://0install.net/ 0install] decentralized deployment infrastructure. | * [http://0install.net/ 0install] decentralized deployment infrastructure. | ||
* [http://www.packagekit.org/ PackageKit] to install software from native packaging systems. | * [http://www.packagekit.org/ PackageKit] to install software from native packaging systems. | ||
| Line 61: | Line 61: | ||
=== Recipe file === | === Recipe file === | ||
The process departing point is a [[Activity Team/Zero Sugar/0sugar. | The process departing point is a [[Activity Team/Zero Sugar/0sugar.recipe Specification|recipe file]] which is used within Zero Sugar to accomplish the major task - how to prepare the code to launch. | ||
The Zero Sugar recipe file is an all-sufficient entity. With only the file and {{Code|0sugar}} tool, it is possible to prepare the code necessary to launch in various environments like the major rpm/deb-based GNU/Linux distributions or just launch locally. | The Zero Sugar recipe file is an all-sufficient entity. With only the file and {{Code|0sugar}} tool, it is possible to prepare the code necessary to launch in various environments like the major rpm/deb-based GNU/Linux distributions or just launch locally. | ||
| Line 69: | Line 69: | ||
The preparation step can be trivial, unless the code requires a building stage. Building might occur: | The preparation step can be trivial, unless the code requires a building stage. Building might occur: | ||
* on the developer's workstation, to deploy to environments similar to the developer's, | * on the developer's workstation, to deploy to environments similar to the developer's, | ||
* on http:// | * on http://bazaar.sugarlabs.org, to build for the GNU/Linux distributions that are supported, or | ||
* building might happen on the user's side, if other methods don't work. | * building might happen on the user's side, if other methods don't work. | ||
| Line 81: | Line 81: | ||
* ''client-server'', doer needs to upload code to the server, and users will download it.<br>The particular method might be different: | * ''client-server'', doer needs to upload code to the server, and users will download it.<br>The particular method might be different: | ||
** via the 0install infrastructure, | ** via the 0install infrastructure, | ||
** via http:// | ** via http://bazaar.sugarlabs.org repositories with native packages, | ||
** by uploading bundles to servers like ASLO. | ** by uploading bundles to servers like ASLO. | ||
* ''distributor'', most likely similar to ''client-server'', but different from the doer's point of view, since only the distributor is responsible for a particular distribution method. | * ''distributor'', most likely similar to ''client-server'', but different from the doer's point of view, since only the distributor is responsible for a particular distribution method. | ||
| Line 89: | Line 89: | ||
The regular workflow within Zero Sugar, in the case of coding a Python-based activity, will look like the following: | The regular workflow within Zero Sugar, in the case of coding a Python-based activity, will look like the following: | ||
* Create new project and package on http:// | * Create new project and package on http://bazaar.sugarlabs.org. | ||
* Create activity [[Activity_Team/Zero_Sugar/0sugar. | * Create activity [[Activity_Team/Zero_Sugar/0sugar.recipe_Specification#Python_activity|recipe file]]. | ||
* Code the activity. | * Code the activity. | ||
* Try current code in Sugar just by selecting an icon in the activities list. | * Try current code in Sugar just by selecting an icon in the activities list. | ||
* When a milestone is achieved, call {{Code|0sugar | * When a milestone is achieved, call {{Code|0sugar push}} to create sources tarball and send it to http://bazaar.sugarlabs.org. | ||
* After that, activity will be accessible for direct usage (via 0install) and for distributors that are eager to deploy it (via native packages). | * After that, activity will be accessible for direct usage (via 0install) and for distributors that are eager to deploy it (via native packages). | ||