From Fedora Project Wiki

Revision as of 15:25, 5 February 2009 by Rhughes (talk | contribs) (initial page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

PackageKit Desktop Integration

Summary

PackageKit is a simple system service that manages the users package tool. It exposes a low level DBus API that aplications and other frameworks can use.

gnome-packagekit builds on the low level DBus API with a high level interface. This allows programs on the desktop to automatically install applications, fonts, multimedia codecs and clipart.

Owner

Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-02-05
  • Percentage of completion: 77%

PackageKit and gnome-packagekit have been built in rawhide. rpm has been patched to generate automatic provides for gstreamer plugins since F10, but has now got support for mimehandlers in the last week. In the next few days the font handling code will be enabled.

For the automatic provides to be added, packages have to be rebuilt. It is expected that the rebuild due to GCC 4.4 will do most of this work for us automatically.

Detailed Description

When a user gets sent a document in a foreign langauge, a media file in an unknown format or a file that nautilus does not recognise, then we shouldn't ask them to consult a wiki and then install packages manually. This stuff should just work. Adding automatic provides to the rpm's means that we can integrate with frameworks such as Pango, GStreamer and applications such as nautilus to make installing packages seamless.

Benefit to Fedora

Fedora just works for users. No configuring, no reading wiki pages, just confirming an install makes things "just work".

Scope

This feature depends on patches to rpm, with a full rebuild of all desktop programs and fonts. Most of the needed patches are in the rawhide build of rpm, and are heading upstream.

To work with KDE, kpackagekit will been to support the same session API. They are working on it, but are low on resources. This feature does not depend on the KPackageKit effort.

How To Test

  1. Try to open unknown file format, for instance CDR
  2. Try to play mp3 with other repositories enabled
  3. Open a document (for instance GLASS.txt) with multiple languages in abiword

User Experience

There is a new popup when trying to play an unsupported media file:

There is a new popup when trying to open an unknown file:

There is a new popup when trying to open a document with other fonts:

Dependencies

  • PackageKit >= 0.4.4: For the new provide names in rpm (Due Monday 9th Feb)
  • Patches to rpm >= rpm-4.6.0-0.rc4 : (Mostly done, need work on the fonts patch)
  • Rebuild of anything with a .ttf font or a .desktop file in the archive (Due for GCC 4.4 rebuild)

Contingency Plan

We turn off the auto-font and auto-mime handler in gnome-packagekit and do what we used to do (nothing).

Documentation

  1. http://blogs.gnome.org/hughsie/2008/12/01/packagekit-and-pango-are-now-friends/
  2. http://blogs.gnome.org/hughsie/2008/10/02/codec-install-in-fedora-10/
  3. http://www.packagekit.org/gtk-doc/api-reference.html
  4. http://www.packagekit.org/gtk-doc/api-reference-session.html

Release Notes

Fedora 11 features a new version of rpm that generates much more metadata for fonts, codecs and applications. This extra metadata is used by PackageKit to automatically install fonts, applications and codecs when they are required.

Comments and Discussion

See Talk:Features/AutoFontsAndMimeInstaller