RFC: On-demand package installation API in kdelibs

Lubos Lunak l.lunak at suse.cz
Tue Aug 3 17:26:06 BST 2010

On Thursday 29 of July 2010, dantti85-dev at yahoo.com.br wrote:
> > De: Lubos Lunak <l.lunak at suse.cz>
> >   Could you elaborate a bit more on suitability for the task? The only
> > real experience with PackageKit I have is by using KUpdateApplet, the
> > openSUSE tool for checking and installing updates, and it can be summed
> > up as, to put it bluntly, 'PackageKit sucks'. KUpdateApplet hasn't seen
> > any development besides maintenance for several last openSUSE releases,
> > yet there are regressions every single release (otherwise KUpdateApplet
> > probably wouldn't even need the maintenance). IIRC the KUpdateApplet
> > maintainer mentioned that PackageKit changes more often than the things
> > it abstracts, which is  pathetic
> >
> > for an abstraction layer and IMO a showstopper for KDE usage. It  also
> > seemed pretty over-engineered when I had to help with an urgent 
> > KUpdateApplet bugfix
> >
> > once. Finally, how widely available is it  actually?
> Well KUpdateApplet is a distro specif tool for SUSE that uses PackageKit,
> the interface on the link I posted is the session interface.
> So all your application has to do is call it using DBus,
> but who is going to answer your DBus question or prompt the user
> to install something is KPackageKit or Gnome-PackageKit or whoever
> provides that interface.
> KPackageKit besides some bugs of crashes is widely adopted,
> Fedora, Ubuntu and many others use it by default. PackageKit
> API does change since it's a 'new' project and some backends
> demand changes (I myself are responsible for many breaks because
> of aptcc). I think KUpdateApplet have a busy maintainer because the
> fixes are fast, since most breaks are really simple. I also never
> received an email of him complaining about packagekit-qt.

 KUpdateApplet does use a D-Bus interface from PackageKit. And that is what 
breaks repeatedly. How hard can it be to keep backwards compatibility for a 
D-Bus interface?

> >  The point of this API is to provide simple  means for checking and
> > installing
> >
> > components if necessary, and D-Bus  interface is not that. One of the
> > implementations of the API could use it  though.
> D-Bus is not that, but the services that are provide through it are.
> http://packagekit.org/pk-faq.html#session-methods
> In the above link you will how easy for an application to know
> if X component is installed and even ask for install.

 You've spent too much time with C code if you think that is easy :). Even if 
my proposal ends up being just a simple wrapper around this, it is still an 
improvement for developers.

 And since Dario has another packaging system, it actually might be beneficial 
to have a simple API that'd hide whatever does the real work.

 Lubos Lunak
 openSUSE Boosters team, KDE developer
 l.lunak at suse.cz , l.lunak at kde.org

More information about the kde-core-devel mailing list