<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/126086/">https://git.reviewboard.kde.org/r/126086/</a>
     </td>
    </tr>
   </table>
   <br />



<table bgcolor="#e0e0e0" width="100%" cellpadding="12" style="border: 1px gray solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>
   <h1 style="margin: 0; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
  </td>
 </tr>
</table>
<br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Software on Mac OS X, KDE Frameworks and Valentin Rusu.</div>
<div>By RenĂ© J.V. Bertin.</div>


<p style="color: grey;"><i>Updated March 16, 2017, 4:31 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Submitted with commit 5858ee8b3ee4ab6174e4893f35ae8e17d2ad3523 by R.J.V. Bertin to branch master.</pre>
  </td>
 </tr>
</table>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kauth
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This revision adds a port of the OS X backend improvements I implemented for KDE4 2 years ago, plus a few additional changes (some just to spark some debate).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">kauth-policy-gen still should not be built as an app bundle on OS X.
This can be achieved by using <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">ecm_mark_nongui-executable</code>; there appear to be no contra-indications on other platforms.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">On OS X 10.9 with Qt 5.6.1 and Frameworks 5.24.0</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">There is an issue with one of the autotests:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span></span><span style="color: #008000; font-weight: bold">build</span><span style="color: #666666">/</span><span style="color: #008000; font-weight: bold">autotests</span><span style="color: #666666">/</span><span style="color: #008000; font-weight: bold">KAuthHelperTest</span> <span style="color: #008000; font-weight: bold">-vb</span> <span style="color: #008000; font-weight: bold">-v1</span>
<span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Start</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">HelperTest</span> <span style="color: #666666">*********</span>
<span style="color: #008000; font-weight: bold">Config</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">Using</span> <span style="color: #008000; font-weight: bold">QtTest</span> <span style="color: #008000; font-weight: bold">library</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.6.1</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">Qt</span> <span style="color: #008000; font-weight: bold">5</span><span style="color: #0000FF; font-weight: bold">.6.1</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">x86_64-little_endian-lp64</span> <span style="color: #008000; font-weight: bold">shared</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">dynamic</span><span style="color: #666666">)</span> <span style="color: #008000; font-weight: bold">release</span> <span style="color: #008000; font-weight: bold">build</span><span style="color: #666666">;</span> <span style="color: #008000; font-weight: bold">by</span> <span style="color: #008000; font-weight: bold">Clang</span> <span style="color: #008000; font-weight: bold">6</span><span style="color: #0000FF; font-weight: bold">.0</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">clang-600</span><span style="color: #0000FF; font-weight: bold">.0.57</span><span style="color: #666666">)</span> <span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">Apple</span><span style="color: #666666">))</span>
<span style="color: #008000; font-weight: bold">INFO</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">entering</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Test</span> <span style="color: #008000; font-weight: bold">backend</span> <span style="color: #008000; font-weight: bold">loaded</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Waiting</span> <span style="color: #008000; font-weight: bold">for</span> <span style="color: #008000; font-weight: bold">HelperHandler</span> <span style="color: #008000; font-weight: bold">to</span> <span style="color: #008000; font-weight: bold">be</span> <span style="color: #008000; font-weight: bold">initialized</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Initializing</span> <span style="color: #008000; font-weight: bold">helper</span> <span style="color: #008000; font-weight: bold">handler</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Adding</span> <span style="color: #008000; font-weight: bold">proxy</span> <span style="color: #008000; font-weight: bold">for</span> <span style="color: #008000; font-weight: bold">thread</span> <span style="color: #008000; font-weight: bold">QThread</span><span style="color: #666666">(</span><span style="color: #008000; font-weight: bold">0x7fab38e11e50</span><span style="color: #666666">)</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:initTestCase</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">INFO</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">entering</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Capabilities</span> <span style="color: #008000; font-weight: bold">changing</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Checking</span> <span style="color: #008000; font-weight: bold">if</span> <span style="color: #008000; font-weight: bold">action</span>  <span style="color: #BA2121">"org.kde.kf5auth.autotest.standardaction"</span> <span style="color: #008000; font-weight: bold">exists</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Caller</span> <span style="color: #008000; font-weight: bold">ID</span><span style="color: #666666">:</span> <span style="color: #BA2121">"a random caller Id"</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Standard</span> <span style="color: #008000; font-weight: bold">action</span> <span style="color: #008000; font-weight: bold">running</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testBasicActionExecution</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">INFO</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testExecuteJobSignals</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">entering</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testExecuteJobSignals</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Checking</span> <span style="color: #008000; font-weight: bold">if</span> <span style="color: #008000; font-weight: bold">action</span>  <span style="color: #BA2121">"org.kde.kf5auth.autotest.longaction"</span> <span style="color: #008000; font-weight: bold">exists</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testExecuteJobSignals</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Caller</span> <span style="color: #008000; font-weight: bold">ID</span><span style="color: #666666">:</span> <span style="color: #BA2121">"a random caller Id"</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testExecuteJobSignals</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Long</span> <span style="color: #008000; font-weight: bold">action</span> <span style="color: #008000; font-weight: bold">running</span><span style="color: #666666">.</span> <span style="color: #008000; font-weight: bold">Don</span><span style="border: 1px solid #FF0000">'</span><span style="color: #008000; font-weight: bold">t</span> <span style="color: #008000; font-weight: bold">be</span> <span style="color: #008000; font-weight: bold">scared</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">this</span> <span style="color: #008000; font-weight: bold">action</span> <span style="color: #008000; font-weight: bold">takes</span> <span style="color: #008000; font-weight: bold">2</span> <span style="color: #008000; font-weight: bold">seconds</span> <span style="color: #008000; font-weight: bold">to</span> <span style="color: #008000; font-weight: bold">complete</span>
<span style="color: #008000; font-weight: bold">PASS</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testExecuteJobSignals</span><span style="color: #666666">()</span>
<span style="color: #008000; font-weight: bold">INFO</span>   <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">entering</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Checking</span> <span style="color: #008000; font-weight: bold">if</span> <span style="color: #008000; font-weight: bold">action</span>  <span style="color: #BA2121">"org.kde.kf5auth.autotest.echoaction"</span> <span style="color: #008000; font-weight: bold">exists</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Caller</span> <span style="color: #008000; font-weight: bold">ID</span><span style="color: #666666">:</span> <span style="color: #BA2121">"a random caller Id"</span>
<span style="color: #008000; font-weight: bold">QDEBUG</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Echo</span> <span style="color: #008000; font-weight: bold">action</span> <span style="color: #008000; font-weight: bold">running</span>
<span style="color: #008000; font-weight: bold">QWARN</span>  <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">QSocketNotifier</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">Socket</span> <span style="color: #008000; font-weight: bold">notifiers</span> <span style="color: #008000; font-weight: bold">cannot</span> <span style="color: #008000; font-weight: bold">be</span> <span style="color: #008000; font-weight: bold">enabled</span> <span style="color: #008000; font-weight: bold">or</span> <span style="color: #008000; font-weight: bold">disabled</span> <span style="color: #008000; font-weight: bold">from</span> <span style="color: #008000; font-weight: bold">another</span> <span style="color: #008000; font-weight: bold">thread</span>
<span style="color: #666666">^</span><span style="color: #008000; font-weight: bold">CQFATAL</span> <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Received</span> <span style="color: #008000; font-weight: bold">signal</span> <span style="color: #008000; font-weight: bold">2</span>
         <span style="color: #008000; font-weight: bold">Function</span> <span style="color: #008000; font-weight: bold">time</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">3563ms</span> <span style="color: #008000; font-weight: bold">Total</span> <span style="color: #008000; font-weight: bold">time</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">5657ms</span>
<span style="color: #008000; font-weight: bold">FAIL</span><span style="color: #666666">!</span>  <span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">HelperTest</span><span style="color: #666666">:</span><span style="color: #AA22FF">:testActionData</span><span style="color: #666666">()</span> <span style="color: #008000; font-weight: bold">Received</span> <span style="color: #008000; font-weight: bold">a</span> <span style="color: #008000; font-weight: bold">fatal</span> <span style="color: #008000; font-weight: bold">error</span><span style="color: #666666">.</span>
   <span style="color: #008000; font-weight: bold">Loc</span><span style="color: #666666">:</span> <span style="color: #BC7A00">[</span>Unknown <span style="color: #008000">file</span>(<span style="color: #666666">0</span>)<span style="color: #BC7A00">]</span>
<span style="color: #008000; font-weight: bold">Totals</span><span style="color: #666666">:</span> <span style="color: #008000; font-weight: bold">3</span> <span style="color: #008000; font-weight: bold">passed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">1</span> <span style="color: #008000; font-weight: bold">failed</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">skipped</span><span style="color: #666666">,</span> <span style="color: #008000; font-weight: bold">0</span> <span style="color: #008000; font-weight: bold">blacklisted</span>
<span style="color: #666666">*********</span> <span style="color: #008000; font-weight: bold">Finished</span> <span style="color: #008000; font-weight: bold">testing</span> <span style="color: #008000; font-weight: bold">of</span> <span style="color: #008000; font-weight: bold">HelperTest</span> <span style="color: #666666">*********</span>
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I don't know if this is a structural error or if it's just the test that should be rewritten or skipped on OS X.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also, I've noticed that applications like ksysguard5 that rely on a helper will authorise correctly in the main app, and then post an error:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span></span>DBus Backend error: connection to helper failed: "Not connected to D-Bus server"
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Does this mean those applications are not written to comply with platforms where authorisation takes place in the host, or in a helper process they activate in a different way via DBus?</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>cmake/KF5AuthMacros.cmake <span style="color: grey">(15f05c7)</span></li>

 <li>src/CMakeLists.txt <span style="color: grey">(1b6930d)</span></li>

 <li>src/backends/dbus/DBusHelperProxy.cpp <span style="color: grey">(decc267)</span></li>

 <li>src/backends/mac/AuthServicesBackend.h <span style="color: grey">(8f51eba)</span></li>

 <li>src/backends/mac/AuthServicesBackend.cpp <span style="color: grey">(e832bfe)</span></li>

 <li>src/backends/mac/kauth-policy-gen-mac.cpp <span style="color: grey">(b51d217)</span></li>

 <li>src/kauthhelpersupport.cpp <span style="color: grey">(318d3a0)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/126086/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>



  </div>
 </body>
</html>