[Differential] [Updated] D4667: [applet] Let specify a version for applets private plugins

David Faure noreply at phabricator.kde.org
Sun Feb 19 10:04:26 UTC 2017


dfaure added a comment.


  I was always told "plugins should not get versioned at the .so level". Not sure why exactly. The more usual solution was version numbers in .desktop files, to query for things with the right version. I guess this can be transposed to json since Qt reads the json data without really loading the .so file.
  
  David Ed: you're right, but think of the case where you open a new plugin (in a long running process) which itself links to a freshly upgraded shared lib - I'm not sure what happens but it's one of these two cases:
  
  1. it loads the new shared lib next to the old shared lib -> duplicate symbols, crash.
  2. the old shared lib keeps being unused because "already loaded", and the new plugin fails to find its symbols.
  
  Overall there is no way to actually load a new plugin in an old plasma, if the underlying APIs are incompatible. So the only thing you can do is forbid loading incompatible plugins by using a version check (see above), or not support the use case at all (i.e. tell users to restart plasma after upgrading).
  
  We've had the same with kdeinit5 for ever. You upgrade KF5 (or kdelibs before) and apps, then try to run an app that needs a new symbol in kio, the long-running kdeinit5 doesn't have it, boom, undefined symbol. The only solution has always been: restarting kdeinit5 after upgrading kdelibs/KF5.

REPOSITORY
  R119 Plasma Desktop

REVISION DETAIL
  https://phabricator.kde.org/D4667

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: anthonyfieroni, #plasma, sitter, davidedmundson, dfaure
Cc: plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170219/323dd1e3/attachment-0001.html>


More information about the Plasma-devel mailing list