diff mbox series

[meta-arago,master,v4,1/1] nnstreamer: Add test package dependency and fix buildpaths QA issues

Message ID 20260316092648.1377711-2-p-deshmukh@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series nnstreamer: Fix packaging and buildpaths issues | expand

Commit Message

Pratham Deshmukh March 16, 2026, 9:26 a.m. UTC
Add runtime dependency to automatically install
nnstreamer-tests package when nnstreamer is installed,
ensuring unittest_filter_onnxruntime is available for
ONNX Runtime benchmarking.

Include buildpaths compliance patch that replaces
absolute build paths(meson.build_root()) with relative
paths in generated unittest files, resolving QA errors
"contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
and unittest_tizen_custom-set.cc.

Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: upgrade 2.4.4 -> 2.6.0")

Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
---
Change Logs:
 v3 -> v4:
 - Use RDEPENDS approach instead of package consolidation to maintain
   clean separation between runtime and test components.
 v2 -> v3:
 - Fix runitme dependencies issue for unittest_filter_onnxruntime.
 - Upgrade recipe to make it QA compliant.
 v1 -> v2:
 - Added fix commit hash in the commit message.

 ...ute-build-paths-from-generated-test-.patch | 42 +++++++++++++++++++
 .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
 2 files changed, 49 insertions(+), 2 deletions(-)
 create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch

Comments

Ryan Eatmon March 16, 2026, 1:10 p.m. UTC | #1
On 3/16/2026 4:26 AM, Pratham Deshmukh via lists.yoctoproject.org wrote:
> Add runtime dependency to automatically install
> nnstreamer-tests package when nnstreamer is installed,
> ensuring unittest_filter_onnxruntime is available for
> ONNX Runtime benchmarking.
> 
> Include buildpaths compliance patch that replaces
> absolute build paths(meson.build_root()) with relative
> paths in generated unittest files, resolving QA errors
> "contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
> and unittest_tizen_custom-set.cc.
> 
> Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: upgrade 2.4.4 -> 2.6.0")
> 
> Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
> ---
> Change Logs:
>   v3 -> v4:
>   - Use RDEPENDS approach instead of package consolidation to maintain
>     clean separation between runtime and test components.
>   v2 -> v3:
>   - Fix runitme dependencies issue for unittest_filter_onnxruntime.
>   - Upgrade recipe to make it QA compliant.
>   v1 -> v2:
>   - Added fix commit hash in the commit message.
> 
>   ...ute-build-paths-from-generated-test-.patch | 42 +++++++++++++++++++
>   .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
>   2 files changed, 49 insertions(+), 2 deletions(-)
>   create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> 
> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> new file mode 100644
> index 00000000..345b3eb2
> --- /dev/null
> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> @@ -0,0 +1,42 @@
> +From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
> +From: Pratham Deshmukh <p-deshmukh@ti.com>
> +Date: Tue, 10 Mar 2026 15:23:05 +0530
> +Subject: [PATCH] fix: Remove absolute build paths from generated test files
> +
> +Replace meson.build_root() with relative paths in custom_filter_path
> +to prevent Yocto buildpaths QA errors. The generated unittest files
> +were embedding absolute build directory paths (e.g., /tmp/work/...)
> +as string literals, which Yocto's QA system correctly flags as a
> +build reproducibility issue.
> +
> +The runtime code already handles proper path resolution using
> +NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
> +fallbacks, so this change maintains full functionality
> +while eliminating embedded build paths.
> +
> +Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
> +unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
> +
> +Upstream-Status: Inappropriate [oe-specific]
> +
> +Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
> +---
> + tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tests/nnstreamer_filter_extensions_common/meson.build b/tests/nnstreamer_filter_extensions_common/meson.build
> +index ecd1878b..ba72ee20 100644
> +--- a/tests/nnstreamer_filter_extensions_common/meson.build
> ++++ b/tests/nnstreamer_filter_extensions_common/meson.build
> +@@ -9,7 +9,7 @@ tizen_apptest_deps = [
> + # Format for adding subplugin into extensions -
> + # [name, extension abbreviation, dependencies, model file name/folder path/file path, test name]
> + extensions = []
> +-custom_filter_path = join_paths(meson.build_root(), 'tests', 'nnstreamer_example',
> ++custom_filter_path = join_paths('tests', 'nnstreamer_example',
> +     'libnnstreamer_customfilter_passthrough.' + so_ext)
> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom']]
> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom-set']]
> +--
> +2.34.1
> +
> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> index c62589ac..fbfb887c 100644
> --- a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> @@ -3,7 +3,11 @@ DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer dev
>   LICENSE = "LGPL-2.1-only"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
>   
> -SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
> +SRC_URI = " \
> +	git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
> +	file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch \
> +"
> +
>   SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
>   
>   # Only compatible with armv7a, armv7ve, and aarch64
> @@ -56,13 +60,14 @@ FILES:${PN} += "\
>   "
>   INSANE_SKIP:${PN} += "dev-so"
>   
> +RDEPENDS:${PN} += "nnstreamer-tests"
> +

Why are we forcing the tests to be installed when nnstreamer is installed?  In fact, I cannot find any recipe that even refers to nnstreamer.  How is this even begin included in builds?  In my mind, if you are wanting the tests for use during our testing, then nnstreamer-tests should be included in the ti-test package to ensure that the tests are present.


>   PACKAGES =+ "${PN}-tests"
>   
>   FILES:${PN}-tests += "\
>   	${libdir}/nnstreamer/customfilters/* \
>   	${bindir}/unittest-nnstreamer/* \
>   "
> -INSANE_SKIP:${PN}-tests += "buildpaths"
>   
>   FILES:${PN}-dev = "\
>   	${includedir}/nnstreamer/* \
Andrew Davis March 16, 2026, 1:12 p.m. UTC | #2
On 3/16/26 4:26 AM, Pratham Deshmukh wrote:
> Add runtime dependency to automatically install
> nnstreamer-tests package when nnstreamer is installed,
> ensuring unittest_filter_onnxruntime is available for
> ONNX Runtime benchmarking.
> 
> Include buildpaths compliance patch that replaces
> absolute build paths(meson.build_root()) with relative
> paths in generated unittest files, resolving QA errors
> "contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
> and unittest_tizen_custom-set.cc.

These are two independent changes, each paragraph above should
be made in to its own patch.

Andrew

> 
> Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: upgrade 2.4.4 -> 2.6.0")
> 
> Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
> ---
> Change Logs:
>   v3 -> v4:
>   - Use RDEPENDS approach instead of package consolidation to maintain
>     clean separation between runtime and test components.
>   v2 -> v3:
>   - Fix runitme dependencies issue for unittest_filter_onnxruntime.
>   - Upgrade recipe to make it QA compliant.
>   v1 -> v2:
>   - Added fix commit hash in the commit message.
> 
>   ...ute-build-paths-from-generated-test-.patch | 42 +++++++++++++++++++
>   .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
>   2 files changed, 49 insertions(+), 2 deletions(-)
>   create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> 
> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> new file mode 100644
> index 00000000..345b3eb2
> --- /dev/null
> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
> @@ -0,0 +1,42 @@
> +From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
> +From: Pratham Deshmukh <p-deshmukh@ti.com>
> +Date: Tue, 10 Mar 2026 15:23:05 +0530
> +Subject: [PATCH] fix: Remove absolute build paths from generated test files
> +
> +Replace meson.build_root() with relative paths in custom_filter_path
> +to prevent Yocto buildpaths QA errors. The generated unittest files
> +were embedding absolute build directory paths (e.g., /tmp/work/...)
> +as string literals, which Yocto's QA system correctly flags as a
> +build reproducibility issue.
> +
> +The runtime code already handles proper path resolution using
> +NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
> +fallbacks, so this change maintains full functionality
> +while eliminating embedded build paths.
> +
> +Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
> +unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
> +
> +Upstream-Status: Inappropriate [oe-specific]
> +
> +Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
> +---
> + tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tests/nnstreamer_filter_extensions_common/meson.build b/tests/nnstreamer_filter_extensions_common/meson.build
> +index ecd1878b..ba72ee20 100644
> +--- a/tests/nnstreamer_filter_extensions_common/meson.build
> ++++ b/tests/nnstreamer_filter_extensions_common/meson.build
> +@@ -9,7 +9,7 @@ tizen_apptest_deps = [
> + # Format for adding subplugin into extensions -
> + # [name, extension abbreviation, dependencies, model file name/folder path/file path, test name]
> + extensions = []
> +-custom_filter_path = join_paths(meson.build_root(), 'tests', 'nnstreamer_example',
> ++custom_filter_path = join_paths('tests', 'nnstreamer_example',
> +     'libnnstreamer_customfilter_passthrough.' + so_ext)
> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom']]
> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom-set']]
> +--
> +2.34.1
> +
> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> index c62589ac..fbfb887c 100644
> --- a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
> @@ -3,7 +3,11 @@ DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer dev
>   LICENSE = "LGPL-2.1-only"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
>   
> -SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
> +SRC_URI = " \
> +	git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
> +	file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch \
> +"
> +
>   SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
>   
>   # Only compatible with armv7a, armv7ve, and aarch64
> @@ -56,13 +60,14 @@ FILES:${PN} += "\
>   "
>   INSANE_SKIP:${PN} += "dev-so"
>   
> +RDEPENDS:${PN} += "nnstreamer-tests"> +
>   PACKAGES =+ "${PN}-tests"
>   
>   FILES:${PN}-tests += "\
>   	${libdir}/nnstreamer/customfilters/* \
>   	${bindir}/unittest-nnstreamer/* \
>   "
> -INSANE_SKIP:${PN}-tests += "buildpaths"
>   
>   FILES:${PN}-dev = "\
>   	${includedir}/nnstreamer/* \
Pratham Deshmukh March 16, 2026, 2:57 p.m. UTC | #3
The intent here was not to force the tests into all images. The nnstreamer components (like other stacks) are pulled in through the meta-tisdk:meta-ti-ml layer for a specific SDK images that require them, so the base arago-default-image is not bloated.


https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend
Ryan Eatmon March 16, 2026, 3:42 p.m. UTC | #4
On 3/16/2026 9:57 AM, Deshmukh, Pratham wrote:
> The intent here was not to force the tests into all images. The nnstreamer components (like other stacks) are pulled in through the meta-tisdk:meta-ti-ml layer for a specific SDK images that require them, so the base arago-default-image is not bloated.
> 
> 
> https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend <https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend>

Then you should just add nnstreamer-tests to the above and not as an RDEPENDS in the main recipe.



> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Eatmon, Ryan
> *Sent:* Monday, March 16, 2026 6:40:23 PM
> *To:* Deshmukh, Pratham; meta-arago@lists.yoctoproject.org
> *Cc:* Davis, Andrew; Shilwant, Chirag; Dmytriyenko, Denys; Singh, Vishnu
> *Subject:* Re: [meta-arago][master][PATCH v4 1/1] nnstreamer: Add test package dependency and fix buildpaths QA issues
> 
> 
> On 3/16/2026 4:26 AM, Pratham Deshmukh via lists.yoctoproject.org wrote:
>> Add runtime dependency to automatically install
>> nnstreamer-tests package when nnstreamer is installed,
>> ensuring unittest_filter_onnxruntime is available for
>> ONNX Runtime benchmarking.
>> 
>> Include buildpaths compliance patch that replaces
>> absolute build paths(meson.build_root()) with relative
>> paths in generated unittest files, resolving QA errors
>> "contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
>> and unittest_tizen_custom-set.cc.
>> 
>> Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: upgrade 2.4.4 -> 2.6.0")
>> 
>> Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>> ---
>> Change Logs:
>>   v3 -> v4:
>>   - Use RDEPENDS approach instead of package consolidation to maintain
>>     clean separation between runtime and test components.
>>   v2 -> v3:
>>   - Fix runitme dependencies issue for unittest_filter_onnxruntime.
>>   - Upgrade recipe to make it QA compliant.
>>   v1 -> v2:
>>   - Added fix commit hash in the commit message.
>> 
>>   ...ute-build-paths-from-generated-test-.patch | 42 +++++++++++++++++++
>>   .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
>>   2 files changed, 49 insertions(+), 2 deletions(-)
>>   create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>> 
>> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>> new file mode 100644
>> index 00000000..345b3eb2
>> --- /dev/null
>> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>> @@ -0,0 +1,42 @@
>> +From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
>> +From: Pratham Deshmukh <p-deshmukh@ti.com>
>> +Date: Tue, 10 Mar 2026 15:23:05 +0530
>> +Subject: [PATCH] fix: Remove absolute build paths from generated test files
>> +
>> +Replace meson.build_root() with relative paths in custom_filter_path
>> +to prevent Yocto buildpaths QA errors. The generated unittest files
>> +were embedding absolute build directory paths (e.g., /tmp/work/...)
>> +as string literals, which Yocto's QA system correctly flags as a
>> +build reproducibility issue.
>> +
>> +The runtime code already handles proper path resolution using
>> +NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
>> +fallbacks, so this change maintains full functionality
>> +while eliminating embedded build paths.
>> +
>> +Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
>> +unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
>> +
>> +Upstream-Status: Inappropriate [oe-specific]
>> +
>> +Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>> +---
>> + tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/tests/nnstreamer_filter_extensions_common/meson.build b/tests/nnstreamer_filter_extensions_common/meson.build
>> +index ecd1878b..ba72ee20 100644
>> +--- a/tests/nnstreamer_filter_extensions_common/meson.build
>> ++++ b/tests/nnstreamer_filter_extensions_common/meson.build
>> +@@ -9,7 +9,7 @@ tizen_apptest_deps = [
>> + # Format for adding subplugin into extensions -
>> + # [name, extension abbreviation, dependencies, model file name/folder path/file path, test name]
>> + extensions = []
>> +-custom_filter_path = join_paths(meson.build_root(), 'tests', 'nnstreamer_example',
>> ++custom_filter_path = join_paths('tests', 'nnstreamer_example',
>> +     'libnnstreamer_customfilter_passthrough.' + so_ext)
>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom']]
>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom-set']]
>> +--
>> +2.34.1
>> +
>> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>> index c62589ac..fbfb887c 100644
>> --- a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>> @@ -3,7 +3,11 @@ DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer dev
>>   LICENSE = "LGPL-2.1-only"
>>   LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590 <file://LICENSE;md5=c25e5c1949624d71896127788f1ba590>"
>>   
>> -SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>> +SRC_URI = " \
>> +     git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
>> +     file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch <file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch> \
>> +"
>> +
>>   SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
>>   
>>   # Only compatible with armv7a, armv7ve, and aarch64
>> @@ -56,13 +60,14 @@ FILES:${PN} += "\
>>   "
>>   INSANE_SKIP:${PN} += "dev-so"
>>   
>> +RDEPENDS:${PN} += "nnstreamer-tests"
>> +
> 
> Why are we forcing the tests to be installed when nnstreamer is installed?  In fact, I cannot find any recipe that even refers to nnstreamer.  How is this even begin included in builds?  In my mind, if you are wanting the tests for use during our testing, then nnstreamer-tests should be included in the ti-test package to ensure that the tests are present.
> 
> 
>>   PACKAGES =+ "${PN}-tests"
>>   
>>   FILES:${PN}-tests += "\
>>        ${libdir}/nnstreamer/customfilters/* \
>>        ${bindir}/unittest-nnstreamer/* \
>>   "
>> -INSANE_SKIP:${PN}-tests += "buildpaths"
>>   
>>   FILES:${PN}-dev = "\
>>        ${includedir}/nnstreamer/* \
> 
> -- 
> Ryan Eatmon                reatmon@ti.com
> -----------------------------------------
> Texas Instruments, Inc.  -  LCPD  -  MGTS
> 

-- 
Ryan Eatmon                reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS
Pratham Deshmukh March 17, 2026, 9:43 a.m. UTC | #5
On 16/03/26 9:12 pm, Ryan Eatmon wrote:
>
>
> On 3/16/2026 9:57 AM, Deshmukh, Pratham wrote:
>> The intent here was not to force the tests into all images. The 
>> nnstreamer components (like other stacks) are pulled in through the 
>> meta-tisdk:meta-ti-ml layer for a specific SDK images that require 
>> them, so the base arago-default-image is not bloated.
>>
>>
>> https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend 
>> <https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend> 
>>
>
> Then you should just add nnstreamer-tests to the above and not as an 
> RDEPENDS in the main recipe.
>
>
There are customers who would not use the meta-tisdk:meta-ti-ml layer 
and would probably just rely on meta-arago to provide the latest version 
of nnstreamer. They always have an option to add nnstreamer in 
local.conf and build their image, so when they would do it without 
meta-tisdk, they would never have nnstreamer-tests as a runtime 
dependency in their filesystem. This means these customers would 
encounter the same"unittest_filter_onnxruntime not found" issue we're 
trying to solve.

The upstream meta-neural-network layer [0] uses the same pattern we're 
proposing, with RDEPENDS:${PN}-unittest = "nnstreamer" in their recipe. 
This shows the nnstreamer community considers runtime dependencies 
between core and test components to be standard practice.

Also we are looking to support customers who would choose nnstreamer 
from meta-arago after landing up from [1].

[0] 
https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb#L79

[1] 
https://layers.openembedded.org/layerindex/branch/master/recipes/?q=nnstreamer

>
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
>>
>> *From:* Eatmon, Ryan
>> *Sent:* Monday, March 16, 2026 6:40:23 PM
>> *To:* Deshmukh, Pratham; meta-arago@lists.yoctoproject.org
>> *Cc:* Davis, Andrew; Shilwant, Chirag; Dmytriyenko, Denys; Singh, Vishnu
>> *Subject:* Re: [meta-arago][master][PATCH v4 1/1] nnstreamer: Add 
>> test package dependency and fix buildpaths QA issues
>>
>>
>> On 3/16/2026 4:26 AM, Pratham Deshmukh via lists.yoctoproject.org wrote:
>>> Add runtime dependency to automatically install
>>> nnstreamer-tests package when nnstreamer is installed,
>>> ensuring unittest_filter_onnxruntime is available for
>>> ONNX Runtime benchmarking.
>>>
>>> Include buildpaths compliance patch that replaces
>>> absolute build paths(meson.build_root()) with relative
>>> paths in generated unittest files, resolving QA errors
>>> "contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
>>> and unittest_tizen_custom-set.cc.
>>>
>>> Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: 
>>> upgrade 2.4.4 -> 2.6.0")
>>>
>>> Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>>> ---
>>> Change Logs:
>>>    v3 -> v4:
>>>    - Use RDEPENDS approach instead of package consolidation to maintain
>>>      clean separation between runtime and test components.
>>>    v2 -> v3:
>>>    - Fix runitme dependencies issue for unittest_filter_onnxruntime.
>>>    - Upgrade recipe to make it QA compliant.
>>>    v1 -> v2:
>>>    - Added fix commit hash in the commit message.
>>>
>>>    ...ute-build-paths-from-generated-test-.patch | 42 
>>> +++++++++++++++++++
>>>    .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
>>>    2 files changed, 49 insertions(+), 2 deletions(-)
>>>    create mode 100644 
>>> meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>>>
>>> diff --git 
>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch 
>>>
>>> new file mode 100644
>>> index 00000000..345b3eb2
>>> --- /dev/null
>>> +++ 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>>> @@ -0,0 +1,42 @@
>>> +From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
>>> +From: Pratham Deshmukh <p-deshmukh@ti.com>
>>> +Date: Tue, 10 Mar 2026 15:23:05 +0530
>>> +Subject: [PATCH] fix: Remove absolute build paths from generated 
>>> test files
>>> +
>>> +Replace meson.build_root() with relative paths in custom_filter_path
>>> +to prevent Yocto buildpaths QA errors. The generated unittest files
>>> +were embedding absolute build directory paths (e.g., /tmp/work/...)
>>> +as string literals, which Yocto's QA system correctly flags as a
>>> +build reproducibility issue.
>>> +
>>> +The runtime code already handles proper path resolution using
>>> +NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
>>> +fallbacks, so this change maintains full functionality
>>> +while eliminating embedded build paths.
>>> +
>>> +Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
>>> +unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
>>> +
>>> +Upstream-Status: Inappropriate [oe-specific]
>>> +
>>> +Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>>> +---
>>> + tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>> +
>>> +diff --git a/tests/nnstreamer_filter_extensions_common/meson.build 
>>> b/tests/nnstreamer_filter_extensions_common/meson.build
>>> +index ecd1878b..ba72ee20 100644
>>> +--- a/tests/nnstreamer_filter_extensions_common/meson.build
>>> ++++ b/tests/nnstreamer_filter_extensions_common/meson.build
>>> +@@ -9,7 +9,7 @@ tizen_apptest_deps = [
>>> + # Format for adding subplugin into extensions -
>>> + # [name, extension abbreviation, dependencies, model file 
>>> name/folder path/file path, test name]
>>> + extensions = []
>>> +-custom_filter_path = join_paths(meson.build_root(), 'tests', 
>>> 'nnstreamer_example',
>>> ++custom_filter_path = join_paths('tests', 'nnstreamer_example',
>>> +     'libnnstreamer_customfilter_passthrough.' + so_ext)
>>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, 
>>> custom_filter_path, 'custom']]
>>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, 
>>> custom_filter_path, 'custom-set']]
>>> +--
>>> +2.34.1
>>> +
>>> diff --git 
>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>> index c62589ac..fbfb887c 100644
>>> --- 
>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>> +++ 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>> @@ -3,7 +3,11 @@ DESCRIPTION = "NNStreamer is a set of Gstreamer 
>>> plugins that allow Gstreamer dev
>>>    LICENSE = "LGPL-2.1-only"
>>>    LIC_FILES_CHKSUM = 
>>> "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590 
>>> <file://LICENSE;md5=c25e5c1949624d71896127788f1ba590>"
>>>   -SRC_URI = 
>>> "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>>> +SRC_URI = " \
>>> + 
>>> git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
>>> + 
>>> file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch 
>>> <file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch> 
>>> \
>>> +"
>>> +
>>>    SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
>>>      # Only compatible with armv7a, armv7ve, and aarch64
>>> @@ -56,13 +60,14 @@ FILES:${PN} += "\
>>>    "
>>>    INSANE_SKIP:${PN} += "dev-so"
>>>   +RDEPENDS:${PN} += "nnstreamer-tests"
>>> +
>>
>> Why are we forcing the tests to be installed when nnstreamer is 
>> installed?  In fact, I cannot find any recipe that even refers to 
>> nnstreamer.  How is this even begin included in builds?  In my mind, 
>> if you are wanting the tests for use during our testing, then 
>> nnstreamer-tests should be included in the ti-test package to ensure 
>> that the tests are present.
>>
>>
>>>    PACKAGES =+ "${PN}-tests"
>>>      FILES:${PN}-tests += "\
>>>         ${libdir}/nnstreamer/customfilters/* \
>>>         ${bindir}/unittest-nnstreamer/* \
>>>    "
>>> -INSANE_SKIP:${PN}-tests += "buildpaths"
>>>      FILES:${PN}-dev = "\
>>>         ${includedir}/nnstreamer/* \
>>
>> -- 
>> Ryan Eatmon                reatmon@ti.com
>> -----------------------------------------
>> Texas Instruments, Inc.  -  LCPD  -  MGTS
>>
>
Ryan Eatmon March 17, 2026, 1:17 p.m. UTC | #6
On 3/17/2026 4:43 AM, Pratham Deshmukh wrote:
> 
> On 16/03/26 9:12 pm, Ryan Eatmon wrote:
>>
>>
>> On 3/16/2026 9:57 AM, Deshmukh, Pratham wrote:
>>> The intent here was not to force the tests into all images. The 
>>> nnstreamer components (like other stacks) are pulled in through the 
>>> meta-tisdk:meta-ti-ml layer for a specific SDK images that require 
>>> them, so the base arago-default-image is not bloated.
>>>
>>>
>>> https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend <https://github.com/TexasInstruments/meta-tisdk/blob/master/meta-ti-ml/recipes-core/images/tisdk-default-image.bbappend>
>>
>> Then you should just add nnstreamer-tests to the above and not as an 
>> RDEPENDS in the main recipe.
>>
>>
> There are customers who would not use the meta-tisdk:meta-ti-ml layer 
> and would probably just rely on meta-arago to provide the latest version 
> of nnstreamer. They always have an option to add nnstreamer in 
> local.conf and build their image, so when they would do it without 
> meta-tisdk, they would never have nnstreamer-tests as a runtime 
> dependency in their filesystem. This means these customers would 
> encounter the same"unittest_filter_onnxruntime not found" issue we're 
> trying to solve.
> 
> The upstream meta-neural-network layer [0] uses the same pattern we're 
> proposing, with RDEPENDS:${PN}-unittest = "nnstreamer" in their recipe. 
> This shows the nnstreamer community considers runtime dependencies 
> between core and test components to be standard practice.

Actually they have the opposite pattern.  The unittests package will 
pull in the main recipe, not the other way.  And that makes sense.  The 
tests might need the actual software to execute the tests, but the main 
software does not need the tests.



> Also we are looking to support customers who would choose nnstreamer 
> from meta-arago after landing up from [1].
> 
> [0] 
> https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb#L79
> 
> [1] 
> https://layers.openembedded.org/layerindex/branch/master/recipes/?q=nnstreamer
> 
>>
>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>> *From:* Eatmon, Ryan
>>> *Sent:* Monday, March 16, 2026 6:40:23 PM
>>> *To:* Deshmukh, Pratham; meta-arago@lists.yoctoproject.org
>>> *Cc:* Davis, Andrew; Shilwant, Chirag; Dmytriyenko, Denys; Singh, Vishnu
>>> *Subject:* Re: [meta-arago][master][PATCH v4 1/1] nnstreamer: Add 
>>> test package dependency and fix buildpaths QA issues
>>>
>>>
>>> On 3/16/2026 4:26 AM, Pratham Deshmukh via lists.yoctoproject.org wrote:
>>>> Add runtime dependency to automatically install
>>>> nnstreamer-tests package when nnstreamer is installed,
>>>> ensuring unittest_filter_onnxruntime is available for
>>>> ONNX Runtime benchmarking.
>>>>
>>>> Include buildpaths compliance patch that replaces
>>>> absolute build paths(meson.build_root()) with relative
>>>> paths in generated unittest files, resolving QA errors
>>>> "contains reference to TMPDIR [buildpaths]" in unittest_tizen_custom.cc
>>>> and unittest_tizen_custom-set.cc.
>>>>
>>>> Fixes: 319271fe5fc8bc3016b1eb765784076af666b61b ("nnstreamer: 
>>>> upgrade 2.4.4 -> 2.6.0")
>>>>
>>>> Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>>>> ---
>>>> Change Logs:
>>>>    v3 -> v4:
>>>>    - Use RDEPENDS approach instead of package consolidation to maintain
>>>>      clean separation between runtime and test components.
>>>>    v2 -> v3:
>>>>    - Fix runitme dependencies issue for unittest_filter_onnxruntime.
>>>>    - Upgrade recipe to make it QA compliant.
>>>>    v1 -> v2:
>>>>    - Added fix commit hash in the commit message.
>>>>
>>>>    ...ute-build-paths-from-generated-test-.patch | 42 
>>>> +++++++++++++++++++
>>>>    .../nnstreamer/nnstreamer_2.6.0.bb            |  9 +++-
>>>>    2 files changed, 49 insertions(+), 2 deletions(-)
>>>>    create mode 100644 
>>>> meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>>>>
>>>> diff --git 
>>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>>>> new file mode 100644
>>>> index 00000000..345b3eb2
>>>> --- /dev/null
>>>> +++ 
>>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
>>>> @@ -0,0 +1,42 @@
>>>> +From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
>>>> +From: Pratham Deshmukh <p-deshmukh@ti.com>
>>>> +Date: Tue, 10 Mar 2026 15:23:05 +0530
>>>> +Subject: [PATCH] fix: Remove absolute build paths from generated 
>>>> test files
>>>> +
>>>> +Replace meson.build_root() with relative paths in custom_filter_path
>>>> +to prevent Yocto buildpaths QA errors. The generated unittest files
>>>> +were embedding absolute build directory paths (e.g., /tmp/work/...)
>>>> +as string literals, which Yocto's QA system correctly flags as a
>>>> +build reproducibility issue.
>>>> +
>>>> +The runtime code already handles proper path resolution using
>>>> +NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
>>>> +fallbacks, so this change maintains full functionality
>>>> +while eliminating embedded build paths.
>>>> +
>>>> +Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
>>>> +unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
>>>> +
>>>> +Upstream-Status: Inappropriate [oe-specific]
>>>> +
>>>> +Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
>>>> +---
>>>> + tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
>>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>>> +
>>>> +diff --git a/tests/nnstreamer_filter_extensions_common/meson.build 
>>>> b/tests/nnstreamer_filter_extensions_common/meson.build
>>>> +index ecd1878b..ba72ee20 100644
>>>> +--- a/tests/nnstreamer_filter_extensions_common/meson.build
>>>> ++++ b/tests/nnstreamer_filter_extensions_common/meson.build
>>>> +@@ -9,7 +9,7 @@ tizen_apptest_deps = [
>>>> + # Format for adding subplugin into extensions -
>>>> + # [name, extension abbreviation, dependencies, model file 
>>>> name/folder path/file path, test name]
>>>> + extensions = []
>>>> +-custom_filter_path = join_paths(meson.build_root(), 'tests', 
>>>> 'nnstreamer_example',
>>>> ++custom_filter_path = join_paths('tests', 'nnstreamer_example',
>>>> +     'libnnstreamer_customfilter_passthrough.' + so_ext)
>>>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, 
>>>> custom_filter_path, 'custom']]
>>>> + extensions += [['custom', 'custom', nnstreamer_unittest_deps, 
>>>> custom_filter_path, 'custom-set']]
>>>> +--
>>>> +2.34.1
>>>> +
>>>> diff --git 
>>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>>> index c62589ac..fbfb887c 100644
>>>> --- 
>>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>>> +++ 
>>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
>>>> @@ -3,7 +3,11 @@ DESCRIPTION = "NNStreamer is a set of Gstreamer 
>>>> plugins that allow Gstreamer dev
>>>>    LICENSE = "LGPL-2.1-only"
>>>>    LIC_FILES_CHKSUM = 
>>>> "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590 
>>>> <file://LICENSE;md5=c25e5c1949624d71896127788f1ba590>"
>>>>   -SRC_URI = 
>>>> "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>>>> +SRC_URI = " \
>>>> + 
>>>> git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
>>>> + 
>>>> file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch <file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch> \
>>>> +"
>>>> +
>>>>    SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
>>>>      # Only compatible with armv7a, armv7ve, and aarch64
>>>> @@ -56,13 +60,14 @@ FILES:${PN} += "\
>>>>    "
>>>>    INSANE_SKIP:${PN} += "dev-so"
>>>>   +RDEPENDS:${PN} += "nnstreamer-tests"
>>>> +
>>>
>>> Why are we forcing the tests to be installed when nnstreamer is 
>>> installed?  In fact, I cannot find any recipe that even refers to 
>>> nnstreamer.  How is this even begin included in builds?  In my mind, 
>>> if you are wanting the tests for use during our testing, then 
>>> nnstreamer-tests should be included in the ti-test package to ensure 
>>> that the tests are present.
>>>
>>>
>>>>    PACKAGES =+ "${PN}-tests"
>>>>      FILES:${PN}-tests += "\
>>>>         ${libdir}/nnstreamer/customfilters/* \
>>>>         ${bindir}/unittest-nnstreamer/* \
>>>>    "
>>>> -INSANE_SKIP:${PN}-tests += "buildpaths"
>>>>      FILES:${PN}-dev = "\
>>>>         ${includedir}/nnstreamer/* \
>>>
>>> -- 
>>> Ryan Eatmon                reatmon@ti.com
>>> -----------------------------------------
>>> Texas Instruments, Inc.  -  LCPD  -  MGTS
>>>
>>

-- 
Ryan Eatmon                reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS
diff mbox series

Patch

diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
new file mode 100644
index 00000000..345b3eb2
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer/0001-fix-Remove-absolute-build-paths-from-generated-test-.patch
@@ -0,0 +1,42 @@ 
+From a5f962b51431ac19c264b8b9baa78ff283a77efe Mon Sep 17 00:00:00 2001
+From: Pratham Deshmukh <p-deshmukh@ti.com>
+Date: Tue, 10 Mar 2026 15:23:05 +0530
+Subject: [PATCH] fix: Remove absolute build paths from generated test files
+
+Replace meson.build_root() with relative paths in custom_filter_path
+to prevent Yocto buildpaths QA errors. The generated unittest files
+were embedding absolute build directory paths (e.g., /tmp/work/...)
+as string literals, which Yocto's QA system correctly flags as a
+build reproducibility issue.
+
+The runtime code already handles proper path resolution using
+NNSTREAMER_SOURCE_ROOT_PATH environment variable or relative
+fallbacks, so this change maintains full functionality
+while eliminating embedded build paths.
+
+Fixes: QA Issue "contains reference to TMPDIR [buildpaths]" in
+unittest_tizen_custom.cc and unittest_tizen_custom-set.cc
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
+---
+ tests/nnstreamer_filter_extensions_common/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/nnstreamer_filter_extensions_common/meson.build b/tests/nnstreamer_filter_extensions_common/meson.build
+index ecd1878b..ba72ee20 100644
+--- a/tests/nnstreamer_filter_extensions_common/meson.build
++++ b/tests/nnstreamer_filter_extensions_common/meson.build
+@@ -9,7 +9,7 @@ tizen_apptest_deps = [
+ # Format for adding subplugin into extensions -
+ # [name, extension abbreviation, dependencies, model file name/folder path/file path, test name]
+ extensions = []
+-custom_filter_path = join_paths(meson.build_root(), 'tests', 'nnstreamer_example',
++custom_filter_path = join_paths('tests', 'nnstreamer_example',
+     'libnnstreamer_customfilter_passthrough.' + so_ext)
+ extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom']]
+ extensions += [['custom', 'custom', nnstreamer_unittest_deps, custom_filter_path, 'custom-set']]
+-- 
+2.34.1
+
diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
index c62589ac..fbfb887c 100644
--- a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
+++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.6.0.bb
@@ -3,7 +3,11 @@  DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer dev
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
 
-SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
+SRC_URI = " \
+	git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https \
+	file://0001-fix-Remove-absolute-build-paths-from-generated-test-.patch \
+"
+
 SRCREV = "b970e9eff6bfb4e915463842422fe14bb2e53f84"
 
 # Only compatible with armv7a, armv7ve, and aarch64
@@ -56,13 +60,14 @@  FILES:${PN} += "\
 "
 INSANE_SKIP:${PN} += "dev-so"
 
+RDEPENDS:${PN} += "nnstreamer-tests"
+
 PACKAGES =+ "${PN}-tests"
 
 FILES:${PN}-tests += "\
 	${libdir}/nnstreamer/customfilters/* \
 	${bindir}/unittest-nnstreamer/* \
 "
-INSANE_SKIP:${PN}-tests += "buildpaths"
 
 FILES:${PN}-dev = "\
 	${includedir}/nnstreamer/* \