Platform Team/Guide/Sweets Usage

From Sugar Labs
Jump to navigation Jump to search

This is a trying to replace jhbuild for core development process. It is inspired by evidence and simplicity of activity development workflow.

Requirements

  • Install sweets command.
  • Attach Platform and Core Bazaar repositories for one of supported GNU/Linux distributions (otherwise follow instructions).
  • Download Sugar from Bazaar to install all sugar dependencies and sugar itself (to use by default):
sweets download sugar/emulator

Usage

Clone any glucose projects to ~/sweets or ~/Activities directory. While running sugar, these cloned projects will be used instead of installed packages.

To run sugar emulator:

sweets sugar/emulator

To run sugar session, instead of sugar command, use:

sweets sugar

While launching, sweets will check if cloned projects were built and run building otherwise. To rerun building, being within particular cloned repository, use:

sweets build -f

To rebuild with reconfiguring:

sweets build -ff

You can change python code in cloned projects without a need to run build command (the same .py files are used to run sugar, see implement option in sweets.recipe file for particular project), of course sugar itself should be restarted to take into account new .py code.

Current limitations

Most of current restrictions are conditioned by not using 0install and will be fixed while 0.92 sucrose release cycle. They are:

Fedora devel packages

sudo yum install autoconf automake libtool make intltool pygtk2-devel gtk2-devel GConf2-devel gnome-common icon-slicer icon-naming-utils xorg-x11-apps libSM-devel alsa-lib-devel

Debian/Ubuntu devel packages

sudo apt-get install build-essential intltool python-gtk2-dev libgtk2.0-dev libgconf2-dev icon-slicer icon-naming-utils x11-apps  libsm-dev libasound2-dev libtool gnome-common

Not supported distributions

In addition to all core projects, clone Sugar specific dependencies to build them with sweets:

See requires options in sweets.recipe files for each cloned project to know what packages (except cloned projects) should be installed from native packages.