Sessioninstaller allows applications to easily install additional software (e.g. extensions or GSreamer codecs), to uninstall files and to perform simple software status queries by implementing the distribution neutral D-Bus session interface of PackageKit.
The whole process of confirmation, error reporting and progress notification is handled by sessioninstaller.
The reference implementation of the D-Bus interface can be found in gnome-packagekit. It was also adpoted by KPackageKit.
In contrast to gnome-packagekit and KPackageKit it doesn't use the PackageKit daemon for querying and installation, but instead makes use of APT and aptdaemon (alternatively synaptic can be used).
The project is hosted at Launchpad: https://www.launchpad.net/sessioninstaller
The source code is maintained in a bzr branch: bzr branch lp:sessioninstaller
Bugs can be reported at the project home page.
Feel free to contact me if you have got any questions, suggestions or comments. My email address is devel AT glatzor DOT de.
The following list shows the implementation status of each interface method.
?InstallPackageFile: Works with aptdaemon backend. Problem with handling multiple files.
?InstallProvideFiles: Not supported. Could be implemented using apt-file.
?InstallPackageNames: Fully supported.
?InstallMimeTypes: Not supported. Could make use of app-install-data mime types database or software-centers xapian database.
?InstallFontConfigResources: Not supported. There in't any package font mapping available in Debian and Ubuntu.
InstallGStreamerResources: Fully supported.
?InstallPrinterDrivers: Not supported.
?RemovePackageByFiles: Fully supported.
The interaction mode which allows to hide certain confirmations and dialogs is not supported. Currently sessioninstaller will always show all dialogs.