Free software
PackageKit is a free and open-source suite of software applications designed to provide a consistent and high-level abstraction layer for a number of different package management systems. PackageKit was created by Richard Hughes in 2007, and first introduced into an operating system as a default application in May 2008 with the release of Fedora 9.
The suite is cross-platform, though it is primarily targeted at Linux distributions which follow the interoperability standards set out by the freedesktop.org group. It uses the software libraries provided by the D-Bus and Polkit projects to handle inter-process communication and privilege negotiation respectively.
PackageKit seeks to introduce automatic updates without having to authenticate as root, fast-user-switching, warnings translated into the correct locale, common upstream GNOME and KDE tools and one software over multiple Linux distributions.
Although PackageKit is still maintained, no major features have been developed since around 2014, and the package's maintainer suggested that it could be replaced by plugins for other tools, such as Flatpak and Snap as they become more popular. However, a D-Bus interface would still be needed to support managing packages on mutable file systems.
Software architecture.
PackageKit runs as a system-activated daemon, named codice_1, which abstracts out differences between the different systems. A library called codice_2 allows other programs to interact with PackageKit.
Features include:
Front-ends.
GTK-based:
Qt-based:
Back-ends.
A number of different package management systems (known as back-ends) support different abstract methods and signals used by the front-end tools. Supported back-ends include:
References.
 ;templatestyles src="Reflist/styles.css" / ;