Platform Team/Guide/Sweets Usage: Difference between revisions

No edit summary
Line 1: Line 1:
This guide describes how to use [[Platform_Team/Doers_environment|Doers environment]] for developing core modules.
This guide describes how to use Sugar Labs' [[Platform_Team/Doers_environment|Doers environment]] for developing core modules.


== Requirements ==
== Requirements ==


* Install PackageKit and PackageKit authentication agent from native packages. On Debian based systems, these packages are {{Code|packagekit}} and {{Code|packagekit-gnome}} (for Gnome Desktop Environment).
* Install PackageKit and PackageKit authentication agent from native packages. On Debian-based systems, these packages are {{Code|packagekit}} and {{Code|packagekit-gnome}} (for Gnome Desktop Environment).
* PackageKit authentication agent should be launched to let {{Code|sweets}} command install dependencies. Usually it is being started after being logged in to DE session (it isn't for Sugar session).
* PackageKit authentication agent should be launched to let the {{Code|sweets}} command install dependencies. Usually it is started after being logged into a Doers environment session (it isn't for Sugar session).
* Download and launch [http://download.sugarlabs.org/packages/0sugar/sweets.sh self-extracted installer].
* Download and launch our [http://download.sugarlabs.org/packages/0sugar/sweets.sh self-extracted installer].
* Installer will add {{Code|~/.local/bin}} directory to the {{Code|PATH}}. So, relogin from X session to take into account new {{Code|PATH}}.
* Installer will add {{Code|~/.local/bin}} directory to the {{Code|PATH}}. So, re-login from an X session to take into account the new {{Code|PATH}}.


== Clone the sources ==
== Clone the sources ==
Line 16: Line 16:
Where {{Code|--deep}} says {{Code|sweets}} process all dependencies.
Where {{Code|--deep}} says {{Code|sweets}} process all dependencies.


Each project will be placed to to default {{Code|~/sweets}} directory. These are regular sources clones with one exception, each project contains [[Platform Team/Recipe Specification|sweets.recipe]] spec file.
Each project will be placed into the default {{Code|~/sweets}} directory. These are regular sources clones with one exception, each project contains a [[Platform Team/Recipe Specification|sweets.recipe]] spec file.
Projects might be cloned in regular way, {{Code|sweets clone}} is just a convenient method since some of projects are gitorious forks.
Projects might be cloned in the regular way; {{Code|sweets clone}} is just a convenient method since some of the projects are gitorious forks.


== Launch sugar ==
== Launch sugar ==
Line 29: Line 29:
  sweets sugar:emulator
  sweets sugar:emulator


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


  sweets -ff make ''sweet''
  sweets -ff make ''sweet''
Line 35: Line 35:
=== Run sweets from X session ===
=== Run sweets from X session ===


Place sweets invocation to {{Code|~/.xsession}} file:
Place sweets invocation into your {{Code|~/.xsession}} file:


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


and create {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:
and create a {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:


  [Desktop Entry]
  [Desktop Entry]
Line 51: Line 51:
== Develop ==
== Develop ==


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


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


For activities, follow regular activity developing procedure - clone them to {{Code|~/Activities}} directory and run from sugar shell.
For activities, follow regular activity developing procedure - clone them to {{Code|~/Activities}} directory and run from sugar shell.
Line 79: Line 79:


* Glucose needs to be patched, thus these are gitorious forks.
* Glucose needs to be patched, thus these are gitorious forks.
* Packages cannot be build from sources without cloning
* Packages cannot be built from sources without cloning.
* For now, {{Code|sweets}} knowns only about glucose dependencies to install them from native packages in Debian, Ubuntu, Fedora, Mandriva, openSUSE and Gentoo.
* For now, {{Code|sweets}} knowns only about glucose dependencies to install them from native packages in Debian, Ubuntu, Fedora, Mandriva, openSUSE, and Gentoo.
* Activities can't reuse sweets benefits.
* Activities can't reuse sweets benefits.