[packagekit] PackageKitExtra - package abstraction

Sebastian Heinlein glatzor at ubuntu.com
Mon Feb 18 03:09:06 PST 2008


1. Application

Most users are familiar with applications they use. So the idea is to
abstract the technical package names to the application level. This is
already done by gnome-app-install in Ubuntu, see
http://screencasts.ubuntu.com/MoS2007/12_Installing_Applications

I plan to add an application to view to update-manager in the near
future.

To achive this all .desktop files are extracted from the archive and
stored in a cache with some extra information. Currently all desktop
files are shiped in the app-install-data package so that the cache can
be rebuild afterwards again.

Here is the list of extra attributes that we use:

* X-AppInstall-Package
Name of the corresonding package

* X-AppInstall-Popcon
Integer that gives an idea how popular an application is. Calculated
from user statistics.

* X-AppInstall-Section
The section of the Ubuntu repository that the application is in. If not
enabled we enable the section before installing the application.
 
* X-AppInstall-Architectures
The architectures which are supported by the package

* X-AppInstall-Proprietary
Does it contain non-free code?

* X-AppInstall-Supported
Is it supported by Canonical?

* X-AppInstall-Channel
Label of a third party repository that contains the package of the
application and needs to be enabled before.

* X-AppInstall-Codecs
List of codes that are supported by the application. There are some
manual created applications for codec packages.

* X-AppInstall-PatentBadness
Possibly problematic code inside.


2. MIME-Type handler

If you want to open a file which non of your installed applications can
handle, the mime-type attribute in the above explained application cache
is searched and a list of suggested applications is presented.


3. Codecs

We already have got a common hook for codec installers in gstreamer.
Would perhaps be nice to abstract this even further.


4. Commands

If you type in a not installed command into your terminal, Ubuntu
currently looks in to a command cache and presents packages that provide
this command:

renate at laptop:~$ ncftp ftp.ubuntu.com
The program 'ncftp' can be found in the following packages:
 * ncftp
 * ncftp2
Try: sudo apt-get install <selected package>
bash: ncftp: command not found

@Richard:

Do you already have got some rough ideas about PkExtra?

Cheers,

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lists.freedesktop.org/archives/packagekit/attachments/20080218/fb4bcb59/attachment-0004.pgp>


More information about the PackageKit mailing list