RFC: On-demand package installation API in kdelibs

Lubos Lunak l.lunak at suse.cz
Tue Aug 3 16:58:38 BST 2010

On Thursday 29 of July 2010, Kevin Krammer wrote:
> On Thursday, 2010-07-29, Lubos Lunak wrote:
> >  You can't really notify and continue if you first need to wait for
> > something necessary for the proceeding.
> Well, true, if it is something you absolutely need before you can continue.
> But in this case it should be a package dependency and not be allowed to be
> absent.
> I though this was about installing optional things that could be installed
> and enabled once present.

 This thread has a number of examples where this is not the case. Mp3 support 
(although there's it's not technical reasons). Installing additional language 
in the KCM. Installing debuginfo. Nepomuk backend missing (should really 
kdelibs hard-depend on it, even in the case it's disabled by default?). 
Clicking on an unhandled mimetype in Dolphin. And so on.

 And even in the case when something "should" be a package dependency it 
doesn't sometimes make sense. Do you really want to install 100MiB of 
dependencies because an app may use it if you trigger one hidden button 
somewhere that 99% users won't ever use?

> > /**
> >  * This call is blocking and may re-enter the event loop. Use the
> > asynchronous startFoo() variant if you do not want this simple API.
> >  */
> How about startFoo() and waitForFooStarted()? As in keeping API similar to
> already established API (QTcpSocket, QProcess).

 No, the second is supposed to be fooDone(). No point in knowing that the 
installation has only just started :).

 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