Difference between revisions of "Documentation Team/Obsolete/Services Activity Packagers Guide"

From Sugar Labs
Jump to navigation Jump to search
Line 21: Line 21:
 
* full 0install link
 
* full 0install link
  
In any case resulted 0install link will contain proper information dependency - home page, link to sources, licence etc.
+
In any case resulted 0install link will contain proper 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.
 
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.

Revision as of 16:44, 21 February 2010


Introduction

The purpose of this Guide is describing how to use package activities that use Sugar Services.

Activity dependencies

Every activity which uses Sugar Services will contain additional options in activity.info file:

  • requires option, comma separated list of dependencies that should exist
  • suggests option, comma separated list of dependencies that could not exist

Each dependency could be:

In any case resulted 0install link will contain proper 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.

Cache directory

Every activity which uses Sugar Services will contain .0sugar subdirectory in activity root:

  • to keep all dependencies implementations (to not download them on demand)
    could be any content including binaries
  • 0sugar launching code, since 0sugar is not part of Sugar Platform
    pure python code
  • .0sugar/launch script that starts 0sugar launching code
exec $(dirname $0)/<path-to-0sugar>/0sugar-selector "$@"

If all dependencies(including 0sugar) are packaged then this directory could be just removed.