Bug 400462 - kwalletd legacy dbus service file
Summary: kwalletd legacy dbus service file
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kwallet
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.51.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Valentin Rusu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-29 22:23 UTC by Damjan Georgievski
Modified: 2021-01-29 18:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Damjan Georgievski 2018-10-29 22:23:55 UTC
kwallet 5.51.0-1

The kwallet package includes a legacy dbus service file[1], that binds to the old name (from kde4?) and has Exec=/usr/bin/kwalletd.

The problem is that the executable doesn't exist, i.e it's not created by the same package, it seems to have been left for backward compatibility when /usr/bin/kwalletd was installed by kde4.

From what I understand, the new kwallet (/usr/bin/kwalletd5) does implement the old dbus interface, so it seems that the most logical fix would be to have org.kde.kwalletd.service be a copy of org.kde.kwalletd5.service.in file[2], or a symlink (on supported platforms).

PS.
this is not a victimless issue. 
some applications seem to fail on this, in my case I noticed that owncloud-client fails to get credentials right after login, probably by requesting the old name, and dbus failing to exec the old executable. 
Later, when /usr/bin/kwalletd5 is started by something else, I need to restart owncloud-client to get its credentials, but is annoying.


[1]
https://phabricator.kde.org/source/kwallet/browse/master/src/runtime/kwalletd/org.kde.kwalletd.service
[2]
https://phabricator.kde.org/source/kwallet/browse/master/src/runtime/kwalletd/org.kde.kwalletd5.service.in
Comment 1 Damjan Georgievski 2018-10-30 01:27:50 UTC
patch available at https://phabricator.kde.org/D16520
Comment 2 Stefan Brüns 2019-07-17 22:34:03 UTC
Git commit dc5c7229bc4ff75506c34197da5450808c969efe by Stefan Brüns.
Committed on 17/07/2019 at 22:33.
Pushed by bruns into branch 'master'.

Remove kde4 migration agent completely

Summary:
The migration agent is some quite weird mechanism:
- it starts the KDE4 kwalletd
- to do this, it asks DBus to start it
- as the old kwalletd never shipped a service file, kwalletd5 ships a
  service file for kwalletd(4), hardcoding its likely path.
- it merges the old wallets via DBus requests

When the migration has finished, a flag is set in the config and on the
next start, the migration agent is skipped. When the migration fails
(e.g. because kwalletd(4) is not installed), the migration is attempted
on each start.

Shipping a a service file pointing to the old daemon also breaks
autostart of kwalletd5 for old applications - kwalletd5 provides the
kwalletd interface, but only if it has been started already. This leads
to a race during startup.

See D16520 - proper kwalletd dbus service file for the legacy name

Reviewers: #frameworks, cfeck, ngraham, aacid

Reviewed By: aacid

Subscribers: aacid, lbeltrame, kde-frameworks-devel, damjang

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D21002

M  +0    -10   src/runtime/kwalletd/CMakeLists.txt
M  +0    -1    src/runtime/kwalletd/kwalletd.h
M  +1    -4    src/runtime/kwalletd/main.cpp
D  +0    -265  src/runtime/kwalletd/migrationagent.cpp
D  +0    -59   src/runtime/kwalletd/migrationagent.h
D  +0    -108  src/runtime/kwalletd/migrationwizard.cpp
D  +0    -44   src/runtime/kwalletd/migrationwizard.h
D  +0    -122  src/runtime/kwalletd/migrationwizard1.ui
D  +0    -51   src/runtime/kwalletd/migrationwizard2.ui
D  +0    -6    src/runtime/kwalletd/org.kde.kwalletd.service

https://commits.kde.org/kwallet/dc5c7229bc4ff75506c34197da5450808c969efe
Comment 3 Gunter Ohrner 2019-08-16 21:58:02 UTC
I just noticed - the hard way - that KDE Frameworks 5.61 does NOT provide the org.kde.kwalletd interface any more, at if the KDE Neon packages are used.

This breaks existing software like Chromium.

Could this be related to this issue here? It's the only possibly related change I could find in the changelog.

I opened a new issue #410999 for this problem with KDE Frameworks 5.61.