Changes

Jump to navigation Jump to search
Undo revision 69143 by Alsroot (talk)
Line 1: Line 1: −
This guide describes how to use Sugar Labs' Packaging Management System.
+
This guide describes how to use Sugar Labs' Packaging Management System. See also [[Platform_Team/Sweets|introduction page]].
   −
== Requirements ==
+
== Installation ==
   −
* 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}}.
+
=== Required packages ===
   −
* 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).
+
At first, install PackageKit related packages. The following command will install two Polkit authentication agents, one for Gnome session (if you start sugar emulator from Gnome Desktop Environment) and LXPolkit that will be used from Sugar session.
 +
 
 +
Fedora specific instructions:
 +
sudo yum install gnome-packagekit lxpolkit
 +
 
 +
Debian and Ubuntu specific instructons (there is no official package for LXPolkit?):
 +
sudo apt-get install packagekit-gnome
 +
 
 +
Relogin from X session to let Gnome or Sugar start Polkit authentication agent.
 +
 
 +
=== Bundle install ===
 +
 
 +
wget http://download.sugarlabs.org/sweets/sweets/installer.sh
 +
sh installer.sh
 +
 
 +
Relogin from X session to take into account new PATH environment variable value.
 +
 
 +
=== Sources install ===
 +
 
 +
This will be useful for people who prefer using sources.
    
* Clone sweets sources and install it (after the first run, you need to relogin to take into account the new PATH value, then just run {{Code|sweets}} command):
 
* Clone sweets sources and install it (after the first run, you need to relogin to take into account the new PATH value, then just run {{Code|sweets}} command):
   −
  git clone --recursive git://git.sugarlabs.org/sdk/sweets.git
+
  git clone git://git.sugarlabs.org/sdk/sweets.git
  sweets/sweets upgrade
+
  cd sweets
 +
git submodule init
 +
git submodule update
 +
./sweets upgrade
 +
 
 +
=== Upgrade ===
 +
 
 +
If sweets was installed from a bundle:
 +
 
 +
sweets upgrade
 +
 
 +
If sweets is being used from sources, pull new commits from cloned directory:
 +
 
 +
git pull origin master
 +
git submodule update
    
== Launch sugar ==
 
== Launch sugar ==
Line 25: Line 58:     
  sweets sdk/sugar:emulator=0.88
 
  sweets sdk/sugar:emulator=0.88
 +
 +
To get the full list of available versions:
 +
sweets show sdk/sugar -v
    
For launch command, all arguments passed after sweet name are treated as launched sweet's arguments. For example, it is possible to run sugar by bassing {{Code|-f}} argument:
 
For launch command, all arguments passed after sweet name are treated as launched sweet's arguments. For example, it is possible to run sugar by bassing {{Code|-f}} argument:
    
  sweets sdk/sugar:emulator=0.88 -f
 
  sweets sdk/sugar:emulator=0.88 -f
 +
 +
If sweets can't find proper implementation, see the {{Code|E}} lines in output of:
 +
sweets show sdk/sugar -vdd
 +
 +
== Search ==
 +
 +
It is possible to search sweets among locally known ones and registered on http://sweets.sugarlabs.org (not yet implemented). The search is based on [http://xapian.org/ Xapian] search engine. Thus, it is possible to use Xapian's [http://xapian.org/docs/queryparser.html query language].
 +
 +
For command format is:
 +
 +
sweets search ''query''
 +
 +
Notice that [http://xapian.org/docs/queryparser.html#partially-entered-query-matching partial] search is enabled. So, the query {{Code|tele}} will be treated as {{Code|tele*}} to search all words that start from {{Code|tele}}.
 +
 +
Sweets supports following search [http://xapian.org/docs/queryparser.html#searching-within-a-probabilistic-field prefixes] basing of [[Platform_Team/Recipe_Specification|recipe options]]:
 +
 +
* '''interface''' the first interface from implementations list, e.g., {{Code|http://sweets.sugarlabs.org/sdk/sugar}};
 +
* '''sweet''' the first interface from implementations list in short Sweets notations, e.g., {{Code|sdk/sugar}};
 +
* '''implement''' the list of implemented interfaces;
 +
* '''associate''' the list of associated interface;
 +
* '''name''' the short name of a sweet;
 +
* '''summary''' sweet's summary;
 +
* '''description''' long sweet's description;
 +
* '''category''' list of category names;
 +
* '''license''' list of licenses;
 +
* '''type''' sweet's type, might be {{Code|library}}, {{Code|application}} or {{Code|activity}};
 +
* '''keep''' if activity, that a sweet is representing, is favorited;
 +
* '''tags''' the list of sweet's tags;
 +
* '''mime_types''' the list of MIME types activity, that a sweet is representing, supports.
 +
 +
So, it possible to search only among particular sweet attributes, like {{Code|name:telepathy}} to search only among sweet names.
 +
 +
Sweets support additional notation for exact searching in form of {{Code|''prefix''<nowiki>:=</nowiki>''string''}}. For example the query {{Code|name<nowiki>:=</nowiki>sugar}} will find sweets only with exactly {{Code|sugar}} name and omit names like {{Code|sugar-base}}. If search string contains spaces, wrap it to double quotes, {{Code|name<nowiki>:=</nowiki>"Sugar Commander"}}. Note, wildcards does not work in exact search case and asterisks will be treated literally.
    
== Development workflow with sweets ==
 
== Development workflow with sweets ==
Line 50: Line 119:  
Place sweets invocation into your {{Code|~/.xsession}} file:
 
Place sweets invocation into your {{Code|~/.xsession}} file:
   −
PATH=$HOME/.local/bin:$PATH
   
  sweets sdk/sugar
 
  sweets sdk/sugar
  

Navigation menu