Added by zodman, last edited by zodman on Jul 03, 2010  (view change)

Labels:

devel devel Delete
development development Delete
packages packages Delete
applications applications Delete
metadata metadata Delete
apps apps Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

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

Why metadata not work good