Yocto Project Compatibility requires that including a layer in a build not change recipes in other layers. In this case, we were providing a newer version of a recipe that another layer provides.
The proper way of doing this is to create a bbappend and only change the minimal things needed to perform your changes. Additionally, to pass the yocto-check-layer the bbappend needs to be wrapped in a manner that only applies your changes in the event that you are making use of your layer. For Arago, that means only if we are building Arago. Signed-off-by: Ryan Eatmon <[email protected]> --- .../v4l2apps/v4l-utils-arago.inc | 16 ++++ .../v4l2apps/v4l-utils_%.bbappend | 4 + .../v4l2apps/v4l-utils_1.28.1.bb | 86 ------------------- 3 files changed, 20 insertions(+), 86 deletions(-) create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend delete mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc new file mode 100644 index 00000000..652314b9 --- /dev/null +++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc @@ -0,0 +1,16 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/v4l-utils:" + +PV = "1.28.1+git" + +# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to +# both 32 and 64 bit file APIs. But it does not handle the time side? +# Needs further investigation +GLIBC_64BIT_TIME_FLAGS = "" + +SRC_URI = "\ + git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \ + file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \ + file://0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch \ +" + +SRCREV = "757acdaec187d51803c2957d36df3d717a3529da" diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend new file mode 100644 index 00000000..250bcb18 --- /dev/null +++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend @@ -0,0 +1,4 @@ +V4L_UTILS_ARAGO = "" +V4L_UTILS_ARAGO:arago = "v4l-utils-arago.inc" + +require ${V4L_UTILS_ARAGO} diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb deleted file mode 100644 index 6f5707da..00000000 --- a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb +++ /dev/null @@ -1,86 +0,0 @@ -SUMMARY = "v4l2 and IR applications" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ - file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -PROVIDES = "libv4l media-ctl" - -DEPENDS = "jpeg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ - ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" - -DEPENDS:append:libc-musl = " argp-standalone" -DEPENDS:append:class-target = " udev" -LDFLAGS:append = " -pthread" -# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to -# both 32 and 64 bit file APIs. But it does not handle the time side? -# Needs further investigation -GLIBC_64BIT_TIME_FLAGS = "" - -inherit meson gettext pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled" -PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled" -PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c" - -SRC_URI = "\ - git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \ - file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \ - file://0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch \ -" - -SRCREV = "757acdaec187d51803c2957d36df3d717a3529da" - -PV .= "+git" - -S = "${WORKDIR}/git" - -EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false" - -# Disable the erroneous installation of gconv-modules that would break glib -# like it is done in Debian and ArchLinux. -EXTRA_OEMESON += "-Dgconv=disabled" - -VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" - -PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" - -RPROVIDES:${PN}-dbg += "libv4l-dbg" - -FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" -FILES:qv4l2 = "\ - ${bindir}/qv4l2 \ - ${datadir}/applications/qv4l2.desktop \ - ${datadir}/icons/hicolor/*/apps/qv4l2.* \ -" -FILES:qvidcap = "\ - ${bindir}/qvidcap \ - ${datadir}/applications/qvidcap.desktop \ - ${datadir}/icons/hicolor/*/apps/qvidcap.* \ -" - -FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" -RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" -RDEPENDS:qv4l2 += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" -RDEPENDS:qvidcap += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" - -FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" - -FILES:${PN} = "${bindir} ${sbindir}" - -FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ - ${libdir}/libdvbv5*${SOLIBS} \ - ${libdir}/libv4l/*-decomp \ - ${libdir}/libv4l2tracer.so \ -" - -FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ - ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" - -PARALLEL_MAKE:class-native = "" -BBCLASSEXTEND = "native" -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16759): https://lists.yoctoproject.org/g/meta-arago/message/16759 Mute This Topic: https://lists.yoctoproject.org/mt/116283878/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
