Remove kde4 migration agent completely
ClosedPublic

Authored by bruns on May 3 2019, 5:45 PM.

Details

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
CCBUG: 400462

Diff Detail

Repository
R311 KWallet
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
bruns created this revision.May 3 2019, 5:45 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptMay 3 2019, 5:45 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
bruns requested review of this revision.May 3 2019, 5:45 PM
aacid added a subscriber: aacid.Jun 10 2019, 10:46 AM

I'm pretty sure there's people there still using KDE4 (real life scenario: my father) (almost real life scenario: i know the Limux people were planning a migration from kde4 to Plasma 5, not sure if it already happened or not though).

Eventually he'll move to a KF5 based distro, it'd be cool if he would still be able to enjoy a migration.

Can we still have the migration code without the issues it cause?

Is it too much work?

When the migration fails (e.g. because kwalletd(4) is not installed), the migration is attempted on each start.

Maybe it's just the case of doing "kdewalled4 is not installed we can't do the migration, mark it as done"?

OTOH i guess that when my father updates the new distro won't have kdewallet4 either, so it's not that it's going to be useful for the migration for him.

Oh well, feel free to read and ignore this rambling :D

Yeah, seems like the existing migration is just broken, so we might as well remove it. :/

bruns added a comment.Jul 5 2019, 7:59 PM

Can I have a "go"?

aacid accepted this revision.Jul 16 2019, 10:54 PM

i guess 🤷

This revision is now accepted and ready to land.Jul 16 2019, 10:54 PM
This revision was automatically updated to reflect the committed changes.
aacid added a comment.EditedJul 17 2019, 10:44 PM

It seems you broke the build

https://build.kde.org/job/Frameworks/job/kwallet/

is all red

It tried to install the no longer existing DBus service file. Fixup pushed.

Do I have to reset something on my machine after this?

I'm am running frameworks and plasma from git master, and with this commit, kwalled does not seem to working for me. Kwallet manager starts with a empty window and applications (ssh agent and networkmanager) are unable to get passwords from the wallet and show a manual password prompt.

Reverting back the last 2 commits fixes the issues.

lbeltrame reopened this revision.Jul 20 2019, 6:59 AM

This breaks GPG wallets completely. They are no longer accounted for by kwalletd: reverting this change makes them work again.

This revision is now accepted and ready to land.Jul 20 2019, 6:59 AM
lbeltrame closed this revision.Jul 20 2019, 7:30 AM