Bringing The PackageKit Interface To Ubuntu

Back during the Ubuntu 12.04 Developer Summit in Orlando, PackageKit integration was talked about. However, it's not bringing PackageKit to Ubuntu Linux, but rather just their interfaces and they will interact with Canonical's own design.
Sebastian Heinlein yesterday wrote to PackageKit DBus Interface in Ubuntu - It is the API that matters! to the Ubuntu development mailing list. He's the developer working on bringing the PackageKit system D-Bus interface to the Ubuntu desktop by adding a compatibility layer that in turn will make it poke AptDaemon, which is Canonical's preferred software management service for Ubuntu.
However, this API re-implementation of PackageKit will not be complete. " We won't support every last piece of PackageKit but those which are relevant for an APT based package managing."
For those wondering why they don't replace AptDaemon with PackageKit, which is a critical part of GNOME and is used by several other Linux distributions, including Fedora, here's the answer:
Why not replace AptDaemon by PackageKit at all? The answer is that we need a highly integrated backend for software-center: chaining of transactions, storing meta-data in transactions, handling of purchases, downloading while installing (coming feature), inheritance of PolicyKit priviliges, configuration file conflict support, fast adding of new API (e.g. AddLicenseKey) ...
Richard Hughes, the lead developer of PackageKit, has already responded to ask about this incomplete PackageKit implementation and to say "it's a shame the new API couldn't be added to PackageKit itself. Even stuff like AddLicenseKey would make sense as it could be re-used by RHEL, SLED and that kind of thing."
More details about the proposed PackageKit implementation for Ubuntu 12.04 LTS can be found in the aforementioned mailing list posting or on this Ubuntu Wiki page.
There's also plans to implement systemd support in a similar way under Ubuntu -- just to take advantage of their system interfaces and integrate that into the Ubuntu stack -- as systemd is being required by some GNOME3 packages as well.
14 Comments