Message ID | 20220930064207.29453-1-daniel@qtec.com |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473 | expand |
On Fri, 30 Sept 2022 at 08:51, Daniel Gomez <daniel@qtec.com> wrote: > > 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> > --- v2 - Remove PACKAGECONFIG new defaults (remove qv4l2 and qvidcap). - Fix DEPENDS for qv4l2 and qvidcap using bb.utilscontains_any. - > ....patch => 0004-Do-not-use-getsubopt.patch} | 19 ++++++-- > ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 45 +++++++++++++++---- > 2 files changed, 51 insertions(+), 13 deletions(-) > rename meta-oe/recipes-multimedia/v4l2apps/v4l-utils/{0007-Do-not-use-getsubopt.patch => 0004-Do-not-use-getsubopt.patch} (73%) > rename meta-oe/recipes-multimedia/v4l2apps/{v4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} (59%) > > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > similarity index 73% > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > index d8d1b8d18..fb844acbe 100644 > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > @@ -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> > Date: Sat, 30 Nov 2019 18:50:34 -0800 > Subject: [PATCH] Do not use getsubopt > @@ -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 <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 ++++++++++-------- > 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; > > @@ -47,3 +55,6 @@ index c940171..49c0f39 100644 > } > > void common_cmd(const std::string &media_bus_info, int ch, char *optarg) > +-- > +2.35.1 > + > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > similarity index 59% > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > index 741e1030c..4a88d69f6 100644 > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > @@ -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" > @@ -15,30 +18,54 @@ 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 += "qtbase" > +RDEPENDS:qvidcap += "qtbase" > > FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" > > -- > 2.35.1 >
seeing https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/2067 On Thu, Sep 29, 2022 at 11:56 PM Daniel Gomez <daniel@qtec.com> wrote: > > On Fri, 30 Sept 2022 at 08:51, Daniel Gomez <daniel@qtec.com> wrote: > > > > 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> > > --- > v2 > - Remove PACKAGECONFIG new defaults (remove qv4l2 and qvidcap). > - Fix DEPENDS for qv4l2 and qvidcap using bb.utilscontains_any. > - > > ....patch => 0004-Do-not-use-getsubopt.patch} | 19 ++++++-- > > ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 45 +++++++++++++++---- > > 2 files changed, 51 insertions(+), 13 deletions(-) > > rename meta-oe/recipes-multimedia/v4l2apps/v4l-utils/{0007-Do-not-use-getsubopt.patch => 0004-Do-not-use-getsubopt.patch} (73%) > > rename meta-oe/recipes-multimedia/v4l2apps/{v4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} (59%) > > > > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > similarity index 73% > > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > index d8d1b8d18..fb844acbe 100644 > > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > @@ -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> > > Date: Sat, 30 Nov 2019 18:50:34 -0800 > > Subject: [PATCH] Do not use getsubopt > > @@ -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 <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 ++++++++++-------- > > 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; > > > > @@ -47,3 +55,6 @@ index c940171..49c0f39 100644 > > } > > > > void common_cmd(const std::string &media_bus_info, int ch, char *optarg) > > +-- > > +2.35.1 > > + > > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > similarity index 59% > > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > index 741e1030c..4a88d69f6 100644 > > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > @@ -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" > > @@ -15,30 +18,54 @@ 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 += "qtbase" > > +RDEPENDS:qvidcap += "qtbase" > > > > FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" > > > > -- > > 2.35.1 > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#99020): https://lists.openembedded.org/g/openembedded-devel/message/99020 > Mute This Topic: https://lists.openembedded.org/mt/94011567/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, 30 Sept 2022 at 19:07, Khem Raj <raj.khem@gmail.com> wrote: > > seeing > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/2067 Ups. Sorry Khem. This seems to be a missing conditional in the RDEPENDS:<package>. I thought this was only parsed if the PACKAGECONFIG had '<package>' in it. I'll send a v3 with the fix. > > On Thu, Sep 29, 2022 at 11:56 PM Daniel Gomez <daniel@qtec.com> wrote: > > > > On Fri, 30 Sept 2022 at 08:51, Daniel Gomez <daniel@qtec.com> wrote: > > > > > > 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> > > > --- > > v2 > > - Remove PACKAGECONFIG new defaults (remove qv4l2 and qvidcap). > > - Fix DEPENDS for qv4l2 and qvidcap using bb.utilscontains_any. > > - > > > ....patch => 0004-Do-not-use-getsubopt.patch} | 19 ++++++-- > > > ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 45 +++++++++++++++---- > > > 2 files changed, 51 insertions(+), 13 deletions(-) > > > rename meta-oe/recipes-multimedia/v4l2apps/v4l-utils/{0007-Do-not-use-getsubopt.patch => 0004-Do-not-use-getsubopt.patch} (73%) > > > rename meta-oe/recipes-multimedia/v4l2apps/{v4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} (59%) > > > > > > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > > similarity index 73% > > > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > > > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > > index d8d1b8d18..fb844acbe 100644 > > > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch > > > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch > > > @@ -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> > > > Date: Sat, 30 Nov 2019 18:50:34 -0800 > > > Subject: [PATCH] Do not use getsubopt > > > @@ -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 <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 ++++++++++-------- > > > 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; > > > > > > @@ -47,3 +55,6 @@ index c940171..49c0f39 100644 > > > } > > > > > > void common_cmd(const std::string &media_bus_info, int ch, char *optarg) > > > +-- > > > +2.35.1 > > > + > > > diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > > similarity index 59% > > > rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > > > rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > > index 741e1030c..4a88d69f6 100644 > > > --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb > > > +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb > > > @@ -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" > > > @@ -15,30 +18,54 @@ 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 += "qtbase" > > > +RDEPENDS:qvidcap += "qtbase" > > > > > > FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" > > > > > > -- > > > 2.35.1 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#99020): https://lists.openembedded.org/g/openembedded-devel/message/99020 > > Mute This Topic: https://lists.openembedded.org/mt/94011567/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch similarity index 73% rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch index d8d1b8d18..fb844acbe 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch @@ -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> Date: Sat, 30 Nov 2019 18:50:34 -0800 Subject: [PATCH] Do not use getsubopt @@ -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 <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 ++++++++++-------- 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; @@ -47,3 +55,6 @@ index c940171..49c0f39 100644 } void common_cmd(const std::string &media_bus_info, int ch, char *optarg) +-- +2.35.1 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb similarity index 59% rename from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb rename to meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb index 741e1030c..4a88d69f6 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb @@ -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" @@ -15,30 +18,54 @@ 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 += "qtbase" +RDEPENDS:qvidcap += "qtbase" FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
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> --- ....patch => 0004-Do-not-use-getsubopt.patch} | 19 ++++++-- ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 45 +++++++++++++++---- 2 files changed, 51 insertions(+), 13 deletions(-) rename meta-oe/recipes-multimedia/v4l2apps/v4l-utils/{0007-Do-not-use-getsubopt.patch => 0004-Do-not-use-getsubopt.patch} (73%) rename meta-oe/recipes-multimedia/v4l2apps/{v4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} (59%)