diff mbox series

[meta-arago,scarthgap,v4,1/2] meta-arago-test: add recipe opencl-cts

Message ID 20250221204153.428129-2-a-christidis@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series Introducing Opencl-cts | expand

Commit Message

Antonios Christidis Feb. 21, 2025, 8:41 p.m. UTC
From: Antonios Christidis <a-christidis@ti.com>

Adding recipe for opencl-cts, v2024-08-08 is a pre-release version.
I have tested it to work with opencl-headers version v2024.05.08 . This version
is picked due to incompatibility issues with other versions of headers.

This is a backport from meta-openembedded, they rejected to move opencl-cts to
scarthgap due to their LTS procedure. New packages do not get merged into LTS
branches after 7 months of the branch creation.

This recipe also comes with a patch.

Within the cmake build system, the compiler -Werror flag is enabled.  This
turns all warnings into errors and doesn't allow the system to compile
correctly.  Change the system to ignore the 3 warning rules that show up when
compiling.

Signed-off-by: Antonios Christidis <a-christidis@ti.com>
---

v4:
-merged the patch patch and recipe patch into one patch, this is it 

v3:
- Changed from adress, it was wrong. 

v2:
- Added explanation on why this patch is a backport from
  meta-openembedded 


 .../files/0001-Ignore-Compiler-Warnings.patch | 18 +++++++++++++
 .../opencl/opencl-cts_2024.08.08.bb           | 27 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
 create mode 100644 meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb

Comments

Denys Dmytriyenko Feb. 21, 2025, 10:03 p.m. UTC | #1
On Fri, Feb 21, 2025 at 02:41:52PM -0600, Antonios Christidis via lists.yoctoproject.org wrote:
> From: Antonios Christidis <a-christidis@ti.com>
> 
> Adding recipe for opencl-cts, v2024-08-08 is a pre-release version.
> I have tested it to work with opencl-headers version v2024.05.08 . This version
> is picked due to incompatibility issues with other versions of headers.
> 
> This is a backport from meta-openembedded, they rejected to move opencl-cts to
> scarthgap due to their LTS procedure. New packages do not get merged into LTS
> branches after 7 months of the branch creation.
> 
> This recipe also comes with a patch.
> 
> Within the cmake build system, the compiler -Werror flag is enabled.  This
> turns all warnings into errors and doesn't allow the system to compile
> correctly.  Change the system to ignore the 3 warning rules that show up when
> compiling.
> 
> Signed-off-by: Antonios Christidis <a-christidis@ti.com>
> ---
> 
> v4:
> -merged the patch patch and recipe patch into one patch, this is it 

I believe it was already mentioned not once, that any backport of an existing 
recipe from upstream should be in 2 stages - first copy the recipe as is 
verbatim w/o any modifications, and then make any changes need.

Moreover, this is NOT how your patch got accepted upstream:
https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch

Here's the corresponding discussion on the meta-oe mailing list:
https://lists.openembedded.org/g/openembedded-devel/topic/110839841


> v3:
> - Changed from adress, it was wrong. 
> 
> v2:
> - Added explanation on why this patch is a backport from
>   meta-openembedded 
> 
> 
>  .../files/0001-Ignore-Compiler-Warnings.patch | 18 +++++++++++++
>  .../opencl/opencl-cts_2024.08.08.bb           | 27 +++++++++++++++++++
>  2 files changed, 45 insertions(+)
>  create mode 100644 meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
>  create mode 100644 meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
> 
> diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
> new file mode 100644
> index 00000000..067cffa1
> --- /dev/null
> +++ b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
> @@ -0,0 +1,18 @@

This is not a proper compliant patch - it should not be a bare diff, but 
rather a proper git patch with a header, plus Upstream-Status: tag.

So, Khem had modified your patch upstream to be compliant before merging, 
but you still submit the old one here - why?


> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 5cfef6b3..71b6ddb4 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang"
> +     add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive
> +     add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785
> +     add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784
> +-
> ++    add_cxx_flag_if_supported(-Wno-maybe-uninitialized)
> ++    add_cxx_flag_if_supported(-Wno-stringop-truncation)
> ++    add_cxx_flag_if_supported(-Wno-strict-aliasing)
> +     # -msse -mfpmath=sse to force gcc to use sse for float math,
> +     # avoiding excess precision problems that cause tests like int2float
> +     # to falsely fail. -ffloat-store also works, but WG suggested
> +-- 
> +2.34.1
> +
> diff --git a/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
> new file mode 100644
> index 00000000..60bc3c6a
> --- /dev/null
> +++ b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
> @@ -0,0 +1,27 @@
> +SUMMARY = "OpenCL CTS"
> +DESCRIPTION = "OpenCL CTS test suite"
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
> +
> +inherit pkgconfig cmake
> +
> +DEPENDS += "opencl-headers opencl-icd-loader"
> +RDEPENDS:${PN} += "python3-core python3-io"
> +
> +S = "${WORKDIR}/git"
> +
> +SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0 \
> +           file://0001-Ignore-Compiler-Warnings.patch"
> +
> +
> +SRCREV = "a406b340913f622da089b00f284a597656c10239"
> +
> +EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=Debug -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"
> +
> +do_install() {
> +        install -d ${D}${bindir}/opencl_test_conformance
> +        cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance
> +        sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py
> +	find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete
> +        find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth
> +}
> -- 
> 2.34.1
diff mbox series

Patch

diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
new file mode 100644
index 00000000..067cffa1
--- /dev/null
+++ b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
@@ -0,0 +1,18 @@ 
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5cfef6b3..71b6ddb4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang"
+     add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive
+     add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785
+     add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784
+-
++    add_cxx_flag_if_supported(-Wno-maybe-uninitialized)
++    add_cxx_flag_if_supported(-Wno-stringop-truncation)
++    add_cxx_flag_if_supported(-Wno-strict-aliasing)
+     # -msse -mfpmath=sse to force gcc to use sse for float math,
+     # avoiding excess precision problems that cause tests like int2float
+     # to falsely fail. -ffloat-store also works, but WG suggested
+-- 
+2.34.1
+
diff --git a/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
new file mode 100644
index 00000000..60bc3c6a
--- /dev/null
+++ b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
@@ -0,0 +1,27 @@ 
+SUMMARY = "OpenCL CTS"
+DESCRIPTION = "OpenCL CTS test suite"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pkgconfig cmake
+
+DEPENDS += "opencl-headers opencl-icd-loader"
+RDEPENDS:${PN} += "python3-core python3-io"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0 \
+           file://0001-Ignore-Compiler-Warnings.patch"
+
+
+SRCREV = "a406b340913f622da089b00f284a597656c10239"
+
+EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=Debug -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"
+
+do_install() {
+        install -d ${D}${bindir}/opencl_test_conformance
+        cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance
+        sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py
+	find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete
+        find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth
+}