Bug 422191 - [ABI break] KAccountsDPlugin changes its API without bumping the libkaccount SONAME
Summary: [ABI break] KAccountsDPlugin changes its API without bumping the libkaccount ...
Status: RESOLVED FIXED
Alias: None
Product: KAccounts
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 20.04
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-28 16:28 UTC by Nicholas D Steeves
Modified: 2020-07-01 17:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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