Skip to content

Commit

Permalink
v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
Daniel Gomez authored and kraj committed Oct 2, 2022
1 parent 0e30cdf commit ff7666c
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
Date: Sat, 30 Nov 2019 18:50:34 -0800
Subject: [PATCH] Do not use getsubopt
Expand All @@ -11,24 +11,32 @@ Simply avoid getsubopt, since we cannot rely on it.
Imported from Alpine Linux

Upstream-Status: Pending

Signed-off-by: Khem Raj <[email protected]>

Adapt patch to 1.23.0.

(v4l-utils rev fd544473800d02e90bc289434cc44e5aa8fadd0f).

%% original patch: 0007-Do-not-use-getsubopt.patch

Signed-off-by: Daniel Gomez <[email protected]>
---
utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
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
index c940171..49c0f39 100644
index d77f7104..838c297d 100644
--- a/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 char *const subopts[] = {
- nullptr
- };
- int opt = getsubopt(subs, subopts, value);
- int opt = v4l_getsubopt(subs, subopts, value);
+ char *p = *subs;
+ *value = *subs;

Expand All @@ -47,3 +55,6 @@ index c940171..49c0f39 100644
}

void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
--
2.35.1

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ 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', '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"
Expand All @@ -15,30 +18,56 @@ inherit autotools gettext pkgconfig

PACKAGECONFIG ??= "media-ctl"
PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
PACKAGECONFIG[qv4l2] = ",--disable-qv4l2"
PACKAGECONFIG[qvidcap] = ",--disable-qvidcap"

SRC_URI = "\
git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master \
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 = "fd544473800d02e90bc289434cc44e5aa8fadd0f"

S = "${WORKDIR}/git"
B = "${S}"

SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
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://0007-Do-not-use-getsubopt.patch \
"
do_configure:prepend() {
${S}/bootstrap.sh
}

SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
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"

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"

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*"

Expand Down

0 comments on commit ff7666c

Please sign in to comment.