[Buildroot] [PATCH 1/2] package/qt5base: fix race with libxkbcommon
Arnout Vandecappelle
arnout at mind.be
Mon Mar 28 19:54:24 UTC 2022
On 28/03/2022 13:14, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>
> qt5wayland package currently has a bug if the xkbcommon Qt config is not
> enabled which highlighted a race issues between qt5base, libxkbcommon
> and qt5wayland.
>
> qt5wayland has a dependency on libxkbcommon package if it's enabled.
> qt5base only has a dependency on libxkbcommon if xcb support is to be
> enabled.
>
> If libxkbcommon package is built before qt5base, qt5base will detect it
> during its configure step and enable the Qt config accordingly. This
> will make it available to qt5wayland afterwards, even if xcb support is
> not enabled in Buildroot Kconfig.
>
> However, if qt5base is built before libxkbcommon is, qt5base will not
> advertise support of xbcommon feature to qt5wayland (which will fail its
> build because of a bug in the source code).
>
> Since the package build order should not impact the outcome of the
> build, let's explicit the dependency if and only if libxkbcommon package
> is to be compiled at some point in time so that at least this feature is
> not susceptible to races.
>
> Cc: Quentin Schulz <foss+buildroot at 0leil.net>
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
> package/qt5/qt5base/qt5base.mk | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 4418f0d3ba..891635ad35 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -168,6 +168,11 @@ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-
> QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
> QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
>
> +ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y)
> +QT5BASE_CONFIGURE_OPTS += -xkbcommon
> +QT5BASE_DEPENDENCIES += libxkbcommon
> +endif
> +
> ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
> QT5BASE_CONFIGURE_OPTS += -xcb
> QT5BASE_CONFIGURE_OPTS += -xkbcommon
The existing entries should be removed.
Applied both to master with that fixed, thanks.
Regards,
Arnout
More information about the buildroot
mailing list