[packagekit] Raising the quality of backends

Richard Hughes hughsient at gmail.com
Mon Sep 8 14:08:32 PDT 2014


Hi all,

I'm starting to be a lot more strict removing backends that either
don't compile, or are just unmaintained. Here's a list of what we've
got, and some of the problems:

alpm: ignored cache-age, missing downloaded filter, missing application filter
apt: unmaintained since May 2012, ignored cache-age, missing downloaded filter
aptcc: ignored cache-age, missing application filter
entropy: unmaintained since December 2013, ignored cache-age, missing
downloaded filter, missing application filter
hif: missing groups support
katja: ignored cache-age, missing downloaded filter, missing application filter
urpmi: unmaintained since Jan 2014, ignored cache-age, missing
downloaded filter, missing application filter
pisi: unmaintained since Sep 2013, ignored cache-age, missing
downloaded filter, missing application filter
zypp: ignored cache-age, missing downloaded filter, missing application filter
poldek: unmaintained since Oct 2013, ignored cache-age, missing
downloaded filter, missing application filter
portage: unmaintained since Nov 2013, ignored cache-age, missing
downloaded filter, missing application filter
ports: unmaintained since May 2013, ignored cache-age, missing
downloaded filter, missing application filter

These are pretty easy to fix. The cache age is a job property that
tells the backed when to get new metadata, so if we send a
GetUpdates() with a cache_age of 1 week, and the metadata is only 5
days old, we return the cached results without downloading new
metadata. This is needed to make the gnome packagekit and gnome
software UI's to appear without a spinner showing for minutes on end.

The downloaded filter just filters out results that have not already
been downloaded, and is needed for the offline update mechanism being
pushed by gnome-software. The application filter is a way of filtering
the update and installed lists to just packages that contain a
/usr/share/applications/*.desktop file in the file list and is crucial
to making GetPackages() to work in anything like an acceptable time
for a GUI client.

All these "new" features have existed for a very long time. I don't
see the point in keeping obsolete and unmaintained backends, and so
any backend that's been two years unmaintained without any of the
stuff introduced since 0.8.x is going to be removed in the next few
months. I've already removed the woefully out-of-date ones like yum,
box, opkg and smart.

Richard


More information about the PackageKit mailing list