RFC: adding a temporary, non-BC gauranteed, 'private' library .. where?

Thiago Macieira thiago at kde.org
Thu Apr 23 20:03:32 BST 2009

Aaron J. Seigo wrote:
>On Thursday 23 April 2009, Allen Winter wrote:
>> On Wednesday 22 April 2009 4:21:51 pm Aaron J. Seigo wrote:
>> > hi all ..
>> >
>> > i'd like to move libknotificationareaitem somewhere that apps can
>> > get to it for 4.3, before looking at moving the actual class into
>> > libkdeui for 4.4.
>> >
>> > is there any guidance on where it could go, how it should be
>> > installed, etc? right now i'm thinking of putting the headers in
>> > knotificationarea/, but half of me wonders if a generic private/ or
>> > experimental/ include dir wouldn't be a bad idea ...
>> >
>> > any thoughts?
>> We really don't have a policy on something like this.. to my
>> knowledge. But we could make one.
>> We could create a libkdeuiexperimental, or some-such. ie.
>> prominently display "experimental" in the library name and in the
>> header install dir.
>> phonon does something like this, there is a libphononexperimental
>> and include/phonon/experimental.

For all intents and purposes, that's private API. It's _p.h headers that 
happen to be installed. You can't rely on them being there.

>namespace: Experimental:: (KDE::Experimental? or is that just more than
> we need ... a little concerned that we might intrude on someone else's
> namespace of the same name)
>lib name: libkdeuexperimental.so

No. libknotificationareaitem.so.X

Start with X = 0 and change X for every BC-breaking release.

Remember that this library (the 2009 version of it) may need to be 
installed in 5 years time if someone wants to run a 2009 application.

Or we can use libkdeuiexperimental.so.X, provided that X changes at every 
BC change too. Besides general BC, it would also have to change whenever 
we move the code from the experimental library to the permanent library.

>source location: kdelibs/kdeui/experimental/

That one I don't like. What happens in KDE 4.4 when the 
knotificationareaitem is in kdeui, but we have something different in 

How does one compile code that relies on the KDE 4.3 experimental?

1) build kdelibs 4.3
2) install libkdeuiexperimental.so.0
3) build kdelibs 4.4
4) install kdelibs 4.4 (which includes libkdeuiexperimental.so.1)
5) build application

If we do that, we'll have to have a permanent ban on packagers joining 
Akademy. They'd kill us slowly otherwise.

>if there are no objections or improvements to the above between now and
> Sunday the 26th, we'll go ahead and do this on Monday


  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20090423/4765ddfc/attachment.sig>

More information about the kde-core-devel mailing list