PackageKit YUM backend complete, and the update viewer

Tim has just committed the last parts to the yum backend in PackageKit:

Now, we have to focus on:

  • The APT backend
  • Adding unit tests (use “make gcov” to get a nice report)
  • Finding performance hot-spots (use “make gprof” to help)
  • Finding memory leaks in client and server programs (use valgrind)
  • Adding more sane commenting and gtk-doc markup to functions
  • A new release

But before that, I need to put the update detail into the pk-update-viewer application. At the moment I've got this:

I have to put the following into the bottom 'pane' somehow:

  • package_id (contains what repo it's coming from and the name arch and version)
  • updates (what packages are updated by this package)
  • obsoletes (what is updated by this package)
  • url (a link to a security advisory etc.)
  • restart (if we need to restart or logout/login)
  • update_text (all the description about why the update was done)

The button should be the url link, but I'm stuck otherwise. Ideas welcome, as I'm not GUI design legend.

Random errors…

Taken from “man va_start”
If there is no next argument, or if type is not compatible with the type of the actual next argument (as promoted according to the default argument promotions), random errors will occur.

Just what I like. Random errors.

PackageKit groups

The PackageKit team have been rocking recently with lots of new features and bugfixes. There is yum group support thanks to Tim, and soon there will be other backends supported too.

The screenshot below just shows what pk-application looks like with groups support. All the names are translated into the session users locale, as you would expect. Comments welcome.

pk-application with groups support

gnome-packagekit 0.1.1 release!

Translations:

  • Updated Norwegian bokmål translation (Kjartan Maraas)
  • Add Polish translation (Piotr Drąg)

New features:

  • Show an icon when we are waiting, to give feedback when yum is waiting for a command line tool to release the lock (Richard Hughes)
  • Connect up the Requires button in the toolbar (Grzegorz Dabrowski)
  • Add a desktop icon for pk-repo (Richard Hughes)

Bugfixes

  • Use the new API in PackageKit to get the cached data (Richard Hughes)
  • Use a local copy of libgbus to stop the startup race of gnome-power-manager, gnome-screensaver and pk-update-icon from preventing the update icon to show on first login (Richard Hughes)
  • Spin the progress bar at the same speed between applications (Richard Hughes)

Tarball available here.

PackageKit 0.1.1 release!

New backends:

  • A SMART backend (James Bowes)
  • A PiSi backend (S.Çağlar Onur)

New features:

  • A better, easier to use website (Richard Hughes)
  • Added missing install-file.py so we can do local rpm installs (Tim Lauridsen)
  • Be ultra-paranoid about validating input from the user (Richard Hughes)
  • Send SIGQUIT and then SIGKILL after a little delay, so we can clean up the backends nicely by unlocking when we cancel (Richard Hughes)
  • Add resolve functionality in pkcon to allow non-package_id use, for instance 'pkcon remove gimp' now does the right thing (Richard Hughes)
  • Display a pulsing progress bar for no-progress-updates and percentage-update that is shown when using a console (James Bowes)
  • Remove the hard dependency on NetworkManager so other networking stacks can be used instead (S.Çağlar Onur, Richard Hughes)
  • Add a filter parameter for Resolve() so we can do the filtering in the spawned backend without duplicating code (James Bowes, Richard Hughes)
  • Substantial additions to the box backend (Grzegorz Dabrowski)
  • Add GetRepoList and RepoEnable to the yum backend (Tim Lauridsen)
  • Add bash completion script for pkcon (James Bowes)
  • Get the repo list for the aplm backend (Andreas Obergrusberger)

API changes:

  • Store the transaction database in /var/lib rather than /var/db (James Bowes)
  • Don't expose the private list in PkTaskList, instead use verified functions to ensure we can't corrupt data accidentally (Richard Hughes)
  • Don't export the private data array in PkClient or PkPackageListthis breaks API, so the library version has been bumped (Richard Hughes)

Bugfixes:

  • Fix the resolve method parameter passingnow pk-install-package should work correctly (James Bowes)
  • Fix all the copyright notices to be a standard GPL2+ boilerplate licence text (Tom Parker, Robin Norwood)
  • Dist the local apt headers so the apt backend can be compiled from a tarball rather than just from git (Richard Hughes)
  • Fix a 1-in-10 random daemon startup crash when backends do libnm_glib init, shutdown, init, shutdown repeatedly (Richard Hughes)
  • Added locking in the yum backend to allow simultaneous use of the yum command line tool or yum-updatesd (Tim Lauridsen)
  • Fix NoPercentageUpdates validity checking (James Bowes)

Tarball available here.