Platform Team/Package Management System: Difference between revisions

Line 41: Line 41:
* [http://www.packagekit.org/ PackageKit] to install software from native packaging systems.
* [http://www.packagekit.org/ PackageKit] to install software from native packaging systems.
* [http://download.sugarlabs.org/ Sugar Labs]'s resources to host various files.
* [http://download.sugarlabs.org/ Sugar Labs]'s resources to host various files.
=== Spec file ===


The process departing point is a [[Activity Team/Zero Sugar/0sugar.info Specification|spec file]] which is used within Zero Sugar to accomplish two major tasks:
The process departing point is a [[Activity Team/Zero Sugar/0sugar.info Specification|spec file]] which is used within Zero Sugar to accomplish two major tasks:
* how to prepare the code to launch,
* how to prepare the code to launch,
* how to share the code.
* how to share the code.
=== Prepare the code ===


A preparation step might be not trivial only if code requires building stage. Building might occur:
A preparation step might be not trivial only if code requires building stage. Building might occur:
Line 50: Line 54:
* on OBS, to build for the GNU/Linux distributions that OBS supports, or
* on OBS, to build for the GNU/Linux distributions that OBS supports, or
* building might happen on user's side if other methods don't work.
* building might happen on user's side if other methods don't work.
=== Share the code ===


Sharing step might be:
Sharing step might be:
Line 62: Line 68:
* ''distributor'', most likely similar to ''client-server'' but different from doer's point of view since only distributor is responsible for particular distribution method.
* ''distributor'', most likely similar to ''client-server'' but different from doer's point of view since only distributor is responsible for particular distribution method.


The regular workflow within Zero Sugar will look like:
=== Regular workflow ===
* create or modify spec file.
 
* if OBS should be used, add additional information to spec file that will be used while interaction with OBS.
The regular workflow within Zero Sugar will look like in case of coding an python-based activity:
* call {{Code|0sugar dist}} command to create sources distribution files or just distribution files for applications that don't requires compiling.
 
* call {{Code|0sugar build}} command, if OBS is not used and application requires compiling.
* Create activity [[Activity_Team/Zero_Sugar/0sugar.info_Specification#Python_activity|spec file]].
* call {{Code|0sugar commit}} command to publish 0nstall information and interact with OBS (if it is enabled).
* Code the activity.
* newly created release is accessible via 0isntall or via OBS repositories.
* Try current code in sugar just by selecting an icon in activities list.
* When milestone achieved, call:
** {{Code|0sugar dist}} to create sources tarball
** {{Code|0sugar commit}} to let sugar know that activity could be shared in peer-to-peer mode between on-line users
* If doer wants to support service-client sharing model for broad users audience, call:
** {{Code|0sugar push}}
* If doer wants to support OBS based sugar distributions or users that prefer activities from native packages:
** create a project on OBS,
** call {{Code|0sugar push <obs-project>}}


== Documentation ==
== Documentation ==