Documentation Team/Obsolete/Services Activity Packagers Guide

From Sugar Labs

Jump to: navigation, search
  542-stopicon.png This page has been designated obsolete.
If you disagree with this designation, please explain why on its talk page.
Was only draft content.


Contents


Introduction

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

Activity dependencies

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

Each dependency could be a,

In any case, the resulting 0install link will contain the appropriate information about dependency - home page, link to sources, licence, etc.

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

Every activity that uses Sugar Services will contain a .0sugar subdirectory in its activity root

exec $(dirname $0)/<path-to-0sugar>/0sugar-selector "$@"

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

Personal tools
Namespaces
Variants
Actions
Sugar
Projects
Teams
Local Labs
Using the Wiki
Google translations