mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
Use git instead of release tarball to close the gap between the latest 1.22.1 and master. Add 'bootstrap.sh' call to fix configuration issues: Error: config.status: error: cannot find input file: `v4l-utils-po/Makefile.in.in Adapt patch '0007-Do-not-use-getsubopt.patch': Upstream has replaced the use of getsubopt with v4l_subopt which detects if getsubopt is provided via glibc or not. Otherwise it uses a static v4l_getsubopt copied from glibc. (From v4l-utils: 6e19bb895a16a9a247524ac526ab47f576cc36f6) Also rename patch number to '0004-Do-not-use-getsubopt.patch'. Add qv4l2 and qvidcap packages support but keep them disabled as they require meta-qt5. Enable alsa support if alsa is part of the DISTRO_FEATURES. Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+15
-4
@@ -1,4 +1,4 @@
|
|||||||
From e4582c11f76b9390a3e172dcf0741dca90a9dc8d Mon Sep 17 00:00:00 2001
|
From 6e7e52de7afe29597016952a7317faf9c3ea3268 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 30 Nov 2019 18:50:34 -0800
|
Date: Sat, 30 Nov 2019 18:50:34 -0800
|
||||||
Subject: [PATCH] Do not use getsubopt
|
Subject: [PATCH] Do not use getsubopt
|
||||||
@@ -11,24 +11,32 @@ Simply avoid getsubopt, since we cannot rely on it.
|
|||||||
Imported from Alpine Linux
|
Imported from Alpine Linux
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
|
||||||
|
Adapt patch to 1.23.0.
|
||||||
|
|
||||||
|
(v4l-utils rev fd544473800d02e90bc289434cc44e5aa8fadd0f).
|
||||||
|
|
||||||
|
%% original patch: 0007-Do-not-use-getsubopt.patch
|
||||||
|
|
||||||
|
Signed-off-by: Daniel Gomez <daniel@qtec.com>
|
||||||
---
|
---
|
||||||
utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
|
utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
|
||||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
||||||
index c940171..49c0f39 100644
|
index d77f7104..838c297d 100644
|
||||||
--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
||||||
+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
||||||
@@ -956,15 +956,17 @@ static bool parse_subset(char *optarg)
|
@@ -994,15 +994,17 @@ static bool parse_subset(char *optarg)
|
||||||
|
|
||||||
static bool parse_next_subopt(char **subs, char **value)
|
static bool parse_next_subopt(char **subs, char **value)
|
||||||
{
|
{
|
||||||
- static char *const subopts[] = {
|
- static char *const subopts[] = {
|
||||||
- nullptr
|
- nullptr
|
||||||
- };
|
- };
|
||||||
- int opt = getsubopt(subs, subopts, value);
|
- int opt = v4l_getsubopt(subs, subopts, value);
|
||||||
+ char *p = *subs;
|
+ char *p = *subs;
|
||||||
+ *value = *subs;
|
+ *value = *subs;
|
||||||
|
|
||||||
@@ -47,3 +55,6 @@ index c940171..49c0f39 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
|
void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
||||||
+38
-9
@@ -6,7 +6,10 @@ PROVIDES = "libv4l media-ctl"
|
|||||||
|
|
||||||
DEPENDS = "jpeg \
|
DEPENDS = "jpeg \
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
|
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', 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:libc-musl = " argp-standalone"
|
||||||
DEPENDS:append:class-target = " udev"
|
DEPENDS:append:class-target = " udev"
|
||||||
LDFLAGS:append = " -pthread"
|
LDFLAGS:append = " -pthread"
|
||||||
@@ -15,30 +18,56 @@ inherit autotools gettext pkgconfig
|
|||||||
|
|
||||||
PACKAGECONFIG ??= "media-ctl"
|
PACKAGECONFIG ??= "media-ctl"
|
||||||
PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
|
PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
|
||||||
|
PACKAGECONFIG[qv4l2] = ",--disable-qv4l2"
|
||||||
|
PACKAGECONFIG[qvidcap] = ",--disable-qvidcap"
|
||||||
|
|
||||||
SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
|
SRC_URI = "\
|
||||||
file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
|
git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master \
|
||||||
file://0002-original-patch-mediactl-pkgconfig.patch \
|
file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
|
||||||
file://0003-original-patch-export-mediactl-headers.patch \
|
file://0002-original-patch-mediactl-pkgconfig.patch \
|
||||||
file://0007-Do-not-use-getsubopt.patch \
|
file://0003-original-patch-export-mediactl-headers.patch \
|
||||||
"
|
file://0004-Do-not-use-getsubopt.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRCREV = "fd544473800d02e90bc289434cc44e5aa8fadd0f"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
B = "${S}"
|
||||||
|
|
||||||
|
do_configure:prepend() {
|
||||||
|
${S}/bootstrap.sh
|
||||||
|
}
|
||||||
|
|
||||||
SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
|
SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
|
||||||
SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31"
|
SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31"
|
||||||
|
|
||||||
EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \
|
EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \
|
||||||
--disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
|
--disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
|
||||||
|
|
||||||
VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
|
VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
|
||||||
|
|
||||||
PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev"
|
PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
|
||||||
|
|
||||||
RPROVIDES:${PN}-dbg += "libv4l-dbg"
|
RPROVIDES:${PN}-dbg += "libv4l-dbg"
|
||||||
|
|
||||||
FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
|
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"
|
FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
|
||||||
RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
|
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:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
|
||||||
|
|
||||||
Reference in New Issue
Block a user