Ubuntu and GNOME Power Manager

Okay, after my last outburst I've talked in depth with Jorge on irc (from Ubuntu) about my situation and described to him what happened. He's reassured me that mistakes were made, and that he's now there to stop stuff like this from happening again. This is good.

Ted Gould has just started in the Ubuntu desktop team and is now responsible for upstream<->ubuntu patches for gnome-power-manager. It's good to sort this out as Ted seems like a cool guy.

So, now I feel a bit happier. Back to PackageKit hacking…

Flipping angry with Ubuntu

Ubuntu maintainers – why do you fix important bugs in gnome-power-manager and then don't even bother sending me or the mailing list a two minute email mentioning it? Have I ever rejected a patch? Do you guys enjoy patching stuff in private without sharing? I know…. You are really busy before releases…. blaaa blaa blaa. Sorry – I've heard that excuse once too many times.

Seriously, I've ranted about this before. After reading this blog post I figured “I wonder how they are patching gnome-power-manager now” and checked out the link to gnome-power-manager.

Guys, what are you doing? This is not a way to make upstream maintainers happy, and is basically a really bad way to support the Linux ecosystem long term. It makes me really angry when Ubuntu sits pretty and goes with a stance they just can't be bothered with (or have time for) upstream development.

Consequently, some of the bugs that were fixed in the latest release of Ubuntu didn't get into 2.20.1 and so all the other distros have these bugs. This is yet another reason not to recommend Ubuntu to my friends and relatives and shows how little things have really changed. Sorry to be so negative but I'm really ticked off.

EDIT: Okay, maybe this was a bit harsh, it appears the problems were that gnome-power-manager has no maintainer in ubuntu, and hence patches were not getting through. Things look a bit more positive now.

QPackageKit

Adrien BUSTANY is rocking with QPackageKit, a QT frontend and library for PackageKit:

Public git repo here:
git clone git://people.freedesktop.org/~hughsient/QPackageKit

If you want to help, contact Adrien directly (you can find his email from google).

Removing software; blowing your feet off

In packagekit, there are two modes for removing a package, force-true and force-false. If force is false, then the package will only be removed if no other packages depend on it. If force is true, then it and any packages that depend on it are also removed.

With this power allows us to do cool things, but also give us the chance to blow our feet off. Just try removing glibc with force-true. Fun times.

In pkcon (text mode program) and pk-application (GUI add/remove tool) we could only do force-false until recently to avoid foot injuries. Matej pointed out removing gimp leads to a chain of deps that couldn't be removed in this way.

I've now added the following dialog into the GUI tool, I'll do the same with the console program too. Internally it just calls GetRequires on the package before calling RemovePackage, and prompts if the requires packagelist size is non-zero.

This gives us a nice way to do this in a backend abstracted way, and should stop anyone removing stuff like HAL without agreeing to remove a lot of other packages.

HIG compliance is rubbish, I'm crap at that sort of thing. If anyone has any suggestions to make it HIG compliant, yell and I'll see what I can do. If anyone is feeling really cool, the new dialog is created in src/pk-application.c:pk_application_requires_finished_cb() – patches welcomed with glee. That is all.

Remembering packages

Colin opened this bug the other day.

Fedora 8 comes out in a few days, and like him I normally clean out the rubbish from my $HOME, and wipe my root partition. This gets rid of all the get-me-running-bodges and failed updates of a typical rawhide cycle.

What I normally do is install the latest live cd, and just execute a massive script that has yum install foo bar baz, where foo bar baz is a list of about 200 packages.

I think I'm right in saying Colin suggests a dialog like “Do you want to install all your usual packages?” on first boot of the new OS. This would be great for me as it's one less hacky script that I use once in a blue moon.

Now, is this a sweet idea, or just feature creep? Feedback welcome.

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.