From 9389d63fdddcab400cb0b243b74d47bf665aba18 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Fri, 12 Jan 2024 09:55:53 -0300 Subject: v4l-utils: Update to 1.26.1 Update to 1.26.1. Remove the Makefile.am patches as they no longer apply due to the switch to Meson. Backport a fix that prevents installing 50-rc_keymap.conf in systems without systemd. Signed-off-by: Fabio Estevam Signed-off-by: Khem Raj --- ...a-ctl-Don-t-install-libmediactl-and-libv4.patch | 46 ----------- ...son-Restrict-the-installation-of-50-rc_ke.patch | 46 +++++++++++ .../0002-original-patch-mediactl-pkgconfig.patch | 23 ------ ...03-original-patch-export-mediactl-headers.patch | 26 ------- .../v4l2apps/v4l-utils_1.24.1.bb | 90 ---------------------- .../v4l2apps/v4l-utils_1.26.1.bb | 86 +++++++++++++++++++++ 6 files changed, 132 insertions(+), 185 deletions(-) delete mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch delete mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch delete mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch delete mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch deleted file mode 100644 index 52f0cd3388..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0d5c0e9a75eca43667b0e29155b635e50622b66a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 27 Feb 2015 21:55:36 +0000 -Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and - - libv4l2subdev" - -This reverts commit 0911dce53b08b0df3066be2c75f67e8a314d8729. - -Signed-off-by: Khem Raj - -Conflicts: - utils/media-ctl/Makefile.am - ---- -Upstream-Status: Pending - - utils/media-ctl/Makefile.am | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am -index c48c8d6..e255e16 100644 ---- a/utils/media-ctl/Makefile.am -+++ b/utils/media-ctl/Makefile.am -@@ -1,8 +1,7 @@ --noinst_LTLIBRARIES = libmediactl.la libv4l2subdev.la -- -+lib_LTLIBRARIES = libmediactl.la libv4l2subdev.la - libmediactl_la_SOURCES = libmediactl.c mediactl-priv.h --libmediactl_la_CFLAGS = -static $(LIBUDEV_CFLAGS) --libmediactl_la_LDFLAGS = -static $(LIBUDEV_LIBS) -+libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS) -+libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS) - - media-bus-format-names.h: ../../include/linux/media-bus-format.h - $(AM_V_GEN) sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \ -@@ -18,9 +17,6 @@ CLEANFILES = $(BUILT_SOURCES) - nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES) - libv4l2subdev_la_SOURCES = libv4l2subdev.c - libv4l2subdev_la_LIBADD = libmediactl.la --libv4l2subdev_la_CFLAGS = -static --libv4l2subdev_la_LDFLAGS = -static -- - mediactl_includedir=$(includedir)/mediactl - noinst_HEADERS = mediactl.h v4l2subdev.h - diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch new file mode 100644 index 0000000000..64c01e4977 --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch @@ -0,0 +1,46 @@ +From 502c0302827cec3d2b2a69fb25189646685ef2ff Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Fri, 12 Jan 2024 00:17:14 -0300 +Subject: [PATCH] keytable: meson: Restrict the installation of + 50-rc_keymap.conf + +Currently, meson tries to install 50-rc_keymap.conf even if systemd +is not used. + +Commit 01f2c6c58e6f ("keytable: restrict installation of 50-rc_keymap.conf"), +only allowed 50-rc_keymap.conf to be installed when both BPF and systemd +were used. + +Apply the same logic in meson to fix the problem. + +Signed-off-by: Fabio Estevam +Signed-off-by: Sean Young +Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=a21924ec424c4744af6f2a794e0677eba35dd168] +--- + utils/keytable/meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build +index 4130a4bea514..76ce329eae8e 100644 +--- a/utils/keytable/meson.build ++++ b/utils/keytable/meson.build +@@ -69,6 +69,8 @@ ir_keytable_udev_rules = files( + install_data(ir_keytable_udev_rules, + install_dir : ir_keytable_system_dir / 'rules.d') + ++if ir_bpf_enabled ++if dep_systemd.found() + if have_udevdsyscallfilter + ir_keytable_systemd_files = files( + '50-rc_keymap.conf', +@@ -76,6 +78,8 @@ if have_udevdsyscallfilter + install_data(ir_keytable_systemd_files, + install_dir : systemd_systemdir / 'systemd-udevd.service.d') + endif ++endif ++endif + + # Install non-existing directory to create empty directory structure + # See: https://github.com/mesonbuild/meson/issues/2904 +-- +2.34.1 diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch deleted file mode 100644 index d52475974f..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 320b8378ee30eb5e0fe83a8b397f822f2f88a4c1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 1 Mar 2015 22:25:07 +0000 -Subject: [PATCH] %% original patch: mediactl-pkgconfig.patch - ---- -Upstream-Status: Pending - - utils/media-ctl/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am -index e255e16..ff7b417 100644 ---- a/utils/media-ctl/Makefile.am -+++ b/utils/media-ctl/Makefile.am -@@ -20,6 +20,7 @@ libv4l2subdev_la_LIBADD = libmediactl.la - mediactl_includedir=$(includedir)/mediactl - noinst_HEADERS = mediactl.h v4l2subdev.h - -+pkgconfig_DATA = libmediactl.pc - bin_PROGRAMS = media-ctl - media_ctl_SOURCES = media-ctl.c options.c options.h tools.h - media_ctl_LDADD = libmediactl.la libv4l2subdev.la diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch deleted file mode 100644 index f6fcee92ea..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f7109d6b2fcb291824d795071c04a492d9fbc45b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 1 Mar 2015 22:25:07 +0000 -Subject: [PATCH] %% original patch: export-mediactl-headers.patch - ---- -Upstream-Status: Pending - - utils/media-ctl/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am -index ff7b417..6ce656f 100644 ---- a/utils/media-ctl/Makefile.am -+++ b/utils/media-ctl/Makefile.am -@@ -17,8 +17,8 @@ CLEANFILES = $(BUILT_SOURCES) - nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES) - libv4l2subdev_la_SOURCES = libv4l2subdev.c - libv4l2subdev_la_LIBADD = libmediactl.la --mediactl_includedir=$(includedir)/mediactl --noinst_HEADERS = mediactl.h v4l2subdev.h -+otherincludedir = $(includedir)/mediactl -+otherinclude_HEADERS = mediactl.h v4l2subdev.h - - pkgconfig_DATA = libmediactl.pc - bin_PROGRAMS = media-ctl diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb deleted file mode 100644 index f314d9b6ae..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "v4l2 and IR applications" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ - file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -PROVIDES = "libv4l media-ctl" - -DEPENDS = "jpeg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ - ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" - -DEPENDS:append:libc-musl = " argp-standalone" -DEPENDS:append:class-target = " udev" -LDFLAGS:append = " -pthread" -# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to -# both 32 and 64 bit file APIs. But it does not handle the time side? -# Needs further investigation -GLIBC_64BIT_TIME_FLAGS = "" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG ??= "media-ctl" -PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,," -PACKAGECONFIG[qv4l2] = ",--disable-qv4l2" -PACKAGECONFIG[qvidcap] = ",--disable-qvidcap" -PACKAGECONFIG[v4l2-tracer] = ",--disable-v4l2-tracer,json-c" - -SRC_URI = "\ - git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.24 \ - file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ - file://0002-original-patch-mediactl-pkgconfig.patch \ - file://0003-original-patch-export-mediactl-headers.patch \ - file://0004-Do-not-use-getsubopt.patch \ -" - -SRCREV = "8799081b143627c9c09dea0c60ad3d1cc17cc848" - -PV .= "+git${SRCPV}" - -S = "${WORKDIR}/git" - -do_configure:prepend() { - cd ${S}; ./bootstrap.sh; cd - -} - -EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \ - --disable-v4l2-compliance-32 --disable-v4l2-ctl-32" - -VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" - -PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" - -RPROVIDES:${PN}-dbg += "libv4l-dbg" - -FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" -FILES:qv4l2 = "\ - ${bindir}/qv4l2 \ - ${datadir}/applications/qv4l2.desktop \ - ${datadir}/icons/hicolor/*/apps/qv4l2.* \ -" -FILES:qvidcap = "\ - ${bindir}/qvidcap \ - ${datadir}/applications/qvidcap.desktop \ - ${datadir}/icons/hicolor/*/apps/qvidcap.* \ -" - -FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" -RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" -RDEPENDS:qv4l2 += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" -RDEPENDS:qvidcap += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" - -FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" - -FILES:${PN} = "${bindir} ${sbindir}" - -FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ - ${libdir}/libdvbv5*${SOLIBS} \ - ${libdir}/libv4l/*-decomp \ - ${libdir}/libv4l2tracer.so \ -" - -FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ - ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" - -PARALLEL_MAKE:class-native = "" -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb new file mode 100644 index 0000000000..4ae1a18c9e --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb @@ -0,0 +1,86 @@ +SUMMARY = "v4l2 and IR applications" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ + file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" +PROVIDES = "libv4l media-ctl" + +DEPENDS = "jpeg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" + +DEPENDS:append:libc-musl = " argp-standalone" +DEPENDS:append:class-target = " udev" +LDFLAGS:append = " -pthread" +# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to +# both 32 and 64 bit file APIs. But it does not handle the time side? +# Needs further investigation +GLIBC_64BIT_TIME_FLAGS = "" + +inherit meson gettext pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled" +PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled" +PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c" + +SRC_URI = "\ + git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.26 \ + file://0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch \ + file://0004-Do-not-use-getsubopt.patch \ +" + +SRCREV = "4aee01a027923cab1e40969f56f8ba58d3e6c0d1" + +PV .= "+git${SRCPV}" + +S = "${WORKDIR}/git" + +EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false" + +# Disable the erroneous installation of gconv-modules that would break glib +# like it is done in Debian and ArchLinux. +EXTRA_OEMESON += "-Dgconv=disabled" + +VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" + +PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" + +RPROVIDES:${PN}-dbg += "libv4l-dbg" + +FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" +FILES:qv4l2 = "\ + ${bindir}/qv4l2 \ + ${datadir}/applications/qv4l2.desktop \ + ${datadir}/icons/hicolor/*/apps/qv4l2.* \ +" +FILES:qvidcap = "\ + ${bindir}/qvidcap \ + ${datadir}/applications/qvidcap.desktop \ + ${datadir}/icons/hicolor/*/apps/qvidcap.* \ +" + +FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" +RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" +RDEPENDS:qv4l2 += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" +RDEPENDS:qvidcap += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" + +FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" + +FILES:${PN} = "${bindir} ${sbindir}" + +FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ + ${libdir}/libv4l/*-decomp \ + ${libdir}/libv4l2tracer.so \ +" + +FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ + ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ + ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" + +PARALLEL_MAKE:class-native = "" +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf