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
d6279bc82c ("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 <adam.duskett@amarulasolutions.com>
[Thomas: further extend the commit log, with details gathered by Yann
and myself.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 50eed2060a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Adam Duskett 2023-12-21 08:36:10 -07:00 committed by Peter Korsgaard
parent bbde803252
commit a3d291e8f6
2 changed files with 3 additions and 0 deletions

View File

@ -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

View File

@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES
WLROOTS_DEPENDENCIES = \
host-pkgconf \
host-wayland \
hwdata \
libinput \
libxkbcommon \
libegl \