This can be change because we have a lot a plans of it.
There are two ways to achieve that.
- One is using the conary-policy-foresight ( what can change ) for packages that have no desktop file.
- Using the foresight-manage-metadata for packages what have desktop file.
Using conary-policy-foresight
When you are cooking/baking a package, this message may appear:
+ SetPackageMetadataFromRecipe: Package descriptions are not set; Application metadata is critical for a good user experience. Please consider fixing it
That its because packageSummary and packageDescription were not set in the recipe file.
example:
easygui.recipe
loadRecipe("python=@fl:2-devel") class Easygui(PackageRecipe): name = 'easygui' version = '0.85' packageSummary = "EasyGUI is a module for very simple, very easy GUI programming in Python." packageDescription = "Experienced Pythonistas need support for quick and dirty GUI features. New Python programmers need GUI "\ "capabilities that don't require any knowledge of Tkinter, frames, widgets, callbacks or lambda. This is what EasyGUI provides. "\ "Using EasyGUI, all GUI interactions are invoked by simple function calls. " buildRequires = ['python:devel', 'python:tk'] def setup(r): r.macros.sitepkgs = Python.sitepkgs r.addSource('easygui.py',dir="%(sitepkgs)s/")
result:
[zodman@cosmogirl easygui]$ conary scs easygui-0.85.ccs --info Name : easygui Build time: Fri Mar 13 00:34:11 2009 Version : 0.85-1-0.1 Label : local@local:COOK Size : 62470 Flavor : is: x86 Category : FileTransfer Category : GNOME Category : Internet Category : Network Summary : EasyGUI is a module for very simple, very easy GUI programming in Python. Description: Experienced Pythonistas need support for quick and dirty GUI features. New Python programmers need GUI capabilities that don't require any knowledge of Tkinter, frames, widgets, callbacks or lambda. This is what EasyGUI provides. Using EasyGUI, all GUI interactions are invoked by simple function calls.
Using the foresight-manage-metadata
The foresight-manage-metadata Mercurial contains several useful scripts.
So first get the foresight-manage-metadata:
$ hg clone http://www.foresightlinux.org/hg/foresight-manage-metadata
$ cd foresight-manage-metada/
You can set metadata from an existing desktop file. For a package already installed, look for its desktop file (usually under /usr/share/applications/)
$ sh parse-desktop-file.sh /usr/share/applications/christine.desktop foresight.rpath.org@fl:2-devel #################################################################### christine=foresight.rpath.org@fl:2-devel GTK;Application;AudioVideo Christine Media Player Gstreamer Based Media Player ####################################################################
To verify that the metadata was set:
$ conary rq christine=@fl:2-devel --info
Name : christine Build time: Fri Jan 23 00:02:07 2009
Version : 0.2.1-1-1 Label : foresight.rpath.org@fl:2-devel
Size : 1789852
Flavor : is: x86
Category : Application
Category : AudioVideo
Category : GTK
Summary : Christine Media Player
Description:
Gstreamer Based Media Player
Source : christine:source
Change log: Andres Vargas (zodman@foresightlinux.org)
update to upstream
Another way is to use add-metadata.py directly:
./add-metadata.py christine=foresight.rpath.org@fl:2-devel --short "Chrisitine Media Player" \ --long "Gstreamer Based Media Player" --url http://calibre.kovidgoyal.net \ --category Application --category AudioVideo --category GTK
So how it will show in packagekit's Package Browsing ?
check this GroupMapping