[weston] xkbcommon library is not optional.

Joaquim Duran jduran.gm at gmail.com
Fri Oct 16 01:34:09 PDT 2015


Disable xkbcommon library could be useful in devices based on
touchscreen, like smartphones, but if you have USB connectors, you
could connect an external keyboard. if xkbcommon is a small library,
just change the documentation.

Joaquim Duran

2015-10-16 10:27 GMT+02:00 Hardening <rdp.effort at gmail.com>:
> Le 16/10/2015 03:28, Bryce Harrington a écrit :
>> On Tue, Oct 13, 2015 at 01:59:13PM +0200, Joaquim Duran wrote:
>>> Hello,
>>>
>>> When configuring the Weston project, it is possible to disable (don't
>>> include) the library libxkbcommon. To compile Weston successfully,
>>> even if the option --disable-xkbcommon is specified, the library must
>>> be installed because the file src/compositor.h requires it.
>>
>> Joaquim, good find.
>>
>> From the comments in configure.ac:
>>
>>           AS_HELP_STRING([--disable-xkbcommon], [Disable libxkbcommon
>>                   support: This is only useful in environments
>>                   where you do not have a hardware keyboard. If
>>                   libxkbcommon support is disabled clients will not
>>                   be sent a keymap and and must know how to
>>                   interpret the keycode sent for any key event.]),,
>>
>> So it sounds like this is a special case that is intended to work.
>>
>> The header include was from commit 855028fe three years ago, while the
>> --disable-xkbcommon was added by 382ff46f just two years ago.  That
>> makes me think that your situation was simply overlooked.
>>
>> If that's true, then presumably the fix would involve peppering
>> compositor.* and other files with tests like,
>>
>> #ifdef ENABLE_XKBCOMMON
>> ...
>> #endif
>>
>> For example it looks like the weston_xkb_info struct would need to
>> either be removed or stubbed out, and users of it be disabled.  There
>> are also some weston calls that use xkb_keymap, xkb_rule_names,
>> etc. structures for params that'd need addressed.
>>
>> On the face of it, seems like it could be a fair amount of work, and a
>> bit invasive, but maybe there's some tricks to make it simpler
>> (typedeffing the unsupported struct args and so on.)
>>
>> Alternatively, --disable-xkbcommon could be dropped.  However I get the
>> sense it actually solves a real world need, and functional regression is
>> rarely a good idea.
>>
>
> I'm to fix the bug. Anyway it's almost sure that there's no real usage
> of this flag as otherwise weston does not compile...
>
> Best regards
>
>
> --
> David FORT
> website: http://www.hardening-consulting.com/
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list