While working on the preview of GNOME Software for Fedora 20, one problem became very apparent: When you launched the “Software” application for the first time, it went and downloaded metadata and then built the libsolv cache. This could take a few minutes of looking at a spinner, and was a really bad first experience. We tried really hard to mitagate this, in that when we ask PackageKit for data we say we don’t mind the cache being old, but on a LiveCD or on first install there wasn’t any metadata at all.
So, what are we doing for F21? We can’t run packagekitd when constructing the live image as it’s a D-Bus daemon and will be looking at the system root, not the live-cd root. Enter packagekit-direct
. This is an admin-only tool (no man page) installed in /usr/libexec
that designed to be run when you want to run the PackageKit backend without getting D-Bus involved.
For Fedora 21 we’ll be running something like DESTDIR=$INSTALL_ROOT /usr/libexec/packagekit-direct refresh
in fedora-live-workstation.ks
. This means that when the Live image is booted we’ve got both the distro metadata to use, and the libsolv files already built. Launching gnome-software then takes 440ms until it’s usable.
“tool (no manpage)” is directly against Debian policy: https://www.debian.org/doc/debian-policy/ch-docs.html#s12.1 . Better write one, before Debian folks write it badly for you.
It’s in libexec (libdir/packagekit on debian iirc), which I think makes it exempt. Certainly from a RHEL point of view, anyway :)
Since this will end up in /usr/lib/packagekit in Debian, no manpage is required (would of course be nice, but…)
Great to finally see a tool for direct access to PK backends ;-) We most certainly want to use it in Debian as well.
WoW, so much great progress. I am glad you are the contributor Richard, because I can really see your passion for your work on each new article that you write :)
Keep it up! GNOME Software can only get better :D