[packagekit] Gentoo backend

Donnie Berkholz dberkholz at gentoo.org
Thu Nov 15 00:47:27 PST 2007

Hi all,

I'm looking into adding a Gentoo backend. It looks like people have 
discussed the idea a little [1-3], so I want to explain my vision for 
how and why it would work. Here's a couple of use cases to help explain 

1. Joe installs Gentoo, and at install-time, he uses one of the many 
available methods to configure his feature settings (USE flags). After 
that, he pretty much sticks with his original setup. We'll treat 
changing features as a rare occurrence and posit that it occurs much 
less often than installing, removing, updating, searching or checking 
for updates. I don't see enough reasons these two actions need to be 
part of the same tool; let the USE-flag editors do one thing and do it 

2. Bob's site uses Gentoo, but he's not the admin. He is a developer, 
and he needs to install or update programs on a fairly regular basis. 
Using PolicyKit should work out pretty well to allow him to do this in 
the framework of Portage without giving him too many privileges.

Some issues I'll need to deal with:

  - During transactions, various output spits out, some of which should 
  be read. It can also be logged, so I was thinking of just showing the 
  log or telling people to read it post-transaction.

  - At the end of a transaction, the number of config files to update is 
  shown. That needs to get displayed in PackageKit.

  - Checking for updates in Gentoo requires a fairly large rsync of 
  150,000 files. That means it's something we don't want to do 
  frequently. There is a timestamp file we can check without that huge 
  sync, but that only tells us whether the sync is newer, not whether it 
  affects us in any way.

Gentoo's got three decently working package managers. I'll probably try 
pkgcore at first, since it's got a clean and stable Python API, it's 
fast and I'm already somewhat familiar with it. I see that numerous 
backends use Python, so there's already a nice set of examples.

I think there's a need for doing simple tasks simply, even in a distro 
like Gentoo. I'd appreciate any comments or suggestions you may have, or 
any particular backends that may be better to base my work from.


1. http://hughsient.livejournal.com/39074.html
2. http://bheekly.blogspot.com/2007/09/one-backend-fer-em-all.html
3. http://lists.freedesktop.org/archives/packagekit/2007-September/000108.html

More information about the PackageKit mailing list