Platform Team/Guide/Sweets Usage

From Sugar Labs
Jump to navigation Jump to search

This guide describes how to use Doers environment for developing core modules.

Requirements

  • Install PackageKit and PackageKit authentication agent from native packages. On Debian based systems, these packages are packagekit and packagekit-gnome (for Gnome Desktop Environment).
  • PackageKit authentication agent should be launched to let sweets command install dependencies. Usually it is being started after being logged in to DE session (it isn't for Sugar session).
  • Download and launch self-extracted installer.
  • Installer will add ~/.local/bin directory to the PATH. So, relogin from X session to take into account new PATH.

Clone the sources

To checkout sugar project sources:

sweets --deep clone sugar

Where --deep says sweets process all dependencies.

Each project will be placed to to default ~/sweets directory. These are regular sources clones with one exception, each project contains sweets.recipe spec file. Projects might be cloned in regular way, sweets clone is just a convenient method since some of projects are gitorious forks.

Launch sugar

To launch sugar session:

sweets sugar

or to run from Xephyr:

sweets sugar:emulator

During the first launch, sources will be build. To rebuild them at any time:

sweets -ff make sweet

Run sweets from X session

Place sweets invocation to ~/.xsession file:

PATH=$HOME/.local/bin:$PATH
sweets sugar

and create /usr/share/xsessions/sweets.desktop desktop file:

[Desktop Entry]
Encoding=UTF-8
Name=Sweets
GenericName=Sweets
Exec=/etc/X11/Xsession
Type=Application

Develop

Project will be built according to [Build] section commands in recipe files. In general, for autotools based projects, there is no further need in sweets command, just run make install to build current sources and copy them to the directory that was specified by sweets on configure stage.

For glucose projects, there is no need even in calling make command, python code will be reused from original place (see binding options in recipe files), change the code and restart sugar.

Current limitations

  • glucose needs to be patched, thus these are gitorious forks.
  • packages cannot be build from sources without cloning
  • for now, sweets knowns only about glucose dependencies to install them from native packages in Debian, Ubuntu, Fedora, Mandriva, openSUSE and Gentoo.