All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 1/3] libftdi: Add ftdi-eeprom support
@ 2022-09-29 16:14 Daniel Gomez
  2022-09-29 16:14 ` [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473 Daniel Gomez
       [not found] ` <171960E83FC6B876.29337@lists.openembedded.org>
  0 siblings, 2 replies; 15+ messages in thread
From: Daniel Gomez @ 2022-09-29 16:14 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr, Daniel Gomez

Add ftdi-eeprom support. Note: Prepend ftdi-eeprom PACKAGE to avoid
ftdi_eeprom to be installed in the default PN package.

Signed-off-by: Daniel Gomez <daniel@qtec.com>
---
 meta-oe/recipes-support/libftdi/libftdi_1.5.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.5.bb b/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
index b03a0c7f4..bc5897413 100644
--- a/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
+++ b/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
@@ -20,14 +20,16 @@ inherit cmake binconfig pkgconfig python3native
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
+PACKAGECONFIG[ftdi-eeprom] = "-DFTDI_EEPROM=on,-DFTDI_EEPROM=off,libconfuse"
 
-EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off -DFTDI_EEPROM=off \
+EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off \
                  -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
                  -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
                  -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
 
 BBCLASSEXTEND = "native nativesdk"
 
-PACKAGES += "${PN}-python"
+PACKAGES =+ "${PN}-python ftdi-eeprom"
 
+FILES:ftdi-eeprom = "${bindir}/ftdi_eeprom"
 FILES:${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/"
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-29 16:14 [meta-oe][PATCH 1/3] libftdi: Add ftdi-eeprom support Daniel Gomez
@ 2022-09-29 16:14 ` Daniel Gomez
  2022-09-29 21:24   ` Daniel Gomez
       [not found] ` <171960E83FC6B876.29337@lists.openembedded.org>
  1 sibling, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-29 16:14 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr, Daniel Gomez

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} | 50 +++++++++++++++----
 2 files changed, 56 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} (57%)

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 57%
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..fcc491b78 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,39 +6,71 @@ 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)}"
+
 DEPENDS:append:libc-musl = " argp-standalone"
 DEPENDS:append:class-target = " udev"
+DEPENDS:append:qv4l2 = " qtbase qtbase-native"
+DEPENDS:append:qvidcap = " qtbase qtbase-native"
 LDFLAGS:append = " -pthread"
 
 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 += " qv4l2"
+PACKAGECONFIG += " qvidcap"
+PACKAGECONFIG += " media-ctl"
+
+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



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH 3/3] xf86-video-ati: Update 19.1.0 -> 19.1.0+7a6a34af
       [not found] ` <171960E83FC6B876.29337@lists.openembedded.org>
@ 2022-09-29 16:19   ` Daniel Gomez
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Gomez @ 2022-09-29 16:19 UTC (permalink / raw)
  To: daniel; +Cc: openembedded-devel, dagmcr, Khem Raj

Hi Khem,

This is an update of the patch [1] sent some time ago with mips
failures. I've tested with the latest yocto rc (4.1_M3) and with
qemumips with no issues. Please, let me know if it fails again.

[1]
https://lore.kernel.org/all/CAMKF1so3TUDnsUgV9DPdtuf5FxP-UXxPsy5ogqsuuS7n+vT++w@mail.gmail.com/

On Thu, 29 Sept 2022 at 18:14, Daniel Gomez via lists.openembedded.org
<daniel=qtec.com@lists.openembedded.org> wrote:
>
> The ATI/AMD Radeon video driver for the Xorg X server
>
> - Switch to git in SRC_URI
> This video driver hasn't released any package in the last 2+ years.
> Switch recipe to use git instead of release tarball to get the latest
> version of it.
>
> - Drop patches already upstreamed.
>
> - Add PACKAGECONFIG support: udev and glamor.
>
> - Add mesa driver runtime dependencies and libegl as glamor runtime dependency.
>
> - Add ${PN}-config package.
>
> - Fix mesa RDEPENDS. The radeonsi, r600, r300 and swrast are part of
> the mesa-megadriver package.
>
> Error:
> The following packages have unmet dependencies:
>  xf86-video-amdgpu : Depends: mesa-driver-radeon but it is not
> installable
>  xf86-video-ati : Depends: mesa-driver-radeon but it is not installable
>                   Recommends: linux-firmware-radeon but it is not going
> to be installed
> E: Unable to correct problems, you have held broken packages.
>
> - Update 19.1.0 tarball to git 7a6a34af rev.
>
> Changelog:
>
> 7a6a34af Don't set SourceValidate pointer to NULL
> 983a779b radeon_glamor_wrappers.c: Convert from ISO-8859-1 to UTF-8
> a25ca015 gitlab CI: enable gitlab's builtin static analysis
> 7b940097 gitlab CI: enable commit & merge request checks
> 8fc442d6 Fix spelling/wording issues
> 11d549d5 Build xz tarballs instead of bzip2
> 5eba006e Only include dri.h with older versions of xserver
> ecced3b3 Add GitLab CI pipeline
> 77d9ab03 Guard local variable info only used with glamor
> 3c7c84ed Guard local variable priv only used with glamor
> 8da3e456 ati: cleanup terminology to use primary/secondary
> 38453924 Fix return value check of drmIoctl()
> c0eb5dbd Don't crash X server if GPU acceleration is not available
> 4d84cf43 Handle NULL fb_ptr in pixmap_get_fb
> f223035f Fix link failure with gcc 10
> b9bd8097 Bump version for 19.1.0 release
> 2faaecc6 Don't unreference FBs of pixmaps from different screens in LeaveVT
> 2cbbd864 Don't set up black scanout buffer if LeaveVT is called from CloseScreen
> c7ed12cb Don't disable page flipping completely with SW cursor
> 33803c85 present: Check that we can get a KMS FB for flipping
> fee737e8 Remove dri2_drawable_crtc parameter consider_disabled
> 2a3f2d20 dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL
> d5f5bc58 dri2: reply to client for WaitMSC request in any case
> f758908d dri3: Always flush glamor before sharing pixmap storage with clients
> d1d8e3c8 Retry get_fb_ptr in get_fb
>
> Signed-off-by: Daniel Gomez <daniel@qtec.com>
> ---
>  .../0001-Fix-link-failure-with-gcc-10.patch   |  34 --
>  ...terminology-to-use-primary-secondary.patch | 369 ------------------
>  .../xorg-driver/xf86-video-ati_19.1.0.bb      |  25 --
>  .../xorg-driver/xf86-video-ati_git.bb         |  41 ++
>  4 files changed, 41 insertions(+), 428 deletions(-)
>  delete mode 100644 meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
>  delete mode 100644 meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch
>  delete mode 100644 meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb
>  create mode 100644 meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb
>
> diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
> deleted file mode 100644
> index 7dfa23342..000000000
> --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -From cebbeaa9d0bdc18377faef27ea9ffd38e509d180 Mon Sep 17 00:00:00 2001
> -From: Adam Jackson <ajax@redhat.com>
> -Date: Tue, 4 Feb 2020 16:38:06 -0500
> -Subject: [PATCH] Fix link failure with gcc 10
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Without the 'extern' this looks like a definition not just a
> -declaration, in every file that includes the header. gcc 10 is stricter
> -about this kind of multiple definition.
> -
> -Upstream-Status: Backport [https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=f223035f4ffcff2a9296d1e907a5193f8e8845a3]
> -Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
> ----
> - src/drmmode_display.h | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/src/drmmode_display.h b/src/drmmode_display.h
> -index 96eaef0..8cd8a0a 100644
> ---- a/src/drmmode_display.h
> -+++ b/src/drmmode_display.h
> -@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
> -                        uint64_t *ust, uint32_t *result_seq);
> -
> -
> --miPointerSpriteFuncRec drmmode_sprite_funcs;
> -+extern miPointerSpriteFuncRec drmmode_sprite_funcs;
> -
> -
> - #endif
> ---
> -2.28.0
> -
> diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch
> deleted file mode 100644
> index cda2c2f14..000000000
> --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-ati-cleanup-terminology-to-use-primary-secondary.patch
> +++ /dev/null
> @@ -1,369 +0,0 @@
> -From 6e035c007876ffe972a497681dd3debdc806e979 Mon Sep 17 00:00:00 2001
> -From: Dave Airlie <airlied@redhat.com>
> -Date: Mon, 13 Jul 2020 09:11:28 +1000
> -Subject: [PATCH] ati: cleanup terminology to use primary/secondary
> -
> -The X server changed some API/ABIs here.
> -
> -Based on amdgpu patch by Michel
> ----
> -Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/8da3e4561ef82bb78c9a17b8cd8bf139b9cfd680.patch]
> -man/radeon.man        |  2 +-
> - src/compat-api.h      |  6 ++++
> - src/drmmode_display.c |  4 +--
> - src/evergreen_state.h |  2 +-
> - src/r600_state.h      |  2 +-
> - src/radeon.h          | 10 +++---
> - src/radeon_exa.c      |  2 +-
> - src/radeon_glamor.c   |  2 +-
> - src/radeon_kms.c      | 74 +++++++++++++++++++++----------------------
> - 9 files changed, 55 insertions(+), 49 deletions(-)
> -
> -diff --git a/man/radeon.man b/man/radeon.man
> -index dcebf53..247dcdb 100644
> ---- a/man/radeon.man
> -+++ b/man/radeon.man
> -@@ -290,7 +290,7 @@ on. If this option is set, the default value of the property is 'on' or 'off'
> - accordingly. If this option isn't set, the default value of the property is
> - .B auto,
> - which means that TearFree is on for rotated outputs, outputs with RandR
> --transforms applied and for RandR 1.4 slave outputs, otherwise off.
> -+transforms applied and for RandR 1.4 secondary outputs, otherwise off.
> - .TP
> - .BI "Option \*qAccelMethod\*q \*q" "string" \*q
> - Chooses between available acceleration architectures.  Valid values are
> -diff --git a/src/compat-api.h b/src/compat-api.h
> -index f4e7524..def6d3e 100644
> ---- a/src/compat-api.h
> -+++ b/src/compat-api.h
> -@@ -34,4 +34,10 @@
> - #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask
> - #endif
> -
> -+#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
> -+#define current_primary current_master
> -+#define primary_pixmap master_pixmap
> -+#define secondary_dst slave_dst
> -+#endif
> -+
> - #endif
> -diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> -index 0e9e247..3dec91e 100644
> ---- a/src/drmmode_display.c
> -+++ b/src/drmmode_display.c
> -@@ -720,7 +720,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode,
> -               xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list,
> -                                        ent) {
> -                       if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
> --                              dirty->slave_dst =
> -+                              dirty->secondary_dst =
> -                                       drmmode_crtc->scanout[scanout_id].pixmap;
> -                               break;
> -                       }
> -@@ -1356,7 +1356,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
> -
> -       xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
> -               if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
> --                      PixmapStopDirtyTracking(dirty->src, dirty->slave_dst);
> -+                      PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst);
> -                       break;
> -               }
> -       }
> -diff --git a/src/evergreen_state.h b/src/evergreen_state.h
> -index 7e54e1c..34ba87b 100644
> ---- a/src/evergreen_state.h
> -+++ b/src/evergreen_state.h
> -@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height,
> -                                   int *new_pitch);
> - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv);
> - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix);
> --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p);
> -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p);
> - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle);
> -
> - #endif
> -diff --git a/src/r600_state.h b/src/r600_state.h
> -index 3434599..567c3ca 100644
> ---- a/src/r600_state.h
> -+++ b/src/r600_state.h
> -@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height,
> -                                   int *new_pitch);
> - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv);
> - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix);
> --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p);
> -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p);
> - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle);
> - #endif
> -diff --git a/src/radeon.h b/src/radeon.h
> -index 2c91346..85fd021 100644
> ---- a/src/radeon.h
> -+++ b/src/radeon.h
> -@@ -182,18 +182,18 @@ typedef enum {
> -
> -
> - static inline ScreenPtr
> --radeon_master_screen(ScreenPtr screen)
> -+radeon_primary_screen(ScreenPtr screen)
> - {
> --    if (screen->current_master)
> --      return screen->current_master;
> -+    if (screen->current_primary)
> -+      return screen->current_primary;
> -
> -     return screen;
> - }
> -
> - static inline ScreenPtr
> --radeon_dirty_master(PixmapDirtyUpdatePtr dirty)
> -+radeon_dirty_primary(PixmapDirtyUpdatePtr dirty)
> - {
> --    return radeon_master_screen(dirty->slave_dst->drawable.pScreen);
> -+    return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen);
> - }
> -
> - static inline DrawablePtr
> -diff --git a/src/radeon_exa.c b/src/radeon_exa.c
> -index 268155e..320ff99 100644
> ---- a/src/radeon_exa.c
> -+++ b/src/radeon_exa.c
> -@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv)
> -     free(driverPriv);
> - }
> -
> --Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle)
> -+Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle)
> - {
> -     struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix);
> -
> -diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
> -index f109838..ccf9994 100644
> ---- a/src/radeon_glamor.c
> -+++ b/src/radeon_glamor.c
> -@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, PixmapPtr pixmap)
> -
> -
> - static Bool
> --radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave,
> -+radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary,
> -                                  void **handle_p)
> - {
> -       ScreenPtr screen = pixmap->drawable.pScreen;
> -diff --git a/src/radeon_kms.c b/src/radeon_kms.c
> -index b3db7c4..62962d6 100644
> ---- a/src/radeon_kms.c
> -+++ b/src/radeon_kms.c
> -@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty)
> -       if (dirty->rotation != RR_Rotate_0) {
> -               dstregion = transform_region(damageregion,
> -                                            &dirty->f_inverse,
> --                                           dirty->slave_dst->drawable.width,
> --                                           dirty->slave_dst->drawable.height);
> -+                                           dirty->secondary_dst->drawable.width,
> -+                                           dirty->secondary_dst->drawable.height);
> -       } else
> - #endif
> -       {
> -@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty)
> -
> -           dstregion = RegionDuplicate(damageregion);
> -           RegionTranslate(dstregion, -dirty->x, -dirty->y);
> --          PixmapRegionInit(&pixregion, dirty->slave_dst);
> -+          PixmapRegionInit(&pixregion, dirty->secondary_dst);
> -           RegionIntersect(dstregion, dstregion, &pixregion);
> -           RegionUninit(&pixregion);
> -       }
> -@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region)
> -       if (RegionNil(region))
> -               goto out;
> -
> --      if (dirty->slave_dst->master_pixmap)
> --          DamageRegionAppend(&dirty->slave_dst->drawable, region);
> -+      if (dirty->secondary_dst->primary_pixmap)
> -+          DamageRegionAppend(&dirty->secondary_dst->drawable, region);
> -
> - #ifdef HAS_DIRTYTRACKING_ROTATION
> -       PixmapSyncDirtyHelper(dirty);
> -@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region)
> - #endif
> -
> -       radeon_cs_flush_indirect(src_scrn);
> --      if (dirty->slave_dst->master_pixmap)
> --          DamageRegionProcessPending(&dirty->slave_dst->drawable);
> -+      if (dirty->secondary_dst->primary_pixmap)
> -+          DamageRegionProcessPending(&dirty->secondary_dst->drawable);
> -
> - out:
> -       DamageEmpty(dirty->damage);
> -@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
> - void
> - radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr master_screen = radeon_dirty_master(dirty);
> -+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
> -     PixmapDirtyUpdatePtr ent;
> -     RegionPtr region;
> -
> --    xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) {
> --      if (!radeon_dirty_src_equals(dirty, ent->slave_dst))
> -+    xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) {
> -+      if (!radeon_dirty_src_equals(dirty, ent->secondary_dst))
> -           continue;
> -
> -       region = dirty_region(ent);
> -@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
> - #if HAS_SYNC_SHARED_PIXMAP
> -
> - static Bool
> --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr master_screen = radeon_dirty_master(dirty);
> -+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
> -
> --    return !!master_screen->SyncSharedPixmap;
> -+    return !!primary_screen->SyncSharedPixmap;
> - }
> -
> - static Bool
> --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen;
> -+    ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen;
> -
> --    return !!slave_screen->SyncSharedPixmap;
> -+    return !!secondary_screen->SyncSharedPixmap;
> - }
> -
> - static void
> - call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr master_screen = radeon_dirty_master(dirty);
> -+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
> -
> --    master_screen->SyncSharedPixmap(dirty);
> -+    primary_screen->SyncSharedPixmap(dirty);
> - }
> -
> - #else /* !HAS_SYNC_SHARED_PIXMAP */
> -
> - static Bool
> --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> - {
> --    ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty));
> -+    ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty));
> -
> --    return master_scrn->driverName == scrn->driverName;
> -+    return primary_scrn->driverName == scrn->driverName;
> - }
> -
> - static Bool
> --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
> - {
> --    ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen);
> -+    ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen);
> -
> --    return slave_scrn->driverName == scrn->driverName;
> -+    return secondary_scrn->driverName == scrn->driverName;
> - }
> -
> - static void
> -@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
> - static xf86CrtcPtr
> - radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr screen = dirty->slave_dst->drawable.pScreen;
> -+    ScreenPtr screen = dirty->secondary_dst->drawable.pScreen;
> -     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
> -     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
> -     int c;
> -
> --    /* Find the CRTC which is scanning out from this slave pixmap */
> -+    /* Find the CRTC which is scanning out from this secondary pixmap */
> -     for (c = 0; c < xf86_config->num_crtc; c++) {
> -       xf86CrtcPtr xf86_crtc = xf86_config->crtc[c];
> -       drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
> -@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id)
> -       if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
> -           RegionPtr region;
> -
> --          if (master_has_sync_shared_pixmap(scrn, dirty))
> -+          if (primary_has_sync_shared_pixmap(scrn, dirty))
> -               call_sync_shared_pixmap(dirty);
> -
> -           region = dirty_region(dirty);
> -@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id)
> -               radeon_cs_flush_indirect(scrn);
> -               RegionCopy(&drmmode_crtc->scanout_last_region, region);
> -               RegionTranslate(region, -crtc->x, -crtc->y);
> --              dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap;
> -+              dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap;
> -           }
> -
> -           redisplay_dirty(dirty, region);
> -@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u
> - static void
> - radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
> - {
> --    ScreenPtr screen = dirty->slave_dst->drawable.pScreen;
> -+    ScreenPtr screen = dirty->secondary_dst->drawable.pScreen;
> -     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
> -     RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
> -     xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty);
> -@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
> - static void
> - radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent)
> - {
> --    ScreenPtr screen = ent->slave_dst->drawable.pScreen;
> -+    ScreenPtr screen = ent->secondary_dst->drawable.pScreen;
> -     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
> -     RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
> -     xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent);
> -@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn)
> -               if (screen->isGPU) {
> -                       PixmapDirtyUpdatePtr region_ent = ent;
> -
> --                      if (master_has_sync_shared_pixmap(scrn, ent)) {
> --                              ScreenPtr master_screen = radeon_dirty_master(ent);
> -+                      if (primary_has_sync_shared_pixmap(scrn, ent)) {
> -+                              ScreenPtr primary_screen = radeon_dirty_primary(ent);
> -
> --                              xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) {
> --                                      if (radeon_dirty_src_equals(ent, region_ent->slave_dst))
> -+                              xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) {
> -+                                      if (radeon_dirty_src_equals(ent, region_ent->secondary_dst))
> -                                               break;
> -                               }
> -                       }
> -@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn)
> -
> -                       RegionDestroy(region);
> -               } else {
> --                      if (slave_has_sync_shared_pixmap(scrn, ent))
> -+                      if (secondary_has_sync_shared_pixmap(scrn, ent))
> -                               continue;
> -
> -                       region = dirty_region(ent);
> -@@ -1216,7 +1216,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
> -     (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
> -     pScreen->BlockHandler = RADEONBlockHandler_KMS;
> -
> --    if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema)
> -+    if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema)
> -       return;
> -
> -     if (!pScreen->isGPU)
> -@@ -2584,7 +2584,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, pointer data)
> -     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
> -     int c;
> -
> --    if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema)
> -+    if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema)
> -       return 0;
> -
> -     /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After
> ---
> -2.33.1
> -
> diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb
> deleted file mode 100644
> index c8ce77ab8..000000000
> --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.1.0.bb
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -require recipes-graphics/xorg-driver/xorg-driver-video.inc
> -
> -LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
> -
> -SUMMARY = "X.Org X server -- ATI Radeon video driver"
> -
> -DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
> -
> -DEPENDS += "virtual/libx11 libxvmc drm \
> -            virtual/libgl xorgproto libpciaccess"
> -
> -inherit features_check
> -REQUIRED_DISTRO_FEATURES += "opengl"
> -
> -SRC_URI += "file://0001-Fix-link-failure-with-gcc-10.patch \
> -            file://0001-ati-cleanup-terminology-to-use-primary-secondary.patch \
> -           "
> -SRC_URI[sha256sum] = "659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49"
> -
> -#EXTRA_OECONF += "--disable-glamor"
> -
> -RDEPENDS:${PN} += "xserver-xorg-module-exa"
> -RRECOMMENDS:${PN} += "linux-firmware-radeon"
> -
> -FILES:${PN} += "${datadir}/X11"
> diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb
> new file mode 100644
> index 000000000..9452c3a91
> --- /dev/null
> +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_git.bb
> @@ -0,0 +1,41 @@
> +require recipes-graphics/xorg-driver/xorg-driver-video.inc
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
> +
> +SUMMARY = "X.Org X server -- ATI Radeon video driver"
> +
> +DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
> +
> +DEPENDS += "virtual/libx11 libxvmc drm \
> +            virtual/libgl xorgproto libpciaccess"
> +
> +inherit features_check
> +
> +REQUIRED_DISTRO_FEATURES += "opengl"
> +
> +SRC_URI = "git://git@gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git;branch=master"
> +SRCREV = "7a6a34af026f0bef8080b91baf97a729380bca01"
> +
> +SRC_URI[sha256sum] = "659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49"
> +
> +PV = "19.1.0+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +
> +PACKAGECONFIG ??= "udev"
> +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
> +PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor"
> +
> +RDEPENDS:${PN}:append = "\
> +    ${@bb.utils.contains('PACKAGECONFIG', 'glamor', 'libegl', '', d)} \
> +    mesa-megadriver \
> +    xserver-xorg-extension-glx \
> +    xserver-xorg-module-exa \
> +"
> +
> +RRECOMMENDS:${PN} += "linux-firmware-radeon"
> +
> +PACKAGES =+ "${PN}-config"
> +
> +FILES:${PN}-config = "${datadir}/X11/xorg.conf.d"
> +FILES:${PN} += "${datadir}/X11"
> --
> 2.35.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#99011): https://lists.openembedded.org/g/openembedded-devel/message/99011
> Mute This Topic: https://lists.openembedded.org/mt/93997901/1985121
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [daniel@qtec.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-29 16:14 ` [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473 Daniel Gomez
@ 2022-09-29 21:24   ` Daniel Gomez
  2022-09-29 23:14     ` [oe] " Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-29 21:24 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr

Hi,

On Thu, 29 Sept 2022 at 18:14, 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>
> ---
>  ....patch => 0004-Do-not-use-getsubopt.patch} | 19 +++++--
>  ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 50 +++++++++++++++----
>  2 files changed, 56 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} (57%)
>
> 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 57%
> 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..fcc491b78 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,39 +6,71 @@ 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)}"
> +
>  DEPENDS:append:libc-musl = " argp-standalone"
>  DEPENDS:append:class-target = " udev"
> +DEPENDS:append:qv4l2 = " qtbase qtbase-native"
> +DEPENDS:append:qvidcap = " qtbase qtbase-native"
DEPENDS is wrong. Should use conditional and not the package name as
the RDEPENDS.
>  LDFLAGS:append = " -pthread"
>
>  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 += " qv4l2"
> +PACKAGECONFIG += " qvidcap"
> +PACKAGECONFIG += " media-ctl"
I forgot to remove this.

> +
> +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
>
Do I still have time to send a v2 or should I send a fix instead?


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-29 21:24   ` Daniel Gomez
@ 2022-09-29 23:14     ` Khem Raj
  2022-09-30  6:42       ` [meta-oe][PATCH] " Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2022-09-29 23:14 UTC (permalink / raw)
  To: Daniel Gomez; +Cc: openembedded-devel, dagmcr

On Thu, Sep 29, 2022 at 2:25 PM Daniel Gomez <daniel@qtec.com> wrote:
>
> Hi,
>
> On Thu, 29 Sept 2022 at 18:14, 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>
> > ---
> >  ....patch => 0004-Do-not-use-getsubopt.patch} | 19 +++++--
> >  ...4l-utils_1.22.1.bb => v4l-utils_1.23.0.bb} | 50 +++++++++++++++----
> >  2 files changed, 56 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} (57%)
> >
> > 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 57%
> > 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..fcc491b78 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,39 +6,71 @@ 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)}"
> > +
> >  DEPENDS:append:libc-musl = " argp-standalone"
> >  DEPENDS:append:class-target = " udev"
> > +DEPENDS:append:qv4l2 = " qtbase qtbase-native"
> > +DEPENDS:append:qvidcap = " qtbase qtbase-native"
> DEPENDS is wrong. Should use conditional and not the package name as
> the RDEPENDS.
> >  LDFLAGS:append = " -pthread"
> >
> >  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 += " qv4l2"
> > +PACKAGECONFIG += " qvidcap"
> > +PACKAGECONFIG += " media-ctl"
> I forgot to remove this.
>
> > +
> > +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
> >
> Do I still have time to send a v2 or should I send a fix instead?

oh you do :). see
https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/2063/steps/12/logs/errors

it creates a dependency on meta-qt5 or meta-qt6 which I think is not a
good thing. So either make that optional
or perhaps use dynamic layers.


>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#99014): https://lists.openembedded.org/g/openembedded-devel/message/99014
> Mute This Topic: https://lists.openembedded.org/mt/93997899/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [meta-oe][PATCH] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-29 23:14     ` [oe] " Khem Raj
@ 2022-09-30  6:42       ` Daniel Gomez
  2022-09-30  6:55         ` Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-30  6:42 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr, Daniel Gomez

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%)

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



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [meta-oe][PATCH] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30  6:42       ` [meta-oe][PATCH] " Daniel Gomez
@ 2022-09-30  6:55         ` Daniel Gomez
  2022-09-30 17:07           ` [oe] " Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-30  6:55 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr

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
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30  6:55         ` Daniel Gomez
@ 2022-09-30 17:07           ` Khem Raj
  2022-09-30 18:32             ` Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2022-09-30 17:07 UTC (permalink / raw)
  To: Daniel Gomez; +Cc: openembedded-devel, dagmcr

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]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30 17:07           ` [oe] " Khem Raj
@ 2022-09-30 18:32             ` Daniel Gomez
  2022-09-30 18:57               ` [meta-oe][PATCH v3] " Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-30 18:32 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-devel, dagmcr

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]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [meta-oe][PATCH v3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30 18:32             ` Daniel Gomez
@ 2022-09-30 18:57               ` Daniel Gomez
  2022-09-30 22:10                 ` [oe] " Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-09-30 18:57 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr, Daniel Gomez

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

v3
- Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
'bb.utils.contains' to prevent missing runtime dependency when
the meta-qt5 layer is not present.

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} | 47 +++++++++++++++----
 2 files changed, 53 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} (56%)

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 56%
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..2f5ae3586 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,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*"

--
2.35.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH v3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30 18:57               ` [meta-oe][PATCH v3] " Daniel Gomez
@ 2022-09-30 22:10                 ` Khem Raj
  2022-10-01  6:13                   ` [meta-oe][PATCH v4] " Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2022-09-30 22:10 UTC (permalink / raw)
  To: Daniel Gomez; +Cc: openembedded-devel, dagmcr

Can you rebase on top of master-next and resend a v4 please ? I cant
apply v3 here cleanly.

On Fri, Sep 30, 2022 at 11:59 AM 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>
> ---
>
> v3
> - Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
> 'bb.utils.contains' to prevent missing runtime dependency when
> the meta-qt5 layer is not present.
>
> 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} | 47 +++++++++++++++----
>  2 files changed, 53 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} (56%)
>
> 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 56%
> 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..2f5ae3586 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,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*"
>
> --
> 2.35.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#99028): https://lists.openembedded.org/g/openembedded-devel/message/99028
> Mute This Topic: https://lists.openembedded.org/mt/94024073/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [meta-oe][PATCH v4] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-09-30 22:10                 ` [oe] " Khem Raj
@ 2022-10-01  6:13                   ` Daniel Gomez
  2022-10-01 16:43                     ` [oe] " Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-10-01  6:13 UTC (permalink / raw)
  To: openembedded-devel; +Cc: dagmcr, Daniel Gomez

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>
---
v4
- Rebase on top of master-next.

v3
- Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
'bb.utils.contains' to prevent missing runtime dependency when
the meta-qt5 layer is not present.

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} | 47 +++++++++++++++----
 2 files changed, 53 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} (56%)

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 56%
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..2f5ae3586 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,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*"

--
2.35.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH v4] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-10-01  6:13                   ` [meta-oe][PATCH v4] " Daniel Gomez
@ 2022-10-01 16:43                     ` Khem Raj
  2022-10-01 17:42                       ` Daniel Gomez
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2022-10-01 16:43 UTC (permalink / raw)
  To: Daniel Gomez; +Cc: openembedded-devel, dagmcr

v4 still fails to apply

patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch
(renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch)
Hunk #2 FAILED at 11.
Hunk #3 succeeded at 47 with fuzz 2.
1 out of 3 hunks FAILED -- saving rejects to file
meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch.rej
patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
(renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb)

On Fri, Sep 30, 2022 at 11:13 PM 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>
> ---
> v4
> - Rebase on top of master-next.
>
> v3
> - Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
> 'bb.utils.contains' to prevent missing runtime dependency when
> the meta-qt5 layer is not present.
>
> 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} | 47 +++++++++++++++----
>  2 files changed, 53 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} (56%)
>
> 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 56%
> 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..2f5ae3586 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,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*"
>
> --
> 2.35.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#99031): https://lists.openembedded.org/g/openembedded-devel/message/99031
> Mute This Topic: https://lists.openembedded.org/mt/94047443/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH v4] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-10-01 16:43                     ` [oe] " Khem Raj
@ 2022-10-01 17:42                       ` Daniel Gomez
  2022-10-01 18:29                         ` Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Gomez @ 2022-10-01 17:42 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-devel, dagmcr

On Sat, 1 Oct 2022 at 18:43, Khem Raj <raj.khem@gmail.com> wrote:
>
> v4 still fails to apply
>
> patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch
> (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch)
> Hunk #2 FAILED at 11.
> Hunk #3 succeeded at 47 with fuzz 2.
> 1 out of 3 hunks FAILED -- saving rejects to file
> meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch.rej
> patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
> (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb)
Sorry, I can't reproduce this. V4 and v3 apply correct on top of
master-next. May I ask for some help here?

Thanks in advance.

>
> On Fri, Sep 30, 2022 at 11:13 PM 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>
> > ---
> > v4
> > - Rebase on top of master-next.
> >
> > v3
> > - Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
> > 'bb.utils.contains' to prevent missing runtime dependency when
> > the meta-qt5 layer is not present.
> >
> > 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} | 47 +++++++++++++++----
> >  2 files changed, 53 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} (56%)
> >
> > 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 56%
> > 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..2f5ae3586 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,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*"
> >
> > --
> > 2.35.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#99031): https://lists.openembedded.org/g/openembedded-devel/message/99031
> > Mute This Topic: https://lists.openembedded.org/mt/94047443/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [oe] [meta-oe][PATCH v4] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
  2022-10-01 17:42                       ` Daniel Gomez
@ 2022-10-01 18:29                         ` Khem Raj
  0 siblings, 0 replies; 15+ messages in thread
From: Khem Raj @ 2022-10-01 18:29 UTC (permalink / raw)
  To: Daniel Gomez; +Cc: openembedded-devel, dagmcr

On Sat, Oct 1, 2022 at 10:42 AM Daniel Gomez <daniel@qtec.com> wrote:
>
> On Sat, 1 Oct 2022 at 18:43, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > v4 still fails to apply
> >
> > patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch
> > (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch)
> > Hunk #2 FAILED at 11.
> > Hunk #3 succeeded at 47 with fuzz 2.
> > 1 out of 3 hunks FAILED -- saving rejects to file
> > meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch.rej
> > patching file meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
> > (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb)
> Sorry, I can't reproduce this. V4 and v3 apply correct on top of
> master-next. May I ask for some help here?
>

maybe it gets corrupted by mailing agent or something. Try to get the
patch from mailing list and git am it.
or get it from patchwork or lore.

e.g. patchwork one is here.

 https://patchwork.yoctoproject.org/project/oe/patch/20221001061336.89869-1-daniel@qtec.com/mbox/

> Thanks in advance.
>
> >
> > On Fri, Sep 30, 2022 at 11:13 PM 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>
> > > ---
> > > v4
> > > - Rebase on top of master-next.
> > >
> > > v3
> > > - Fix RDEPENDS:qv4l2 and RDEPENDS:qvidcap using conditional
> > > 'bb.utils.contains' to prevent missing runtime dependency when
> > > the meta-qt5 layer is not present.
> > >
> > > 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} | 47 +++++++++++++++----
> > >  2 files changed, 53 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} (56%)
> > >
> > > 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 56%
> > > 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..2f5ae3586 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,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*"
> > >
> > > --
> > > 2.35.1
> > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#99031): https://lists.openembedded.org/g/openembedded-devel/message/99031
> > > Mute This Topic: https://lists.openembedded.org/mt/94047443/1997914
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-10-01 18:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-29 16:14 [meta-oe][PATCH 1/3] libftdi: Add ftdi-eeprom support Daniel Gomez
2022-09-29 16:14 ` [meta-oe][PATCH 2/3] v4l-utils: Update 1.22.1 -> 1.23.0+fd544473 Daniel Gomez
2022-09-29 21:24   ` Daniel Gomez
2022-09-29 23:14     ` [oe] " Khem Raj
2022-09-30  6:42       ` [meta-oe][PATCH] " Daniel Gomez
2022-09-30  6:55         ` Daniel Gomez
2022-09-30 17:07           ` [oe] " Khem Raj
2022-09-30 18:32             ` Daniel Gomez
2022-09-30 18:57               ` [meta-oe][PATCH v3] " Daniel Gomez
2022-09-30 22:10                 ` [oe] " Khem Raj
2022-10-01  6:13                   ` [meta-oe][PATCH v4] " Daniel Gomez
2022-10-01 16:43                     ` [oe] " Khem Raj
2022-10-01 17:42                       ` Daniel Gomez
2022-10-01 18:29                         ` Khem Raj
     [not found] ` <171960E83FC6B876.29337@lists.openembedded.org>
2022-09-29 16:19   ` [oe] [meta-oe][PATCH 3/3] xf86-video-ati: Update 19.1.0 -> 19.1.0+7a6a34af Daniel Gomez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.