Bug 422191

Summary: [ABI break] KAccountsDPlugin changes its API without bumping the libkaccount SONAME
Product: [Frameworks and Libraries] KAccounts Reporter: Nicholas D Steeves <nsteeves>
Component: generalAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: nicolas.fella, pino
Priority: NOR    
Version: 20.04   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nicholas D Steeves 2020-05-28 16:28:30 UTC
Hi!

Thank you for maintaining KAccounts, and particularly for the recent fixes for Google's changes.

When importing the latest version (20.04 at that time, later 20.04.1) I noticed that many symbols appeared to have been renamed, eg:

- _ZN16KAccountsDPlugin11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.0
+ _ZN13AccountsModel11qt_metacallEN11QMetaObject4CallEiPPv@Base 4:20.04.0

P.S. The trailing version is a Debian (and derivatives)-specific version used for mappings between upstream symbols and Debian package versions.

Please bump ABI for 20.04.2, and I'll package it as soon as it's ready.  If you're interested in the Debian side of the discussion, it happened here:

  https://salsa.debian.org/qt-kde-team/kde/kaccounts-integration/-/merge_requests/3#note_168563

Thank you,
Nicholas
Comment 1 Pino Toscano 2020-06-15 09:43:09 UTC
Note that the actual ABI change is not what Nicholas mention, but rather this:

diff --git a/src/lib/kaccountsdplugin.h b/src/lib/kaccountsdplugin.h
index 1f1f82f..178a3d3 100644
--- a/src/lib/kaccountsdplugin.h
+++ b/src/lib/kaccountsdplugin.h
@@ -54,7 +54,7 @@ class KACCOUNTS_EXPORT KAccountsDPlugin : public QObject
     Q_OBJECT
 
 public:
-    KAccountsDPlugin(QObject *parent = nullptr);
+    KAccountsDPlugin(QObject *parent, const QVariantList& args);
     virtual ~KAccountsDPlugin();
 
 public Q_SLOTS:
@@ -90,6 +90,4 @@ public Q_SLOTS:
     virtual void onServiceDisabled(const Accounts::AccountId accountId, const Accounts::Service &service) = 0;
 };
 
-Q_DECLARE_INTERFACE(KAccountsDPlugin, "org.kde.kaccounts.DPlugin")
-
 #endif // KACCOUNTSDPLUGIN_H

Ie done as part of https://phabricator.kde.org/D27633, commit:
https://invent.kde.org/network/kaccounts-integration/-/commit/27487ab9276ca3a9b6ef4e8145b2279b5e38cd25
Comment 2 Pino Toscano 2020-06-28 13:38:06 UTC
@Nicolas: ping?
Comment 3 Nicolas Fella 2020-06-28 19:01:47 UTC
Git commit 839bce4ba5399fd5924f7316f8df402a86cb4262 by Nicolas Fella.
Committed on 28/06/2020 at 19:00.
Pushed by nicolasfella into branch 'sobump'.

Bump libkaccounts so version

27487ab9276ca3a9b6ef4e8145b2279b5e38cd25 broke ABI, increase the so version to reflect that

M  +1    -1    CMakeLists.txt

https://invent.kde.org/network/kaccounts-integration/commit/839bce4ba5399fd5924f7316f8df402a86cb4262
Comment 4 Nicolas Fella 2020-06-28 19:03:57 UTC
Merge request: https://invent.kde.org/network/kaccounts-integration/-/merge_requests/2