new file mode 100644
@@ -0,0 +1,57 @@
+From 9a8e01f8421f92f40b4cbff6cf055538e9a0b0ae Mon Sep 17 00:00:00 2001
+From: Evgeny Kolesnikov <ekolesni@redhat.com>
+Date: Thu, 25 Jan 2024 21:37:05 +0100
+Subject: [PATCH] Replace distutils.sysconfig with sysconfig
+
+Upstream-Status: Backport
+[https://github.com/OpenSCAP/openscap/commit/9a8e01f8421f92f40b4cbff6cf055538e9a0b0ae]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ docs/developer/developer.adoc | 2 +-
+ swig/python3/CMakeLists.txt | 2 +-
+ utils/CMakeLists.txt | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/docs/developer/developer.adoc b/docs/developer/developer.adoc
+index 77c6d5161..e923069cc 100644
+--- a/docs/developer/developer.adoc
++++ b/docs/developer/developer.adoc
+@@ -113,7 +113,7 @@ On Ubuntu 18.04 and potentially other distro, the python3 dist-packages path is
+ If the following command:
+
+ ----
+-$ python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
++$ python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))"
+ ----
+
+ returns "/usr/local/lib/python3/dist-packages" instead of a path like
+diff --git a/swig/python3/CMakeLists.txt b/swig/python3/CMakeLists.txt
+index 2594cf000..5f301326c 100644
+--- a/swig/python3/CMakeLists.txt
++++ b/swig/python3/CMakeLists.txt
+@@ -26,7 +26,7 @@ add_custom_target(python3_compile ALL DEPENDS ${PYTHON_COMPILED_FILES})
+
+ if(NOT PYTHON_SITE_PACKAGES_INSTALL_DIR)
+ execute_process(COMMAND
+- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}'))"
++ ${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_path('platlib'))"
+ OUTPUT_VARIABLE PYTHON_SITE_PACKAGES_INSTALL_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index 93ce1f2a9..9347c2976 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -91,7 +91,7 @@ if(ENABLE_OSCAP_UTIL_DOCKER)
+
+ if(NOT PYTHON_SITE_PACKAGES_INSTALL_DIR)
+ execute_process(COMMAND
+- ${OSCAP_DOCKER_PYTHON} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(False, False, prefix='${CMAKE_INSTALL_PREFIX}'))"
++ ${OSCAP_DOCKER_PYTHON} -c "import sysconfig; print(sysconfig.get_path('purelib'))"
+ OUTPUT_VARIABLE PYTHON_SITE_PACKAGES_INSTALL_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+--
+2.25.1
+
@@ -11,7 +11,9 @@ DEPENDS:class-native = "pkgconfig-native swig-native curl-native libxml2-native
#Jun 22th, 2023
SRCREV = "9b3e7563575f7e5b419f8a09999b40f30e3e7c29"
-SRC_URI = "git://github.com/OpenSCAP/openscap.git;branch=maint-1.3;protocol=https"
+SRC_URI = "git://github.com/OpenSCAP/openscap.git;branch=maint-1.3;protocol=https \
+ file://0001-Replace-distutils.sysconfig-with-sysconfig.patch \
+ "
S = "${WORKDIR}/git"
Backport a patch to fix build with python 3.12: $ bitbake openscap-native Traceback (most recent call last): File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'distutils' CMake Error at swig/python3/CMakeLists.txt:35 (install): install TARGETS given no LIBRARY DESTINATION for module target "_openscap_py". Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- ...e-distutils.sysconfig-with-sysconfig.patch | 57 +++++++++++++++++++ recipes-compliance/openscap/openscap_1.3.9.bb | 4 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 recipes-compliance/openscap/files/0001-Replace-distutils.sysconfig-with-sysconfig.patch