[packagekit] glib2 status

Richard Hughes hughsient at gmail.com
Wed Sep 9 04:37:38 PDT 2009


So, I've been hacking more on glib2. All of the client/ and contrib/
code is either working with #ifdef PK_BUILD_GLIB2 defines, or where
the amount of code changed was excessive, a new $program-name-test.c
file to build. This has been all pushed to master.

The code in /src has been converted too, but it was not possible to
make this compile with #ifdefs due to the complexity. This remains in
a private branch in my tree.

So, what are my results so far:

* the glib2 library is actually a lot simpler than the glib1
* the glib2 library is easier to use
* it's harder to write buggy programs with glib2

So, obviously I want to convert all the PackageKit and
gnome-packagekit tools over to using the new library as soon as
possible. But, the new library makes heavy use of
g_cancellable_connect() and g_ptr_array_ref(), both of which appeared
in GLib 2.22, and I don't want to upset all you developers. I'm
running glib2-2.21.6-1.fc12.i686 here at the moment, and this works
well, although this wouldn't be available on Fedora 11.

I don't really want to carry around two lots of the client code for
more than a release or so, so how about glib2 becomes the default for
the next release (3 weeks time). Developers should have no problems
using a new glib, as jhbuild makes this easy if you want to play with
experimental code and distributors can always backport fixes to
private branches.

If you're unwilling to upgrade glib just for PackageKit and you're
just developing a binding (say, for instance, packagekit-qt) you can
locally remove the secondary checks for glib2, and just don't try to
build the daemon or anything in client or contrib. Comments?

Richard.



More information about the PackageKit mailing list