Web lists-archives.com

Re: Migration of kwallet failed


So you still have a working Ubuntu 14.04 install? I missed that in your original post. In that case I have some PPAs that may be useful for you, on launchpad, in particular ppa:rjvbertin/qt4 and ppa:rjvbertin/kde-git which contains newer versions of Qt (4.8.7) and a number of KDE packages (you may also need rjvbertin/misc). The KDE-Runtime stuff in there is from June 2016 so must already be aware of its KF5 counterparts.

But as Martin said, make backups first. Or clone that 14.04 install to a VM and work in there. Apply any Ubuntu updates before cloning, but if you decide to use my PPAs, add them in the VM first, in case something goes wrong with those.
I'd also suggest to copy the old kdewallet.{kwl,salt} files from a virtual console or something like that, i.e. without any KDE or other GUI stuff running. I just hope for you that those files are unaltered.

If kwallet-manager4 continues to fail to start, check with a regular client application if your passwords are there. If they are, the failure is in kwallet-manager and there's a bit more hope.

The kwallet protocol isn't super well documented but not rocket science either - in particular the synchronous API. I rewrote the Mac Keychain backend  as one of my very first KDE contributions, mostly thanks to the self-explanatory code.
It should be possible to write a non-gui utility that opens a given wallet without going through the kwalletd and which dumps the whole thing. It'll be tedious, but you should be able to take inspiration from kdeui/tests/kwallettest.cpp in the kdelibs sources.

FWIW, I ran kwalletd4 + kwallet-manager4 on my Plasma4 desktop, with self-built KF5 stuff in a separate prefix. Kwallet-manager5 either connected just fine to kwalletd4 or the 2 daemons didn't bite each other. I noticed at some point that in practice I was using only the KF5 kwallet so I'm now only running kwalletd5. I recall that I did a manual migration via an XML dump, but it's possible that was on my Mac where the KDE4 kwallet uses the host's Keychain backend (a synchronous mechanism without kwalletd). Probably TMI...