From: Niko Mauno <[email protected]>

The patch which removed the pybind11_strip() call from provisioned
pybind11*Tools.cmake files was dropped in commit
5c455804aede17e0ea0cbb7ab55f8580f912e664 ("python3-pybind11: Upgrade
to 2.10.3").

However this change delegated the requirement to set CMAKE_BUILD_TYPE
as 'Debug' or 'RelWithDebInfo' (or as unset) to the cmake utilizing
packages which have build time dependency on python3-pybind11, failure
to do which causes following kind of BitBake failure with Yocto:

  ERROR: foobar-1.0.0-r0 do_package: QA Issue: File 
'/usr/lib/python3.11/site-packages/foobar.so' from foobar was already stripped, 
this will prevent future debugging! [already-stripped]

Restore the patch so that the stripping is delegated to Yocto once
more, allowing depending cmake packages to work out of the box also
when they use 'Release' or 'MinSizeRel' as CMAKE_BUILD_TYPE by
default.

Signed-off-by: Joonas Salonpää <[email protected]>
Signed-off-by: Niko Mauno <[email protected]>
---
 .../0001-Do-not-strip-binaries.patch          | 52 +++++++++++++++++++
 .../python/python3-pybind11_2.11.1.bb         |  5 +-
 2 files changed, 56 insertions(+), 1 deletion(-)
 create mode 100644 
meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch

diff --git 
a/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
 
b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
new file mode 100644
index 000000000..37cb78a30
--- /dev/null
+++ 
b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
@@ -0,0 +1,52 @@
+From debd676cd94f92a30b3be45f1245aa13d8c398c0 Mon Sep 17 00:00:00 2001
+From: Philip Balister <[email protected]>
+Date: Wed, 8 Jul 2020 09:41:43 -0400
+Subject: [PATCH] Do not strip binaries.
+
+ * OpenEmbedded strips them after creating debug packages.
+
+Signed-off-by: Philip Balister <[email protected]>
+Signed-off-by: Leon Anavi <[email protected]>
+---
+ tools/pybind11NewTools.cmake | 7 -------
+ tools/pybind11Tools.cmake    | 6 ------
+ 2 files changed, 13 deletions(-)
+
+diff --git a/tools/pybind11NewTools.cmake b/tools/pybind11NewTools.cmake
+index 7d7424a7..accd90c4 100644
+--- a/tools/pybind11NewTools.cmake
++++ b/tools/pybind11NewTools.cmake
+@@ -233,13 +233,6 @@ function(pybind11_add_module target_name)
+     endif()
+   endif()
+ 
+-  # Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
+-  string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+-  if(NOT MSVC AND NOT "${uppercase_CMAKE_BUILD_TYPE}" MATCHES 
DEBUG|RELWITHDEBINFO)
+-    # Strip unnecessary sections of the binary on Linux/macOS
+-    pybind11_strip(${target_name})
+-  endif()
+-
+   if(MSVC)
+     target_link_libraries(${target_name} PRIVATE pybind11::windows_extras)
+   endif()
+diff --git a/tools/pybind11Tools.cmake b/tools/pybind11Tools.cmake
+index 66ad00a4..855ede41 100644
+--- a/tools/pybind11Tools.cmake
++++ b/tools/pybind11Tools.cmake
+@@ -212,12 +212,6 @@ function(pybind11_add_module target_name)
+     endif()
+   endif()
+ 
+-  # Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
+-  string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+-  if(NOT MSVC AND NOT "${uppercase_CMAKE_BUILD_TYPE}" MATCHES 
DEBUG|RELWITHDEBINFO)
+-    pybind11_strip(${target_name})
+-  endif()
+-
+   if(MSVC)
+     target_link_libraries(${target_name} PRIVATE pybind11::windows_extras)
+   endif()
+-- 
+2.39.2
+
diff --git a/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb 
b/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
index 13f63b7c6..78662fe3c 100644
--- a/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
+++ b/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
@@ -8,7 +8,10 @@ DEPENDS = "\
 "
 
 SRCREV = "8a099e44b3d5f85b20f05828d919d2332a8de841"
-SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https"
+SRC_URI = "\
+    git://github.com/pybind/pybind11.git;branch=stable;protocol=https \
+    file://0001-Do-not-strip-binaries.patch \
+"
 
 S = "${WORKDIR}/git"
 
-- 
2.39.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#109033): 
https://lists.openembedded.org/g/openembedded-devel/message/109033
Mute This Topic: https://lists.openembedded.org/mt/104580057/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to