KAuth buildability: new CI architecture

Martin Gräßlin mgraesslin at kde.org
Mon Apr 17 07:30:04 UTC 2017


Am 2017-04-17 06:49, schrieb Ben Cooksley:
> On Mon, Apr 17, 2017 at 12:48 AM, Martin Gräßlin <mgraesslin at kde.org> 
> wrote:
>> Am 2017-04-16 13:52, schrieb Ben Cooksley:
>>> 
>>> On Sun, Apr 16, 2017 at 11:09 PM, Harald Sitter <sitter at kde.org> 
>>> wrote:
>>>> 
>>>> Not particularly related to the issue at hand (which is probably
>>>> polkitqt having meh cmake files), but relocating stuff in general is
>>>> suuuuper unreliable and I would absolutely advise against it as it 
>>>> can
>>>> easily screw up test results and builds alike, often in unobvious 
>>>> ways
>>>> (all it takes is a bit of libexec use). Instead, as a general
>>>> principle, I would suggest that you get stuff mounted in suitably
>>>> stable/consistent/generic paths inside the build containers.
>>>> Ultimately what things look like natively on the host file system
>>>> shouldn't factor into what they look like in the build environment.
>>> 
>>> 
>>> While I have thought of using a consistent path, this would simply
>>> workaround the fact that our binaries are frail and have hardcoded
>>> paths baked into them.
>> 
>> 
>> note that this is partially intended for security reasons. E.g.
>> kscreenlocker starts kcheckpass through a hardcoded path for security
>> reasons (we want to be sure it's the kcheckpass we created and not a
>> fakekcheckpass injected by a malicious tool). So overall especially in
>> plasma lots of Wayland stuff is hardcoding paths for this reason and
>> partially they are used in testing.
>> 
>> In the case of kscreenlocker this can become a problem when KWin tests 
>> are
>> run. We have tests verify that locking the screen works on Wayland. 
>> For that
>> kscreenlocker_greet gets started and that has a hardcoded path as 
>> well. So
>> if the paths is relocated we test an unsupported setup.
> 
> Would it be possible to use relative-to-calling-binary paths?

Simply put: no. That would require quite some engineering effort 
especially considering that distros do have the libexec paths different 
with some adding the arch into it. This makes it almost impossible to 
get it right.

So in the case of kscreenlocker I have absolute zero interest in 
re-engineering it to support relative paths. The current code works and 
we can just assume that it is there. Anything else requires error 
handling and if something goes wrong users have a system which cannot be 
unlocked. The risk is not worth the effort.

Cheers
Martin


More information about the Kde-frameworks-devel mailing list