Changes

work on English
Line 6: Line 6:  
== Introduction ==
 
== Introduction ==
   −
The purpose of this Guide is describing how to package activities that use Sugar Services.
+
The purpose of this Guide is to describe how to package activities that use Sugar Services.
    
== Activity dependencies ==
 
== Activity dependencies ==
   −
Every activity which uses Sugar Services will contain additional options in activity.info file:
+
Every activity that uses Sugar Services will contain additional options in an activity.info file:
   −
* ''requires'' option, comma separated list of dependencies that should exist
+
* ''requires'' option, a comma-separated list of dependencies that should exist,
* ''suggests'' option, comma separated list of dependencies that could not exist
+
* ''suggests'' option, a comma-separated list of dependencies that could not exist.
   −
Each dependency could be:
+
Each dependency could be a,
   −
* service name, the full 0install link will be http://services.sugarlabs.org/<dependency-name>
+
* service name, the full 0install link will be http://services.sugarlabs.org/<dependency-name>,
 
* sub service slashed name, the full 0install link will be http://services.sugarlabs.org/<dependency-name>.xml
 
* sub service slashed name, the full 0install link will be http://services.sugarlabs.org/<dependency-name>.xml
* full 0install link
+
* full 0install link.
   −
In any case resulted 0install link will contain proper information about dependency - home page, link to sources, licence etc.
+
In any case, the resulting 0install link will contain the appropriate information about dependency - home page, link to sources, licence, etc.
   −
Activity itself doesn't contain any 0sugar related code, 0sugar will export proper environment variables to activity process e.g. PYTHONPATH or LD_LIBRARY_PATH thus dependencies could packaged and activity will not notice any differences between 0install dependencies and installed from packages. Exception is libsugarize service which exports LD_PRELOAD environment variable.
+
The activity itself doesn't contain any 0sugar-related code. 0sugar will export the appropriate environment variables to the activity process, e.g., PYTHONPATH or LD_LIBRARY_PATH. Thus, dependencies could be packaged and the activity will not notice any differences between 0install dependencies and those installed from packages. An exception is the libsugarize service, which exports the LD_PRELOAD environment variable.
    
== Cache directory ==
 
== Cache directory ==
   −
Every activity which uses Sugar Services will contain .0sugar subdirectory in activity root:
+
Every activity that uses Sugar Services will contain a .0sugar subdirectory in its activity root
   −
* to keep all dependencies implementations (to not download them on demand)<br>could be any content including binaries
+
* to keep all necessary dependency implementations (so as not to download them on demand).<br>This could be any content, including binaries.
* 0sugar launching code, since 0sugar is not part of Sugar Platform<br>pure python code
+
* 0sugar launching code, since 0sugar is not part of Sugar Platform.<br>This is pure python code.
* .0sugar/launch script that starts 0sugar launching code<br>''exec'' option from activity.info invokes this script
+
* .0sugar/launch script, which starts 0sugar launching code<br>The ''exec'' option from activity.info invokes this script.
 
  exec $(dirname $0)/<path-to-0sugar>/0sugar-selector "$@"
 
  exec $(dirname $0)/<path-to-0sugar>/0sugar-selector "$@"
   −
If all dependencies(including 0sugar) are packaged then this directory could be just removed.
+
If all dependencies (including 0sugar) are packaged, then this directory could be just removed.