PackageKit Critique

If you haven’t heard, PackageKit is an exciting and upcoming project who’s goal is to create a user friendly package handling abstraction layer that is independent of distro and package format. Basically, the Grand Unified Package GUI for those more physics-minded. Sounds good like a good idea.

There are a few problems I have with the way PackageKit is heading, though, and hopefully this is a constructive critique that may help people think about these issues. I’m not a package management expert and I’ve only used PackageKit a bit on the soon-to-be-released Fedora 9 so please shout out if I get my facts wrong.

  1. The PackageKit FAQ and people promoting PackageKit seem to often say something along the lines of “we’re not trying to replace <existing package management tool>“. I can’t help but think that, if it’s not designed to replace anything, is it really going to be all the unifying? If we’re gonna come up with a good distro-agnostic package management GUI it’d be nice if it actually replaced all the existing tools. Put another way, shouldn’t “unifying” package management imply replacing the disjointed bits that currently exist?
  2. Another thing I’m having an issue with is the proposition that PackageKit is distro-neutral and is not trying to change existing “low-level” tools (apt, yum, etc.). However, discussion around the apt backend, Hughsie’s Law: “Authentication or license prompts can only be done before the transaction has started, and messages or notices about the transaction can only be shown after the transaction has completed.” and a similar FAQ statementUpgrading, installing or removing packages has to be 100% silent.” indicate to me that perhaps it isn’t as neutral as it claims to be. Basically, PackageKit is neutral as long as your view of package management is the same as PackageKit author’s.
  3. There are several places in the PackageKit FAQ and Debian wiki discussion where the PackageKit authors seem to indicate that simply erroring out of the transaction is a suitable, even if non-ideal, solution to problems that PackageKit can’t seem to cope with. I can’t think of anything more user-unfriendly than to have a package management tool bail because it can’t handle certain classes of packages (for instance packages that have a EULA, need input from users, or ask about config file changes). Users would assume, I would think, that the package is somehow broken and would either give up or report a bug to the distro.

I guess I would summarize by saying that it seems to me that PackageKit is painting itself into a corner where it is only useful to subsets of users and packages, while trying to still maintain that it is a unifying and user friendly tool. I see a lot of potential in PackageKit and appreciate all the time put in by Richard Hughes, but I’m not sure at this point how it’s going to reach it’s goals. Perhaps a more knowledgeable person can help enlighten me. :-)

Quick look at Fedora

Lately I’ve been messing around with Fedora. I’ve been using and developing Ubuntu for over 2 years and I decided to take a little break and try something different. Right before the Gutsy release I had a brief look at openSUSE 10.3 betas. I think it’s very valuable for Ubuntu contributors to see what else is going on in the Linux/FLOSS landscape so that we can “think outside the box” and maybe better server our users.

So I’ve been running a dual-boot of Ubuntu and Fedora for a while. Fedora 8 was really pretty nice. Red Hat 7.2 was the first Linux distro I’d used and I tried a few of the early Fedora Core releases before landing in Ubuntu. I always found it a professional looking Gnome-based distro, though it often felt sluggish and experienced the dreaded RPM/yum hell. So, I was very pleasantly surprised to find in Fedora 8 a quick and responsive OS. Once the initial shock of using RPMs instead of debs wore off I found Fedora’s package management quite impressive.

One of my main complaints with openSUSE 10.3 was painfully slow and difficult to work with. In contrast, yum (and the yumex GUI) are very user friendly and responsive. Additionally, Fedora provides repo packages for both smart and apt that allow you to seamlessly use smart/apt/synaptic with Fedora repositories. Cool! Additionally Fedora 9 (which is currently a pre-release Preview) comes with PackageKit, which honestly seems like a less useful gnome-app-install. To be fair though, I haven’t played with it much so I might have missed some things. I can’t figure out how to install more than 1 package at a time which is a real deal-breaker to me. I’d love to be wrong about that though.

The Fedora artwork and polish are very impressive. I’ve always been impressed with Fedora’s artwork in general. It seems very consistent and professional. Ubuntu 8.04 has made some good steps in this direction. The Heron wallpaper is beautiful, in my opinion, and Ubuntu’s artwork seems to be getting a bit more consistent.

As far as hardware support goes both Fedora and Ubuntu work beautifully on my HP Pavilion dv6000. The only issue I’ve had is with my university’s wifi. The wifi network they’re currently phasing out uses a MS pptp VPN. Ubuntu has a nice network-manager-pptp package that works wonderfully. however that doesn’t seemed to have managed to end up in Fedora’s packages. I also got the new uni WPA wifi network to work fine in Ubuntu but it seems I’ve hit some sort of kernel/driver bug in iwl3945 in Fedora. I’ve gotta give huge props to Dan Williams who is the Fedora Network Manager guru. He spent several hours with me debugging my wifi problem. The Fedora/Red Hat developers I’ve interacted with have been very professional and knowledgeable so kudos to them. Hopefully we’ll figure out my iwl3945 issue soonish.

my very own LoCo and other news

I just found out I have my own Ubuntu LoCo, how sweet is that? :-) For people who might not get the joke, I happen to fortuitously share the same name as a certain Middle Eastern country. I wonder if they’d make me an honorary member … ;-) Go Jordanians!

So I’ve been running Fedora in addition to Ubuntu on a daily basis for about a month now and today I decided since I’m already living “on the edge” running Hardy I should upgrade my Fedora 8 install to Fedora 9 “Sulphur”. After downloading 1.8 GB of new packages the upgrade went fairly well with the exception of selinux. The silly thing decided it didn’t like GDM and so I couldn’t even log in. I don’t know if this is a common issue (selinux freaking out) for Fedora release upgrades but it put a rather sour note on an otherwise smooth upgrade. At the moment I’m using the Fedora 8 kernel and all is good. Tomorrow I’ll try to get everything fixed up properly (any suggestions welcome). In the next few days I hope to work up a little Fedora 9/Ubuntu 8.04 comparison, from more of a developer perspective. As long as we keep things civil and positive I feel like distros can often learn quite a bit from each other.

On the Ubuntu front, I do believe I’m done for Hardy. Too much dissertation left, too little time. I finished off the edubuntu-docs translations and sponsored Matthew East’s final ubuntu-docs and gnome-user-docs packages. On my personal “Gosh I hope we get this fixed” list are bugs 215729 (Seahorse fails to import keys) and 185854 (Setting static IP in Network Settings doesn’t produce correct data). hint hint

me too, me too

Continuing on …

mantha@quark:$ history|awk ‘{a[$2]++ } END{for(i in a){print a[i] ” ” i}}’|sort -rn|head
259 ls
237 cd
53 exit
50 less
36 sudo
31 bzr
27 ssh
21 rm
21 nano
19 ping

So in the end it appears that I’m mostly wandering around my computer looking at stuff :-) I also have a nasty habit of cd’ing to the directory I want to look at and then ls’ing in there, rather than just doing ls on the path. That “ping” is on the list reflects my uni’s crappy wifi/VPN situation the last two weeks. I can connect, but nobody’s home most of the time.