Difference between revisions of "Platform Team/Guide/Sweets Usage"

From Sugar Labs
Jump to navigation Jump to search
(Created page with "This is a trying to replace jhbuild for core development process. It is inspired by evidence and simplicity of activity development workflow. == Requirements == * [[Platform_Te...")
 
Line 32: Line 32:
 
* ''sugar'' project should be cloned in any case,
 
* ''sugar'' project should be cloned in any case,
 
* glucose needs to be patched. It is not in master, so use bazaar branches[3] that are synced with the trunk:
 
* glucose needs to be patched. It is not in master, so use bazaar branches[3] that are synced with the trunk:
** git://git.sugarlabs.org/sugar-base/bazaar.git
+
** http://git.sugarlabs.org/projects/sugar-base/repos/bazaar
** git://git.sugarlabs.org/sugar/bazaar.git
+
** http://git.sugarlabs.org/projects/sugar/repos/bazaar
** git://git.sugarlabs.org/sugar-toolkit/bazaar.git
+
** http://git.sugarlabs.org/projects/sugar-toolkit/repos/bazaar
** git://git.sugarlabs.org/sugar-presence-service/bazaar.git
+
** http://git.sugarlabs.org/projects/sugar-presence-service/repos/bazaar
** git://git.sugarlabs.org/sugar-artwork/bazaar.git
+
** http://git.sugarlabs.org/projects/sugar-artwork/repos/bazaar
 
* dependency solving is inefficient and temporary, it will be replaced by invoking 0install in further implementation,
 
* dependency solving is inefficient and temporary, it will be replaced by invoking 0install in further implementation,
* build time dependencies need to be installed manually:
+
* build time dependencies need to be installed manually
# fedora based systems
+
 
  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
+
=== Fedora devel packages ===
# debian based systems
+
  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
  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
+
 
 +
=== 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 ===
 +
 
 +
Install analogs of Fedora/Debian devel packages. Clone Sugar specific dependencies to build them with {{Code|sweets}}:
 +
 
 +
* http://git.sugarlabs.org/projects/pyxpcom
 +
* http://git.sugarlabs.org/projects/hulahop/repos/bazaar

Revision as of 23:11, 24 October 2010

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.
  • 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 [Build] section in 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

Install analogs of Fedora/Debian devel packages. Clone Sugar specific dependencies to build them with sweets: