Binary compatiblity for liboxygenstyle.so

Pino Toscano pino at kde.org
Sat Feb 25 11:17:05 GMT 2012


Alle sabato 25 febbraio 2012, Hugo Pereira Da Costa ha scritto:
> On 02/24/12 19:38, Andras Mantia wrote:
> > On Friday, February 24, 2012 05:48:36 PM Sune Vuorela wrote:
> >> On 2012-02-24, Hugo Pereira Da Costa<hugo at oxygen-icons.org>  wrote:
> >>> I understand that. The point I was trying to make, is that you
> >>> would still get the "old" pluggin, admittingly without crashing,
> >>> but which would nonetheless be not correct.
> >> 
> >> Whattabout just linking liboxygenstyle static into the oxygen
> >> style? Problem solved. No more abi to manage.
> >> 
> >> Alternatively, set the SOVERSION of liboxygenstyle to the version
> >> of KDE Workspace. As you have no external dependencies outside
> >> kde-workspace this should not give any problems for anyone.
> > 
> > I tend to think proper soversion bumping would be a good solution.

+1

> In both cases it does not fix (sorry for repeating myself) the true
> issue, which is that your plugin_path is not consistent with your
> LD_LIBRARY_PATH.

Right, but that is *not* your problem, hence you should not make your 
stuff crash pointlessy because of it.

> In fact, thinking more about it, I would be inclined to leave the
> code as it is now, because such BIC crashes make it fairly easy to
> spot the inconsistency, which otherwise can have much more
> pernicious effects.

Which "pernicious effects"? Only the old plugin being loaded?
Remember that potentially who compiles trunk usually is interested in 
working on their stuff, so make a "style" break everything like that is 
just counter-productive. Sure, they might have environment setup issue, 
but then please don't put also oxygen in their way.

> Also note that nowhere in KDE you can find an "About Oxygen" button
> that would tell you which so version you are using anyway ...

So solve that, for example by making the plugin output to 
debug/stdout/whatever its version when loaded; this way you can tell 
users to just run any application from terminal to see which oxygen 
style plugin is loaded.
Or for example you can add a "version" string property to any instance 
of the OxygenStyle (any QStyle is a QObject), then in oxygen-settings 
load a new oxygen style (if not already loaded) and print the version 
string of that instance, to easily see which style is loaded.

-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20120225/a567563e/attachment.sig>


More information about the kde-core-devel mailing list