Changes

no edit summary
Line 4: Line 4:     
* 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). For Fedora, {{code|PackageKit}} and {{Code|gnome-packagekit}}.
 
* 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). For Fedora, {{code|PackageKit}} and {{Code|gnome-packagekit}}.
 +
 
* PackageKit authentication agent should be launched to let the {{Code|sweets}} command install dependencies. Usually it is started after being logged into a Desktop Environment 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 Desktop Environment session (it isn't for Sugar session).
* Download and launch our [http://download.sugarlabs.org/packages/0sugar/sweets.sh self-extracted installer]. Note, sweets is not intended to be installed from {{Code|root}} user, use your current system user all time.
  −
* 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}}.
     −
{{Admon/warning|In the current implementation, installation progress is not reported while installing packages via PackageKit.|When there are many dependencies to install for the first time, it might take some time to install them.<br>To see installation progress use the {{Code|pkmon}} command.}}
+
* Clone sweets sources and install it (after the first run you need to relogin to take into account new PATH value, then just run {{Code|sweets}} command):
 +
 
 +
git clone --recursive git://git.sugarlabs.org/sdk/sweets.git
 +
sweets/sweets upgrade
 +
 
 +
== Launch sugar ==
 +
 
 +
To launch sugar session:
 +
 
 +
sweets sdk/sugar
 +
 
 +
or to run from Xephyr:
 +
 
 +
sweets sdk/sugar:emulator
 +
 
 +
== Development workflow with sweets ==
   −
== Clone the sources ==
     −
To checkout sugar project sources:
     −
sweets --refresh --deep clone sugar
     −
Where {{Code|--deep}} says {{Code|sweets}} process all dependencies.
     −
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 the regular way; {{Code|sweets clone}} is just a convenient method since some of the 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 auto-built and kept in internal storage. To make sweets useful for the code you are developing, register sources ([[Platform Team/Recipe Specification|sweets.recipe]] should exist in sources):
   −
To see the progress of your sweet command
+
sweets checkout [''path-to-sources'']
   −
sweets -v sugar:emulator
+
After that, sources might be launched via sweets by mentioning its ''sweet'' value.
   −
To see 0install logs
+
  sweets ''your-sweet''
  −
  sweets -vvv sugar:emulator
     −
During the first launch, sources will be built. To rebuild them at any time:
+
Registered 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.
   −
sweets -ff make ''sweet''
+
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 [[Platform Team/Recipe Specification|sweets.recipe]] files), change the code and restart sugar.
   −
To see build output, use {{Code|-v}} command line argument (adding more {{Code|-v}} arguments will increase verbose level).
+
For activities, follow regular activity developing procedure - clone them to {{Code|~/Activities}} directory and run from sugar shell.
    
=== Run sweets from X session ===
 
=== Run sweets from X session ===
Line 50: Line 52:     
  PATH=$HOME/.local/bin:$PATH
 
  PATH=$HOME/.local/bin:$PATH
  sweets sugar
+
  sweets sdk/sugar
    
and create a {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:
 
and create a {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:
Line 60: Line 62:  
  Exec=/etc/X11/Xsession
 
  Exec=/etc/X11/Xsession
 
  Type=Application
 
  Type=Application
  −
== Development workflow with sweets ==
  −
  −
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 the {{Code|make}} command, python code will be reused from its original place (see {{Code|binding}} options in [[Platform Team/Recipe Specification|sweets.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.
  −
  −
== Upgrade ==
  −
  −
To use testing versions, enable "Help test new versions" checkbox on:
  −
  −
0launch -g
  −
  −
To upgrade sweets itself to the recent version:
  −
  −
sweets -R upgrade
  −
  −
== Run sweets from sources ==
  −
  −
git clone --recursive git://git.sugarlabs.org/sdk/sweets.git
  −
sweets/sweets upgrade
  −
  −
After the first run, you need to relogin to take into account new PATH value. Then, just run {{Code|sweets}} command.
      
== Current limitations ==
 
== Current limitations ==
   −
* Glucose needs to be patched, thus these are gitorious forks.
  −
* 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.