<table><tr><td style="">bruns created this revision.<br />bruns added reviewers: Frameworks, cfeck.<br />Herald added a project: Frameworks.<br />Herald added a subscriber: kde-frameworks-devel.<br />bruns requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D21002">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>The migration agent is some quite weird mechanism:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">it starts the KDE4 kwalletd</li>
<li class="remarkup-list-item">to do this, it asks DBus to start it</li>
<li class="remarkup-list-item">as the old kwalletd never shipped a service file, kwalletd5 ships a service file for kwalletd(4), hardcoding its likely path.</li>
<li class="remarkup-list-item">it merges the old wallets via DBus requests</li>
</ul>

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

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

<p>See <a href="https://phabricator.kde.org/D16520" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D16520</a> - proper kwalletd dbus service file for the legacy name<br />
CCBUG: 400462</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R311 KWallet</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D21002">https://phabricator.kde.org/D21002</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/runtime/kwalletd/CMakeLists.txt<br />
src/runtime/kwalletd/kwalletd.h<br />
src/runtime/kwalletd/main.cpp<br />
src/runtime/kwalletd/migrationagent.cpp<br />
src/runtime/kwalletd/migrationagent.h<br />
src/runtime/kwalletd/migrationwizard.cpp<br />
src/runtime/kwalletd/migrationwizard.h<br />
src/runtime/kwalletd/migrationwizard1.ui<br />
src/runtime/kwalletd/migrationwizard2.ui<br />
src/runtime/kwalletd/org.kde.kwalletd.service</div></div></div><br /><div><strong>To: </strong>bruns, Frameworks, cfeck<br /><strong>Cc: </strong>kde-frameworks-devel, damjang, michaelh, ngraham, bruns<br /></div>