?

Log in

Using PackageKit in GNOME programs - Technical Blog of Richard Hughes

Richard Hughes
Date: 2008-04-13 00:59
Subject: Using PackageKit in GNOME programs
Security: Public
Do you develop a GNOME program and want to install extra stuff for your application? Want me to write you some code for your application to make it "just work"?

Ideas I can think of:

• Installing extensions in epiphany
• Installing debuginfos in the GNOME crasher thing
• Installing language packs in abiword
• Installing clipart for scribus
• Installing -devel packages in anjuta for the autocompletion
• Making GIMP install it's own plugins when an obscure file format is opened

Any other suggestions welcome. Please email me if you want some help. You can install a package based on the package name, or just by specifying a file that the package provides. All the yucky stuff like licence agreements and GPG auth is handled in libpackagekit-gnome.

You'll need to be running Fedora 9 prerelease if you want precompiled rpm's that work. I'll make the code a configure option (--enable-packagekit) so it won't be a hard dep. Any takers?
Post A Comment | 18 Comments | Share | Link






Jason D. Clinton
User: jasondclinton
Date: 2008-04-13 02:14 (UTC)
Subject: Re: cross-distro?
I appreciate the feedback and suggestions, but after reading the links, it appears that PackageKit is fundamentally incompatible with dpkg--which means we're back to branching a RedHat/SUSE solution (PackageKit) versus everyone else (synaptic). I don't see how the restrictions you've placed on the apt backend can be circumvented in any healthy way; it would fundamentally alter the apt system, as proposed.

It appears that these design decisions were made without considering the whole ecosystem (read: only two) of package managers.

This is maddening; mostly because it appears to be yet another example of RedHat's not-invented-here.
Reply | Parent | Thread | Link



Richard Hughes
User: hughsient
Date: 2008-04-13 02:43 (UTC)
Subject: Re: cross-distro?
>it appears that PackageKit is fundamentally incompatible with dpkg

I'm sorry, but that's completely wrong. It means forcing a wrapper around dpkg to enforce a common abstraction, as we can't expect end users to interact with shells and other insane stuff like that. It's all documented in the FAQ.

>which means we're back to branching a RedHat/SUSE solution

Err, PackageKit is working on at least 10 different distributions INCLUDING Ubuntu. I agree Fedora is probably the best supported, but some of the others (zypp, pisi, box) are not that far behind.

>I don't see how the restrictions ... can be circumvented

Please see the apt2 backend in PackageKit - it uses apt-python and debconf to basically do the right thing.

>...these design decisions were made without considering the whole ecosystem

Wrong again, sorry. I did extensive review of *all* the existing session, and system wide interactions in all the distros before I started PackageKit.

>...appears to be yet another example of RedHat's not-invented-here

I started designing PackageKit _before_ I started worked at Red Hat.
Please be more careful with sweeping statements like that.

Please look at th presentation I gave at FOSDEM: http://people.freedesktop.org/~hughsient/public/introduction-to-packagekit.pdf and the PackageKit website for more information.

Richard.
Reply | Parent | Thread | Link



browse
my journal
April 2008