This should be a reply on Hughsies blog, but I don’t want to create a livejournal account. Richard, please move to blogs.gnome.org!
In response to Jason’s comments:
Hey. I’m a Debian/Ubuntu kinda guy and I think PackageKit is a hell of a lot better than Ubuntu making ubuntu-only solutions like gnome-app-install. It’s DEFINITELY not a NIH, there was nothing that gave us this kind of capability at all before PackageKit started. Everyone knew what was needed to be written and Richard was the guy that jumped in and got it started.
Also Richard wasn’t working at Red Hat when he started PackageKit and has worked with every distro he can on this.
Jason, stop the Stop Energy.
Update:
I though I might jump in and say a bit more on this problem: It really comes down to the question of whether a backend should ask questions of the user. Richard thinks that they shouldn’t, mainly because every time he’s seen backends ask questions they aren’t ones he knows the answer to and so, by inference, most people don’t know the answer to. These questions shouldn’t be asked in a user-friendly system.
However ‘These questions’ are actually multiple classes of problems and simplistically dismissing these is really just asking for failure in solving the problems correctly. Before I go any further, let me note that debconf has multiple levels of verbosity that it can ask questions at. Most Debian based distros just ask the highest priority questions. It should be noted that a PackageKit backend should allow a central administrator to set default values for any of these setting however.
Lets break down some of the kind of questions asked though debconf:
- Configuration file overwrites
- License agreements (cf suns jdk packages, flashplugin-nonfree, etc)
- Technical questions, like whether to start a daemon or not
- Lots of other things?…
Some packages also use stdin/out to really make sure you know what the hell you’re doing, like kernel packages, but i think that’s somewhat outside of this scope of this problem. Those kind of things should just fail unless you’re doing leet-super-admin work
So the question really comes down to asking the user sensible questions that they a) know how to answer and b) care about.
The point I made to Richard on IRC is that this is actually a difficult and multi-faceted problem and just hiding these problems won’t help in solving them well, so my take is that PackageKit should allow asking of questions, probably via a dbus interface, have a debconf frontend that channels questions by this channel, and then let the Ubuntu and Debian guys get on the case of forming projects and policy to help fix the problem at source.
Update 2:Richard pointed me to this FAQ entry which explains why even handling debconf questions is hard.