On Wed, Jun 16, 2010 at 11:09:32PM +0200, Josselin Mouette wrote: > Le mercredi 16 juin 2010 à 21:33 +0200, Petter Reinholdtsen a écrit : > > > Fedora 13 provides PackageKit to install hardware specific packages > > > after installation. Perhaps we should extend the discover system to > > > listen to DBus events and install hardware packages also after > > > installation? Or port PackageKit to Debian and use it instead? > > > > Anyone know how this work? Basically PackageKit is just a common interface and a daemon to handle transactions. The work is done by backends. The PackageKit daemon just receives the request for a driver and routes it to the backend. But you also need some client tools: The always running gpk-update-icon and the DBus activated gpk-service tools from gnome-packagekit. Both run in the user session and listen to the session D-Bus. The tools provide the end user dialogs and guide the user through the installation process: AFAIK there are currently 3 ways to install drivers/firmware: * gpk-update-icon which is part of gnome-packagekit monitors /dev/.udev/firmware-missing * gpk-update-icon listens to the DeviceAdded signal of hal * gpk-service provides a InstallPrinterDriver method. I think that it called by the cups management application The above clients call the WhatProvides method of the system PackageKit daemon to query the corresponding packages. Which is implemented differently by each backend. I haven't looked at the details of the yum backend which is used by Fedora. The apt and aptcc backend don't provide any firmware/driver query capabilities. Furthermore there is a small tool in packgekit which rebinds devices to tigger the loading of a recently installed firmware. > PackageKit is not suitable for Debian, but Ubuntu reimplemented the same > D-Bus interface on top of aptdaemon (session-installer). It has recently > entered unstable. Actually aptdaemon and sessioninstaller are not implemented by "Ubuntu", but I get a lot of support and patches from Michael Vogt and Matthew Paul Thomas. Canonical's software-center is "just" the main user. I started to work on the projects since I was a little bit frustrated about the design limits of PackageKit. The packagekit daemon wants to keep things simple and provide a complete backend for a basic package manager - including search operations. In contrast aptdaemon only handles the core methods which require root privileges - but making use of advanced features (e.g. debconf support, config file handling and since recently plugins and future cache calculation). The system DBus interface of aptdaemon is not compatible with the one of PackageKit. The search and query operations should be handled by the client applications since a modern package management GUI needs a lot of distro specific information, see software-center compared to gpk-application or kpackagekit. > This interface is able to install packages given their name - if it’s > only for that, you can also use aptdaemon directly, the only advantage > is that it’s the same as Fedora’s. Sessioninstaller implements the session DBus interface of PackageKit which is provided by gnome-packagekit and kpackagekit, but uses synaptic or aptdaemon for the installation. The interfaces should stay compatible in the future, since third party software is supposed to call the session interface to install software, plugins, fonts, printer drivers or gstreamer resources. The system interface should only be called by fully blown package managers. Sessioninstaller currently supports installing by file name (requires apt-file), by gstreamer resources and by mime type handler (requires app-install-data). Printer drivers and fonts are not supported, since there isn't yet any corresponding infrastructure in Debian or Ubuntu. If you want to extend the interface we could discuss this on the PackageKit list. Richard is generally open to improvements. > In all cases this implies writing a session daemon that listens to > events when hardware is plugged, and asks the user for conformation > before installing hardware-specific packages. I don’t know whether the > stuff from Fedora can be re-used. I remember vaguely the hermes project of Guadalinex - an Ubuntu derivate of the Spanish administration. It provided nearly the same functionality. But it was some years back when I looked at the code. Finally there is also jockey of Ubuntu. But I am not familiar with it. Cheers, Sebastian
Attachment:
signature.asc
Description: Digital signature