2,485 bytes added
, 22:24, 23 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 ==
* [[Platform_Team/Guide/sweets_command#Install|Install]] {{Code|sweets}} command.
* [[Platform_Team/Guide/sweets_command#Native_package_repositories|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 {{Code|~/sweets}} or {{Code|~/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 {{Code|sugar}} command, use:
sweets sugar
While launching, {{Code|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:
* ''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:
** git://git.sugarlabs.org/sugar-base/bazaar.git
** git://git.sugarlabs.org/sugar/bazaar.git
** git://git.sugarlabs.org/sugar-toolkit/bazaar.git
** git://git.sugarlabs.org/sugar-presence-service/bazaar.git
** git://git.sugarlabs.org/sugar-artwork/bazaar.git
* dependency solving is inefficient and temporary, it will be replaced by invoking 0install in further implementation,
* 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
# debian based systems
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