From 5d85d23e16fdf9e6574e2a3cbdf4d27d17cd6942 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Thu, 27 Mar 2025 17:49:13 +0100 Subject: [PATCH] package/v4l2loopback: fix v4l2loopback-ctl compile/install Since upstream commit [1] the original v4l2loopback-ctl bash script was replaced by a C version, so add a proper compile step (and remove bash runtime dependency) to fix '[help] v4l2loopback package build fails for raspberrypi5' [2]. The issue can be reproduced with the commands: cat <.config BR2_aarch64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_PACKAGE_V4L2LOOPBACK=y BR2_PACKAGE_V4L2LOOPBACK_UTILS=y EOF make olddefconfig make v4l2loopback Note: upstream commit [1] was introduced in version v0.13.0. Buildroot bumped v4l2loopback to v0.13.2 in [3]. Fixes: /usr/bin/install: cannot stat '.../build/v4l2loopback-0.13.2/utils/v4l2loopback-ctl': No such file or directory [1] https://github.com/v4l2loopback/v4l2loopback/commit/33922fa4e9965d400edcc2761e55fedf84bbb22a [2] https://lists.busybox.net/pipermail/buildroot/2025-March/775911.html [3] https://gitlab.com/buildroot.org/buildroot/-/commit/02540771bccf7b10c7daecce5f0e1e41a73c1e07 Signed-off-by: Peter Seiderer [Julien: - add commands to reproduce the issue - add reference to buildroot commit introducing the issue ] Signed-off-by: Julien Olivain --- package/v4l2loopback/Config.in | 4 ---- package/v4l2loopback/v4l2loopback.mk | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/v4l2loopback/Config.in b/package/v4l2loopback/Config.in index d8ca31e577..4bfa9a4fdd 100644 --- a/package/v4l2loopback/Config.in +++ b/package/v4l2loopback/Config.in @@ -14,10 +14,6 @@ if BR2_PACKAGE_V4L2LOOPBACK config BR2_PACKAGE_V4L2LOOPBACK_UTILS bool "utils" - depends on BR2_USE_MMU # bash - select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash - select BR2_PACKAGE_BASH # runtime dependency - select BR2_PACKAGE_SUDO # runtime dependency help Install applications to interact with v4l2-loopback devices ("virtual video devices"). Currently there is only a single diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 0e1d20c0cc..a4ddf5e2d9 100644 --- a/package/v4l2loopback/v4l2loopback.mk +++ b/package/v4l2loopback/v4l2loopback.mk @@ -11,6 +11,10 @@ V4L2LOOPBACK_LICENSE_FILES = COPYING V4L2LOOPBACK_CPE_ID_PREFIX = cpe:2.3:o ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y) +define V4L2LOOPBACK_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) utils +endef + define V4L2LOOPBACK_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/utils/v4l2loopback-ctl $(TARGET_DIR)/usr/bin/v4l2loopback-ctl endef