Changes

no edit summary
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]].
    
== Installation ==
 
== Installation ==
Line 73: Line 73:  
It is possible to search sweets among locally known ones and registered on http://obs.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].
 
It is possible to search sweets among locally known ones and registered on http://obs.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].
   −
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}}.
+
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 wor
 
  −
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''' interface url, e.g., {{Code|http://sweets.sugarlabs.org/sdk/sugar}};
  −
* '''sweet''' interface 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 ==
  −
 
  −
During the first launch, sources will be auto-built and kept in internal storage. To make sweets useful for development, checkout developing project sources in sweets:
  −
 
  −
sweets checkout [''path-to-sources'']
  −
 
  −
The only thing that is required from sources is having a [[Platform Team/Recipe Specification|sweets.recipe]] spec file for non-activity projects or {{Code|activity/activity.info}} (that conforms to the same spec) for activities. All sweets for Glucose components are located in the http://git.sugarlabs.org/sdk project.
  −
 
  −
After being checked out, these sources might be launched using {{Code|<nowiki>http://</nowiki>sweets.sugarlabs.org/''sweet-value-from-sweets.recipe''}} or just mentioning a sweet value:
  −
 
  −
sweets ''sweet''
  −
 
  −
For glucose projects, you can find ready-to-use and always-rebased-to-upstream projects in the [http://git.sugarlabs.org/sdk SDK] http://git.sugarlabs.org project. For now, there are two branches: {{Code|master}} for recent trunk, and {{Code|master-0.88}} for 0.88 code based on Dextrose-2 patches.
  −
 
  −
Checked out projects will be built according to the {{Code|[Build]}} section commands in the {{Code|sweets.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 {{Code|make install them}} 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), just change the code and restart sugar.
  −
 
  −
=== Run sweets from X session ===
  −
 
  −
Place sweets invocation into your {{Code|~/.xsession}} file:
  −
 
  −
PATH=$HOME/.local/bin:$PATH
  −
sweets sdk/sugar
  −
 
  −
and create a {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:
  −
 
  −
[Desktop Entry]
  −
Encoding=UTF-8
  −
Name=Sweets
  −
GenericName=Sweets
  −
Exec=/etc/X11/Xsession
  −
Type=Application
  −
 
  −
== Current limitations ==
  −
 
  −
* For now, {{Code|sweets}} knowns only about the glucose dependencies to install them from native packages in Debian, Ubuntu, Fedora, Mandriva, openSUSE, and Gentoo.
  −
* Activities can't reuse sweets benefits.
  −
 
  −
== Feedback ==
  −
 
  −
* [http://bugs.sugarlabs.org/newticket?component=sweets Submit] your bug report.
  −
* Ask your question on IRC channels, [irc://irc.freenode.net/sugar #sugar] (not logged) or [irc://irc.freenode.net/sugar-newbies #sugar-newbies] (logged).