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