From a3d291e8f6ad2b970a81c1b8a7e7f25a69ffc229 Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Thu, 21 Dec 2023 08:36:10 -0700 Subject: [PATCH] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Since upstream commit eec95e3d5e1a4f2e13b1f6b34cc287475ca57daf ("backend/drm: use pnp.ids to fetch EDID data"), the pnp.ids file from hwdata is parsed at build time to generate a C source file. As per backend/drm/meson.build: hwdata = dependency('hwdata', required: false, native: true) if hwdata.found() hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir') pnp_ids = files(hwdata_dir / 'pnp.ids') else pnp_ids = files('/usr/share/hwdata/pnp.ids') endif This is only needed when the DRM backend of wlroots is enabled, but currently, Buildroot enables this backend unconditionally. This failure can be reproduced using the following defconfig: BR2_x86_64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_WLROOTS=y The issue was not caught in the autobuilders because the last successful build of a configuration that includes wlroots dates back from 2022-05-05, at which time Buildroot had wlroots 0.15.1. This change in wlroots was introduced in wlroots 0.16.0, which means that it's only since Buildroot bumped from 0.15.1 to 0.16.2 in d6279bc82c02b43c9a2f28c36639e092b9e9e08b ("package/wlroots: bump to version 0.16.2") that the issue occurs. This commit is not yet in any tagged release, so there is no need to backport this fix. It should be noted that the proposed patch also installs pnp.ids to the target filesystem, while it is in practice not needed at runtime by wlroots. However, our current hwdata packaging doesn't allow installing it only in staging, and since wlroots anyway implies we're building a fairly heavy graphics stack, the size overhead of hwdata is deemed to be an acceptable trade-off. Signed-off-by: Adam Duskett [Thomas: further extend the commit log, with details gathered by Yann and myself.] Signed-off-by: Thomas Petazzoni (cherry picked from commit 50eed2060ae6a35be257a8773b8e217a623eb29e) Signed-off-by: Peter Korsgaard --- package/wlroots/Config.in | 2 ++ package/wlroots/wlroots.mk | 1 + 2 files changed, 3 insertions(+) diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in index fb23e9069c..7622a3033b 100644 --- a/package/wlroots/Config.in +++ b/package/wlroots/Config.in @@ -16,6 +16,8 @@ config BR2_PACKAGE_WLROOTS depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND depends on BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HWDATA + select BR2_PACKAGE_HWDATA_PNP_IDS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk index b478e57abb..bb5c8f497d 100644 --- a/package/wlroots/wlroots.mk +++ b/package/wlroots/wlroots.mk @@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES WLROOTS_DEPENDENCIES = \ host-pkgconf \ host-wayland \ + hwdata \ libinput \ libxkbcommon \ libegl \