All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation
@ 2021-11-25  2:44 Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 2/7] libtdb: " Yi Zhao
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

The pyext_PATTERN will add native arch as suffix when cross compiling.
For example, on qemuarm64, it is expanded to:
pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
which will result in the incorrect library name.

root@qemuarm64:~# find /usr/lib -name \*talloc\*
/usr/lib/pkgconfig/talloc.pc
/usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
/usr/lib/libtalloc.so.2
/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
/usr/lib/libtalloc.so
/usr/lib/libtalloc.so.2.3.3
/usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so

Set pyext_PATTERN to '%s.so' to remove the suffix.
After the patch:
root@qemuarm64:~# find /usr/lib -name \*talloc\*
/usr/lib/pkgconfig/talloc.pc
/usr/lib/pkgconfig/pytalloc-util.pc
/usr/lib/libpytalloc-util.so.2.3.3
/usr/lib/libtalloc.so.2
/usr/lib/libpytalloc-util.so.2
/usr/lib/libpytalloc-util.so
/usr/lib/libtalloc.so
/usr/lib/libtalloc.so.2.3.3
/usr/lib/python3.10/site-packages/talloc.so

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-pyext_PATTERN-for-cross-compilation.patch | 57 +++++++++++++++++++
 .../libtalloc/libtalloc_2.3.3.bb              |  1 +
 2 files changed, 58 insertions(+)
 create mode 100644 meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch

diff --git a/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
new file mode 100644
index 000000000..47ee4bb24
--- /dev/null
+++ b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
@@ -0,0 +1,57 @@
+From b5eaeb7ed4e75012d2715f995e15a13850064f61 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Nov 2021 13:33:35 +0800
+Subject: [PATCH] Fix pyext_PATTERN for cross compilation
+
+The pyext_PATTERN will add native arch as suffix when cross compiling.
+For example, on qemuarm64, it is expanded to:
+pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
+which will result in the incorrect library name.
+
+root@qemuarm64:~# find /usr/lib -name \*talloc\*
+/usr/lib/pkgconfig/talloc.pc
+/usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
+/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
+/usr/lib/libtalloc.so.2
+/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
+/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
+/usr/lib/libtalloc.so
+/usr/lib/libtalloc.so.2.3.3
+/usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so
+
+Set pyext_PATTERN to '%s.so' to remove the suffix.
+After the patch:
+root@qemuarm64:~# find /usr/lib -name \*talloc\*
+/usr/lib/pkgconfig/talloc.pc
+/usr/lib/pkgconfig/pytalloc-util.pc
+/usr/lib/libpytalloc-util.so.2.3.3
+/usr/lib/libtalloc.so.2
+/usr/lib/libpytalloc-util.so.2
+/usr/lib/libpytalloc-util.so
+/usr/lib/libtalloc.so
+/usr/lib/libtalloc.so.2.3.3
+/usr/lib/python3.10/site-packages/talloc.so
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ third_party/waf/waflib/Tools/python.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
+index b1c8dd0..24faa31 100644
+--- a/third_party/waf/waflib/Tools/python.py
++++ b/third_party/waf/waflib/Tools/python.py
+@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
+ 	x = 'MACOSX_DEPLOYMENT_TARGET'
+ 	if dct[x]:
+ 		env[x] = conf.environ[x] = dct[x]
+-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
++	env.pyext_PATTERN = '%s.so'
+ 
+ 
+ 	# Try to get pythonX.Y-config
+-- 
+2.17.1
+
diff --git a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
index e6e2066a5..9b207609f 100644
--- a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
+++ b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6
 
 SRC_URI = "https://www.samba.org/ftp/talloc/talloc-${PV}.tar.gz \
            file://options-2.2.0.patch \
+           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
 "
 SRC_URI[sha256sum] = "6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa"
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 2/7] libtdb: fix pyext_PATTERN for cross compilation
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 3/7] libtevent: " Yi Zhao
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

The pyext_PATTERN will add native arch as suffix when cross compiling.
For example, on qemuarm64, it is expanded to:
pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
which will result in the incorrect library name.

root@qemuarm64:~# find /usr/lib/python3.10/ -name tdb\*
/usr/lib/python3.10/site-packages/tdb.so
/usr/lib/python3.10/site-packages/tdb.cpython-310-x86_64-linux-gnu.so

Set pyext_PATTERN to '%s.so' to remove the suffix.
After the patch:
root@qemuarm64:~# find /usr/lib/python3.10/ -name tdb\*
/usr/lib/python3.10/site-packages/tdb.so

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-pyext_PATTERN-for-cross-compilation.patch | 42 +++++++++++++++++++
 .../recipes-support/libtdb/libtdb_1.4.3.bb    |  7 +---
 2 files changed, 43 insertions(+), 6 deletions(-)
 create mode 100644 meta-networking/recipes-support/libtdb/libtdb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch

diff --git a/meta-networking/recipes-support/libtdb/libtdb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libtdb/libtdb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
new file mode 100644
index 000000000..6f221989f
--- /dev/null
+++ b/meta-networking/recipes-support/libtdb/libtdb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
@@ -0,0 +1,42 @@
+From 00bd6680ad38c20c95a35c963d7077269f3a3aa2 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Nov 2021 13:33:35 +0800
+Subject: [PATCH] Fix pyext_PATTERN for cross compilation
+
+The pyext_PATTERN will add native arch as suffix when cross compiling.
+For example, on qemuarm64, it is expanded to:
+pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
+which will result in the incorrect library name.
+
+root@qemuarm64:~# find /usr/lib/python3.10/ -name tdb\*
+/usr/lib/python3.10/site-packages/tdb.so
+/usr/lib/python3.10/site-packages/tdb.cpython-310-x86_64-linux-gnu.so
+
+Set pyext_PATTERN to '%s.so' to remove the suffix.
+After the patch:
+root@qemuarm64:~# find /usr/lib/python3.10/ -name tdb\*
+/usr/lib/python3.10/site-packages/tdb.so
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ third_party/waf/waflib/Tools/python.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
+index 7c45a76..c9a90f7 100644
+--- a/third_party/waf/waflib/Tools/python.py
++++ b/third_party/waf/waflib/Tools/python.py
+@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
+ 	x = 'MACOSX_DEPLOYMENT_TARGET'
+ 	if dct[x]:
+ 		env[x] = conf.environ[x] = dct[x]
+-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
++	env.pyext_PATTERN = '%s.so'
+ 
+ 
+ 	# Try to get pythonX.Y-config
+-- 
+2.17.1
+
diff --git a/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb b/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb
index ad8459389..e7f738402 100644
--- a/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb
+++ b/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c
 
 SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
            file://tdb-Add-configure-options-for-packages.patch \
+           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
 "
 
 SRC_URI[md5sum] = "e638e8890f743624a754304b3f994f4d"
@@ -39,12 +40,6 @@ EXTRA_OECONF += "--disable-rpath \
                  --with-libiconv=${STAGING_DIR_HOST}${prefix}\
                 "
 
-do_install:append() {
-     # add this link for cross check python module existence. eg: on x86-64 host, check python module
-     # under recipe-sysroot which is mips64.
-     cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s tdb.*.so tdb.so
-}
-
 PACKAGES += "tdb-tools python3-tdb"
 
 RPROVIDES:${PN}-dbg += "python3-tdb-dbg"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 3/7] libtevent: fix pyext_PATTERN for cross compilation
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 2/7] libtdb: " Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 4/7] libldb: " Yi Zhao
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

The pyext_PATTERN will add native arch as suffix when cross compiling.
For example, on qemuarm64, it is expanded to:
pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
which will result in the incorrect library name.

root@qemuarm64:~# find /usr/lib/python3.10/ -name \*tevent\*.so
/usr/lib/python3.10/site-packages/_tevent.cpython-310-x86_64-linux-gnu.so
/usr/lib/python3.10/site-packages/_tevent.so

Set pyext_PATTERN to '%s.so' to remove the suffix.
After the patch:
root@qemuarm64:~# find /usr/lib/python3.10/ -name \*tevent\*.so
/usr/lib/python3.10/site-packages/_tevent.so

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-pyext_PATTERN-for-cross-compilation.patch | 42 +++++++++++++++++++
 .../libtevent/libtevent_0.10.2.bb             |  6 +--
 2 files changed, 43 insertions(+), 5 deletions(-)
 create mode 100644 meta-networking/recipes-support/libtevent/libtevent/0001-Fix-pyext_PATTERN-for-cross-compilation.patch

diff --git a/meta-networking/recipes-support/libtevent/libtevent/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libtevent/libtevent/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
new file mode 100644
index 000000000..81abac83a
--- /dev/null
+++ b/meta-networking/recipes-support/libtevent/libtevent/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
@@ -0,0 +1,42 @@
+From 96ddbe6653f87670e4a0bbff229276bbe0aa822a Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Nov 2021 13:33:35 +0800
+Subject: [PATCH] Fix pyext_PATTERN for cross compilation
+
+The pyext_PATTERN will add native arch as suffix when cross compiling.
+For example, on qemuarm64, it is expanded to:
+pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
+which will result in the incorrect library name.
+
+root@qemuarm64:~# find /usr/lib/python3.10/ -name \*tevent\*.so
+/usr/lib/python3.10/site-packages/_tevent.cpython-310-x86_64-linux-gnu.so
+/usr/lib/python3.10/site-packages/_tevent.so
+
+Set pyext_PATTERN to '%s.so' to remove the suffix.
+After the patch:
+root@qemuarm64:~# find /usr/lib/python3.10/ -name \*tevent\*.so
+/usr/lib/python3.10/site-packages/_tevent.so
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ third_party/waf/waflib/Tools/python.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
+index 7c45a76..c9a90f7 100644
+--- a/third_party/waf/waflib/Tools/python.py
++++ b/third_party/waf/waflib/Tools/python.py
+@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
+ 	x = 'MACOSX_DEPLOYMENT_TARGET'
+ 	if dct[x]:
+ 		env[x] = conf.environ[x] = dct[x]
+-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
++	env.pyext_PATTERN = '%s.so'
+ 
+ 
+ 	# Try to get pythonX.Y-config
+-- 
+2.17.1
+
diff --git a/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb b/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
index 5d7e1a0d6..78c092095 100644
--- a/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
+++ b/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
@@ -9,6 +9,7 @@ RDEPENDS:python3-tevent = "python3"
 SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
            file://options-0.10.0.patch \
            file://0001-libtevent-fix-musl-libc-compile-error.patch \
+           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
 "
 LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
 
@@ -42,11 +43,6 @@ EXTRA_OECONF += "--disable-rpath \
                  --with-libiconv=${STAGING_DIR_HOST}${prefix}\
                  --without-gettext \
                 "
-do_install:append() {
-     # add this link for cross check python module existence. eg: on x86-64 host, check python module
-     # under recipe-sysroot which is mips64. 
-     cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s _tevent.*.so _tevent.so
-}
 
 PACKAGES += "python3-tevent"
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 4/7] libldb: fix pyext_PATTERN for cross compilation
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 2/7] libtdb: " Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 3/7] libtevent: " Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 5/7] samba: " Yi Zhao
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

The pyext_PATTERN will add native arch as suffix when cross compiling.
For example, on qemuarm64, it is expanded to:
pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
which will result in the incorrect library name.

root@qemuarm64:~# find /usr/lib/ -name \*ldb\*
/usr/lib/pkgconfig/pyldb-util.cpython-310-x86_64-linux-gnu.pc
/usr/lib/pkgconfig/ldb.pc
/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2.3.2
/usr/lib/libldb.so.2.3.2
/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2
/usr/lib/libldb.so
/usr/lib/libldb.so.2
/usr/lib/python3.10/site-packages/_ldb_text.py
/usr/lib/python3.10/site-packages/ldb.cpython-310-x86_64-linux-gnu.so
/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so

Set pyext_PATTERN to '%s.so' to remove the suffix.
After the patch:
root@qemuarm64:~# find /usr/lib/ -name \*ldb\*
/usr/lib/pkgconfig/pyldb-util.pc
/usr/lib/pkgconfig/ldb.pc
/usr/lib/libpyldb-util.so.2.3.2
/usr/lib/libldb.so.2.3.2
/usr/lib/libpyldb-util.so.2
/usr/lib/libldb.so
/usr/lib/libldb.so.2
/usr/lib/python3.10/site-packages/_ldb_text.py
/usr/lib/python3.10/site-packages/ldb.so
/usr/lib/libpyldb-util.so

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-pyext_PATTERN-for-cross-compilation.patch | 59 +++++++++++++++++++
 .../recipes-support/libldb/libldb_2.3.2.bb    |  1 +
 2 files changed, 60 insertions(+)
 create mode 100644 meta-networking/recipes-support/libldb/libldb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch

diff --git a/meta-networking/recipes-support/libldb/libldb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libldb/libldb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
new file mode 100644
index 000000000..382a19ced
--- /dev/null
+++ b/meta-networking/recipes-support/libldb/libldb/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
@@ -0,0 +1,59 @@
+From c67c7cee024150fcbdca18764a026aed8724d7ae Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Nov 2021 13:33:35 +0800
+Subject: [PATCH] Fix pyext_PATTERN for cross compilation
+
+The pyext_PATTERN will add native arch as suffix when cross compiling.
+For example, on qemuarm64, it is expanded to:
+pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
+which will result in the incorrect library name.
+
+root@qemuarm64:~# find /usr/lib/ -name \*ldb\*
+/usr/lib/pkgconfig/pyldb-util.cpython-310-x86_64-linux-gnu.pc
+/usr/lib/pkgconfig/ldb.pc
+/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2.3.2
+/usr/lib/libldb.so.2.3.2
+/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2
+/usr/lib/libldb.so
+/usr/lib/libldb.so.2
+/usr/lib/python3.10/site-packages/_ldb_text.py
+/usr/lib/python3.10/site-packages/ldb.cpython-310-x86_64-linux-gnu.so
+/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so
+
+Set pyext_PATTERN to '%s.so' to remove the suffix.
+After the patch:
+root@qemuarm64:~# find /usr/lib/ -name \*ldb\*
+/usr/lib/pkgconfig/pyldb-util.pc
+/usr/lib/pkgconfig/ldb.pc
+/usr/lib/libpyldb-util.so.2.3.2
+/usr/lib/libldb.so.2.3.2
+/usr/lib/libpyldb-util.so.2
+/usr/lib/libldb.so
+/usr/lib/libldb.so.2
+/usr/lib/python3.10/site-packages/_ldb_text.py
+/usr/lib/python3.10/site-packages/ldb.so
+/usr/lib/libpyldb-util.so
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ third_party/waf/waflib/Tools/python.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
+index b1c8dd0..24faa31 100644
+--- a/third_party/waf/waflib/Tools/python.py
++++ b/third_party/waf/waflib/Tools/python.py
+@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
+ 	x = 'MACOSX_DEPLOYMENT_TARGET'
+ 	if dct[x]:
+ 		env[x] = conf.environ[x] = dct[x]
+-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
++	env.pyext_PATTERN = '%s.so'
+ 
+ 
+ 	# Try to get pythonX.Y-config
+-- 
+2.17.1
+
diff --git a/meta-networking/recipes-support/libldb/libldb_2.3.2.bb b/meta-networking/recipes-support/libldb/libldb_2.3.2.bb
index 3f7ed36d3..d26acea40 100644
--- a/meta-networking/recipes-support/libldb/libldb_2.3.2.bb
+++ b/meta-networking/recipes-support/libldb/libldb_2.3.2.bb
@@ -9,6 +9,7 @@ RDEPENDS:pyldb += "python3"
 SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
            file://0001-do-not-import-target-module-while-cross-compile.patch \
            file://0002-ldb-Add-configure-options-for-packages.patch \
+           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
            file://libldb-fix-musl-libc-conflict-type-error.patch \
           "
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 5/7] samba: fix pyext_PATTERN for cross compilation
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
                   ` (2 preceding siblings ...)
  2021-11-25  2:44 ` [meta-networking][PATCH 4/7] libldb: " Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 6/7] samba: add pyldb to rdepends for samba-python3 Yi Zhao
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

The pyext_PATTERN will add native arch as suffix when cross compiling.
For example, on qemuarm64, it is expanded to:
pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
which will result in the incorrect library name.

root@qemuarm64:~# find /usr/lib -name \*cpython\*
/usr/lib/pkgconfig/samba-policy.cpython-310-x86_64-linux-gnu.pc
/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so
/usr/lib/samba/libsamba-python.cpython-310-x86-64-linux-gnu-samba4.so
/usr/lib/samba/libsamba-net.cpython-310-x86-64-linux-gnu-samba4.so
/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so.0
/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so.0.0.1
/usr/lib/python3.10/site-packages/samba/dsdb_dns.cpython-310-x86_64-linux-gnu.so
/usr/lib/python3.10/site-packages/samba/dsdb.cpython-310-x86_64-linux-gnu.so
/usr/lib/python3.10/site-packages/samba/xattr_tdb.cpython-310-x86_64-linux-gnu.so
/usr/lib/python3.10/site-packages/samba/_ldb.cpython-310-x86_64-linux-gnu.so
/usr/lib/python3.10/site-packages/samba/gensec.cpython-310-x86_64-linux-gnu.so
[snip]

Set pyext_PATTERN to '%s.so' to remove the suffix.
After the patch:
root@qemuarm64:~# find /usr/lib/
/usr/lib/pkgconfig/samba-policy.pc
/usr/lib/libsamba-policy.so
/usr/lib/samba/libsamba-python-samba4.so
/usr/lib/samba/libsamba-net-samba4.so
/usr/lib/libsamba-policy.so.0
/usr/lib/libsamba-policy.so.0.0.1
/usr/lib/python3.10/site-packages/samba/dsdb_dns.so
/usr/lib/python3.10/site-packages/samba/dsdb.so
/usr/lib/python3.10/site-packages/samba/xattr_tdb.so
/usr/lib/python3.10/site-packages/samba/_ldb.so
/usr/lib/python3.10/site-packages/samba/gensec.so
[snip]

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 ...-pyext_PATTERN-for-cross-compilation.patch | 63 +++++++++++++++++++
 .../samba/samba_4.14.10.bb                    |  1 +
 2 files changed, 64 insertions(+)
 create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-Fix-pyext_PATTERN-for-cross-compilation.patch

diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-connectivity/samba/samba/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
new file mode 100644
index 000000000..d497dd32c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
@@ -0,0 +1,63 @@
+From a0547cacaddcb2fbef1fb9991c5ad522226e6817 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Nov 2021 13:33:35 +0800
+Subject: [PATCH] Fix pyext_PATTERN for cross compilation
+
+The pyext_PATTERN will add native arch as suffix when cross compiling.
+For example, on qemuarm64, it is expanded to:
+pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
+which will result in the incorrect library name.
+
+root@qemuarm64:~# find /usr/lib -name \*cpython\*
+/usr/lib/pkgconfig/samba-policy.cpython-310-x86_64-linux-gnu.pc
+/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so
+/usr/lib/samba/libsamba-python.cpython-310-x86-64-linux-gnu-samba4.so
+/usr/lib/samba/libsamba-net.cpython-310-x86-64-linux-gnu-samba4.so
+/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so.0
+/usr/lib/libsamba-policy.cpython-310-x86-64-linux-gnu.so.0.0.1
+/usr/lib/python3.10/site-packages/samba/dsdb_dns.cpython-310-x86_64-linux-gnu.so
+/usr/lib/python3.10/site-packages/samba/dsdb.cpython-310-x86_64-linux-gnu.so
+/usr/lib/python3.10/site-packages/samba/xattr_tdb.cpython-310-x86_64-linux-gnu.so
+/usr/lib/python3.10/site-packages/samba/_ldb.cpython-310-x86_64-linux-gnu.so
+/usr/lib/python3.10/site-packages/samba/gensec.cpython-310-x86_64-linux-gnu.so
+[snip]
+
+Set pyext_PATTERN to '%s.so' to remove the suffix.
+After the patch:
+root@qemuarm64:~# find /usr/lib/
+/usr/lib/pkgconfig/samba-policy.pc
+/usr/lib/libsamba-policy.so
+/usr/lib/samba/libsamba-python-samba4.so
+/usr/lib/samba/libsamba-net-samba4.so
+/usr/lib/libsamba-policy.so.0
+/usr/lib/libsamba-policy.so.0.0.1
+/usr/lib/python3.10/site-packages/samba/dsdb_dns.so
+/usr/lib/python3.10/site-packages/samba/dsdb.so
+/usr/lib/python3.10/site-packages/samba/xattr_tdb.so
+/usr/lib/python3.10/site-packages/samba/_ldb.so
+/usr/lib/python3.10/site-packages/samba/gensec.so
+[snip]
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ third_party/waf/waflib/Tools/python.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
+index b1c8dd0..24faa31 100644
+--- a/third_party/waf/waflib/Tools/python.py
++++ b/third_party/waf/waflib/Tools/python.py
+@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
+ 	x = 'MACOSX_DEPLOYMENT_TARGET'
+ 	if dct[x]:
+ 		env[x] = conf.environ[x] = dct[x]
+-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
++	env.pyext_PATTERN = '%s.so'
+ 
+ 
+ 	# Try to get pythonX.Y-config
+-- 
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
index c1c393738..af0795458 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
@@ -24,6 +24,7 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://0007-wscript_configure_system_gnutls-disable-check-gnutls.patch \
            file://0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch \
            file://0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch \
+           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
            "
 
 SRC_URI:append:libc-musl = " \
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 6/7] samba: add pyldb to rdepends for samba-python3
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
                   ` (3 preceding siblings ...)
  2021-11-25  2:44 ` [meta-networking][PATCH 5/7] samba: " Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25  2:44 ` [meta-networking][PATCH 7/7] samba: update cross-answers files Yi Zhao
  2021-11-25 17:30 ` [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Khem Raj
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

Fixes:
$ python3
>>> import samba
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.10/site-packages/samba/__init__.py", line 28, in <module>
    import ldb
ModuleNotFoundError: No module named 'ldb'
>>>

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 meta-networking/recipes-connectivity/samba/samba_4.14.10.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
index af0795458..0a5dbe9c9 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
@@ -245,7 +245,7 @@ PACKAGESPLITFUNCS:prepend = "samba_populate_packages "
 PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
 
 RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
-RDEPENDS:${PN}-python3 += "pytalloc python3-tdb"
+RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb"
 
 FILES:${PN}-base = "${sbindir}/nmbd \
                     ${sbindir}/smbd \
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-networking][PATCH 7/7] samba: update cross-answers files
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
                   ` (4 preceding siblings ...)
  2021-11-25  2:44 ` [meta-networking][PATCH 6/7] samba: add pyldb to rdepends for samba-python3 Yi Zhao
@ 2021-11-25  2:44 ` Yi Zhao
  2021-11-25 17:30 ` [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Khem Raj
  6 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-25  2:44 UTC (permalink / raw)
  To: openembedded-devel

Replace the configure tests UNKNOWN answers with the correct answers.
Then drop the related patches.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 .../cross-answers-aarch64.txt                 |  5 +
 .../cross-answers-aarch64_be.txt              |  5 +
 .../waf-cross-answers/cross-answers-arm.txt   |  5 +
 .../waf-cross-answers/cross-answers-armeb.txt |  5 +
 .../waf-cross-answers/cross-answers-i586.txt  |  5 +
 .../waf-cross-answers/cross-answers-i686.txt  |  5 +
 .../waf-cross-answers/cross-answers-mips.txt  |  5 +
 .../cross-answers-mips64.txt                  |  5 +
 .../cross-answers-mips64el.txt                |  5 +
 .../cross-answers-mipsel.txt                  |  5 +
 .../cross-answers-powerpc.txt                 |  5 +
 .../cross-answers-powerpc64.txt               |  5 +
 .../cross-answers-powerpc64le.txt             |  5 +
 .../cross-answers-riscv32.txt                 |  5 +
 .../cross-answers-riscv64.txt                 |  5 +
 .../cross-answers-x86_64.txt                  |  5 +
 .../samba/0006-samba-defeat-iconv-test.patch  | 39 --------
 ...e_system_gnutls-disable-check-gnutls.patch | 39 --------
 ...cript-disable-check-fcntl-F_OWNER_EX.patch | 79 ----------------
 ...wscript-disable-check-fcntl-RW_HINTS.patch | 92 -------------------
 .../samba/samba_4.14.10.bb                    |  4 -
 21 files changed, 80 insertions(+), 253 deletions(-)
 delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
 delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
 delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
 delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch

diff --git a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
index fc0400dfd..a89d9b358 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt b/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
index fc0400dfd..a89d9b358 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
index 759afe8f9..b32967539 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt b/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
index 759afe8f9..b32967539 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
index 759afe8f9..b32967539 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
index 759afe8f9..b32967539 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
index c989f270b..e8844981e 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
index 215f57483..e78761de6 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
index 215f57483..e78761de6 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
index c989f270b..e8844981e 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
index f1079749e..4d2726139 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
index 7a443cc01..b32d30b34 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
index 7a443cc01..b32d30b34 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt b/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
index 759afe8f9..b32967539 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
@@ -39,3 +39,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: NO
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt b/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
index fc0400dfd..a89d9b358 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
index fc0400dfd..a89d9b358 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -38,3 +38,8 @@ Checking whether blkcnt_t is 32 bit: NO
 Checking whether blkcnt_t is 64 bit: OK
 Checking whether fcntl lock supports open file description locks: OK
 Checking for a 64-bit host to support lmdb: OK
+Checking errno of iconv for illegal multibyte sequence: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: OK
+Checking value of GNUTLS_MAC_AES_CMAC_128: OK
+Checking whether fcntl supports flags to send direct I/O availability signals: NO
+Checking whether fcntl supports setting/geting hints: NO
diff --git a/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch b/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
deleted file mode 100644
index 00b692b58..000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 59f7098bfbd63f9b3c19d7d297a8f90870a1893d Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Mon, 31 May 2021 14:50:38 +0800
-Subject: [PATCH] samba: defeat iconv test
-
-A test was added when configuring samba which requires target code
-to be executed.  In general, this will not work, so we eliminate it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- lib/util/charset/wscript_configure | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/util/charset/wscript_configure b/lib/util/charset/wscript_configure
-index 9c27fc6..845eb36 100644
---- a/lib/util/charset/wscript_configure
-+++ b/lib/util/charset/wscript_configure
-@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'iconv', checklibc=False, headers='iconv.h
-     
-     conf.DEFINE('HAVE_NATIVE_ICONV', 1)
- 
-+"""
-+[added for 4.7.0, but breaks cross-compilation]
- conf.CHECK_CODE('''
-                 uint8_t inbuf[2] = { 0x30, 0xdf };
-                 uint8_t outbuf[4] = { 0 };
-@@ -36,6 +38,7 @@ conf.CHECK_CODE('''
-                 msg='Checking errno of iconv for illegal multibyte sequence',
-                 lib='iconv',
-                 headers='errno.h iconv.h')
-+"""
- 
- if conf.CHECK_CFG(package='icu-i18n',
-                args='--cflags --libs',
--- 
-2.17.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch b/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
deleted file mode 100644
index 0f843af20..000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a31a014c5d98501074fde1acb5c00162c927c361 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Mon, 31 May 2021 15:47:58 +0800
-Subject: [PATCH] wscript_configure_system_gnutls: disable check gnutls
- AES_CFB8/AES_CMAC
-
-The CHECK_VALUEOF() can not work on cross-compilation.
-
-Fixes configure error:
-  Checking value of GNUTLS_CIPHER_AES_128_CFB8: UNKNOWN
-  Checking value of GNUTLS_MAC_AES_CMAC_128: UNKNOWN
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- wscript_configure_system_gnutls | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/wscript_configure_system_gnutls b/wscript_configure_system_gnutls
-index 2ec217f..cd91b55 100644
---- a/wscript_configure_system_gnutls
-+++ b/wscript_configure_system_gnutls
-@@ -39,6 +39,7 @@ if (parse_version(gnutls_version) > parse_version('3.6.14')):
- if conf.CHECK_FUNCS_IN('gnutls_get_system_config_file', 'gnutls'):
-     conf.DEFINE('HAVE_GNUTLS_CRYPTO_POLICIES', 1)
- 
-+"""
- if conf.CHECK_VALUEOF('GNUTLS_CIPHER_AES_128_CFB8', headers='gnutls/gnutls.h'):
-     conf.DEFINE('HAVE_GNUTLS_AES_CFB8', 1)
- else:
-@@ -48,3 +49,4 @@ if conf.CHECK_VALUEOF('GNUTLS_MAC_AES_CMAC_128', headers='gnutls/gnutls.h'):
-     conf.DEFINE('HAVE_GNUTLS_AES_CMAC', 1)
- else:
-     Logs.warn('No gnutls support for AES CMAC')
-+"""
--- 
-2.17.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch b/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
deleted file mode 100644
index d4ceb5ce9..000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From ba6bc5459cf148dd617fd9cd38dd50c3a9b5d706 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Mon, 31 May 2021 15:50:48 +0800
-Subject: [PATCH] source3/wscript: disable check fcntl F_OWNER_EX
-
-It fails on cross-compilation.
-
-Fixes configure error:
-  Checking whether fcntl supports flags to send direct I/O availability signals: UNKNOWN
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- source3/wscript | 48 ------------------------------------------------
- 1 file changed, 48 deletions(-)
-
-diff --git a/source3/wscript b/source3/wscript
-index adc31ce..f6de0a6 100644
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1168,54 +1168,6 @@ err:
- #include <fcntl.h>
- #include <unistd.h>
- #include <stdlib.h>
--#include <sys/socket.h>
--
--int main(void)
--{
--        int sockfd, ret;
--        struct f_owner_ex owner, get_owner;
--
--        sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
--        if (sockfd == -1) {
--            goto err;
--        }
--
--        owner.type = F_OWNER_PID;
--        owner.pid = getpid();
--
--        ret = fcntl(sockfd, F_SETOWN_EX, &owner);
--        if (ret == -1) {
--            goto err;
--        }
--
--        ret = fcntl(sockfd, F_GETOWN_EX, &get_owner);
--        if (ret == -1) {
--            goto err;
--        }
--
--        if (get_owner.type != F_OWNER_PID) {
--            goto err;
--        }
--
--        if (get_owner.pid != getpid()) {
--            goto err;
--        }
--
--        close(sockfd);
--        exit(0);
--err:
--        close(sockfd);
--        exit(1);
--}''',
--            'HAVE_F_OWNER_EX',
--            addmain=False,
--            execute=True,
--            msg="Checking whether fcntl supports flags to send direct I/O availability signals")
--
--    conf.CHECK_CODE('''
--#include <fcntl.h>
--#include <unistd.h>
--#include <stdlib.h>
- #include <stdint.h>
- 
- #define DATA "hinttest.fcntl"
--- 
-2.17.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch b/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch
deleted file mode 100644
index a0b751034..000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 9942bca2e276c7b4c7696a08594258430c4c5bb5 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 3 Jun 2021 09:39:56 +0800
-Subject: [PATCH] source3/wscript: disable check fcntl RW_HINTS
-
-It fails on cross-compilation for musl.
-
-Fixes configure error:
-  Checking whether fcntl supports setting/geting hints: UNKNOWN
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- source3/wscript | 61 -------------------------------------------------
- 1 file changed, 61 deletions(-)
-
-diff --git a/source3/wscript b/source3/wscript
-index f6de0a6..3e260c1 100644
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1164,67 +1164,6 @@ err:
-             execute=True,
-             msg="Checking whether fcntl lock supports open file description locks")
- 
--    conf.CHECK_CODE('''
--#include <fcntl.h>
--#include <unistd.h>
--#include <stdlib.h>
--#include <stdint.h>
--
--#define DATA "hinttest.fcntl"
--
--int main(void)
--{
--        uint64_t hint, get_hint;
--        int fd;
--
--        fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL);
--        if (fd == -1) {
--            goto err;
--        }
--
--        hint = RWH_WRITE_LIFE_SHORT;
--        int ret = fcntl(fd, F_SET_RW_HINT, &hint);
--        if (ret == -1) {
--            goto err;
--        }
--
--        ret = fcntl(fd, F_GET_RW_HINT, &get_hint);
--        if (ret == -1) {
--            goto err;
--        }
--
--        if (get_hint != RWH_WRITE_LIFE_SHORT) {
--            goto err;
--        }
--
--        hint = RWH_WRITE_LIFE_EXTREME;
--        ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint);
--        if (ret == -1) {
--            goto err;
--        }
--
--        ret = fcntl(fd, F_GET_FILE_RW_HINT, &get_hint);
--        if (ret == -1) {
--            goto err;
--        }
--
--        if (get_hint != RWH_WRITE_LIFE_EXTREME) {
--            goto err;
--        }
--
--        close(fd);
--        unlink(DATA);
--        exit(0);
--err:
--        close(fd);
--        unlink(DATA);
--        exit(1);
--}''',
--            'HAVE_RW_HINTS',
--            addmain=False,
--            execute=True,
--            msg="Checking whether fcntl supports setting/geting hints")
--
-     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtim.tv_nsec',
-                                 define='HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC') # Linux, Solaris
-     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtimensec',
--- 
-2.17.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
index 0a5dbe9c9..d51ec54d5 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.14.10.bb
@@ -20,10 +20,6 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://0003-Add-config-option-without-valgrind.patch \
            file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
            file://0005-samba-build-dnsserver_common-code.patch \
-           file://0006-samba-defeat-iconv-test.patch \
-           file://0007-wscript_configure_system_gnutls-disable-check-gnutls.patch \
-           file://0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch \
-           file://0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch \
            file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
            "
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation
  2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
                   ` (5 preceding siblings ...)
  2021-11-25  2:44 ` [meta-networking][PATCH 7/7] samba: update cross-answers files Yi Zhao
@ 2021-11-25 17:30 ` Khem Raj
  2021-11-26  5:37   ` Yi Zhao
  6 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2021-11-25 17:30 UTC (permalink / raw)
  To: Yi Zhao, openembedded-devel



On 11/24/21 6:44 PM, Yi Zhao wrote:
> The pyext_PATTERN will add native arch as suffix when cross compiling.
> For example, on qemuarm64, it is expanded to:
> pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
> which will result in the incorrect library name.
> 
> root@qemuarm64:~# find /usr/lib -name \*talloc\*
> /usr/lib/pkgconfig/talloc.pc
> /usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
> /usr/lib/libtalloc.so.2
> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
> /usr/lib/libtalloc.so
> /usr/lib/libtalloc.so.2.3.3
> /usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so
> 
> Set pyext_PATTERN to '%s.so' to remove the suffix.
> After the patch:
> root@qemuarm64:~# find /usr/lib -name \*talloc\*
> /usr/lib/pkgconfig/talloc.pc
> /usr/lib/pkgconfig/pytalloc-util.pc
> /usr/lib/libpytalloc-util.so.2.3.3
> /usr/lib/libtalloc.so.2
> /usr/lib/libpytalloc-util.so.2
> /usr/lib/libpytalloc-util.so
> /usr/lib/libtalloc.so
> /usr/lib/libtalloc.so.2.3.3
> /usr/lib/python3.10/site-packages/talloc.so
> 

does it work well in multilib environment too ?

> Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> ---
>   ...-pyext_PATTERN-for-cross-compilation.patch | 57 +++++++++++++++++++
>   .../libtalloc/libtalloc_2.3.3.bb              |  1 +
>   2 files changed, 58 insertions(+)
>   create mode 100644 meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
> 
> diff --git a/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
> new file mode 100644
> index 000000000..47ee4bb24
> --- /dev/null
> +++ b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
> @@ -0,0 +1,57 @@
> +From b5eaeb7ed4e75012d2715f995e15a13850064f61 Mon Sep 17 00:00:00 2001
> +From: Yi Zhao <yi.zhao@windriver.com>
> +Date: Wed, 24 Nov 2021 13:33:35 +0800
> +Subject: [PATCH] Fix pyext_PATTERN for cross compilation
> +
> +The pyext_PATTERN will add native arch as suffix when cross compiling.
> +For example, on qemuarm64, it is expanded to:
> +pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
> +which will result in the incorrect library name.
> +
> +root@qemuarm64:~# find /usr/lib -name \*talloc\*
> +/usr/lib/pkgconfig/talloc.pc
> +/usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
> +/usr/lib/libtalloc.so.2
> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
> +/usr/lib/libtalloc.so
> +/usr/lib/libtalloc.so.2.3.3
> +/usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so
> +
> +Set pyext_PATTERN to '%s.so' to remove the suffix.
> +After the patch:
> +root@qemuarm64:~# find /usr/lib -name \*talloc\*
> +/usr/lib/pkgconfig/talloc.pc
> +/usr/lib/pkgconfig/pytalloc-util.pc
> +/usr/lib/libpytalloc-util.so.2.3.3
> +/usr/lib/libtalloc.so.2
> +/usr/lib/libpytalloc-util.so.2
> +/usr/lib/libpytalloc-util.so
> +/usr/lib/libtalloc.so
> +/usr/lib/libtalloc.so.2.3.3
> +/usr/lib/python3.10/site-packages/talloc.so
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +
> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> +---
> + third_party/waf/waflib/Tools/python.py | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py
> +index b1c8dd0..24faa31 100644
> +--- a/third_party/waf/waflib/Tools/python.py
> ++++ b/third_party/waf/waflib/Tools/python.py
> +@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed pyext'):
> + 	x = 'MACOSX_DEPLOYMENT_TARGET'
> + 	if dct[x]:
> + 		env[x] = conf.environ[x] = dct[x]
> +-	env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
> ++	env.pyext_PATTERN = '%s.so'
> +
> +
> + 	# Try to get pythonX.Y-config
> +--
> +2.17.1
> +
> diff --git a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
> index e6e2066a5..9b207609f 100644
> --- a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
> +++ b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
> @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6
>   
>   SRC_URI = "https://www.samba.org/ftp/talloc/talloc-${PV}.tar.gz \
>              file://options-2.2.0.patch \
> +           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
>   "
>   SRC_URI[sha256sum] = "6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa"
>   
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#94116): https://lists.openembedded.org/g/openembedded-devel/message/94116
> Mute This Topic: https://lists.openembedded.org/mt/87295464/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation
  2021-11-25 17:30 ` [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Khem Raj
@ 2021-11-26  5:37   ` Yi Zhao
  0 siblings, 0 replies; 9+ messages in thread
From: Yi Zhao @ 2021-11-26  5:37 UTC (permalink / raw)
  To: Khem Raj, openembedded-devel


On 11/26/21 1:30 AM, Khem Raj wrote:
>
>
> On 11/24/21 6:44 PM, Yi Zhao wrote:
>> The pyext_PATTERN will add native arch as suffix when cross compiling.
>> For example, on qemuarm64, it is expanded to:
>> pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
>> which will result in the incorrect library name.
>>
>> root@qemuarm64:~# find /usr/lib -name \*talloc\*
>> /usr/lib/pkgconfig/talloc.pc
>> /usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
>> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
>> /usr/lib/libtalloc.so.2
>> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
>> /usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
>> /usr/lib/libtalloc.so
>> /usr/lib/libtalloc.so.2.3.3
>> /usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so
>>
>> Set pyext_PATTERN to '%s.so' to remove the suffix.
>> After the patch:
>> root@qemuarm64:~# find /usr/lib -name \*talloc\*
>> /usr/lib/pkgconfig/talloc.pc
>> /usr/lib/pkgconfig/pytalloc-util.pc
>> /usr/lib/libpytalloc-util.so.2.3.3
>> /usr/lib/libtalloc.so.2
>> /usr/lib/libpytalloc-util.so.2
>> /usr/lib/libpytalloc-util.so
>> /usr/lib/libtalloc.so
>> /usr/lib/libtalloc.so.2.3.3
>> /usr/lib/python3.10/site-packages/talloc.so
>>
>
> does it work well in multilib environment too ?


Yes. It does.


//YI


>
>> Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>> ---
>>   ...-pyext_PATTERN-for-cross-compilation.patch | 57 +++++++++++++++++++
>>   .../libtalloc/libtalloc_2.3.3.bb              |  1 +
>>   2 files changed, 58 insertions(+)
>>   create mode 100644 
>> meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
>>
>> diff --git 
>> a/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch 
>> b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch 
>>
>> new file mode 100644
>> index 000000000..47ee4bb24
>> --- /dev/null
>> +++ 
>> b/meta-networking/recipes-support/libtalloc/libtalloc/0001-Fix-pyext_PATTERN-for-cross-compilation.patch
>> @@ -0,0 +1,57 @@
>> +From b5eaeb7ed4e75012d2715f995e15a13850064f61 Mon Sep 17 00:00:00 2001
>> +From: Yi Zhao <yi.zhao@windriver.com>
>> +Date: Wed, 24 Nov 2021 13:33:35 +0800
>> +Subject: [PATCH] Fix pyext_PATTERN for cross compilation
>> +
>> +The pyext_PATTERN will add native arch as suffix when cross compiling.
>> +For example, on qemuarm64, it is expanded to:
>> +pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so'
>> +which will result in the incorrect library name.
>> +
>> +root@qemuarm64:~# find /usr/lib -name \*talloc\*
>> +/usr/lib/pkgconfig/talloc.pc
>> +/usr/lib/pkgconfig/pytalloc-util.cpython-310-x86_64-linux-gnu.pc
>> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
>> +/usr/lib/libtalloc.so.2
>> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
>> +/usr/lib/libpytalloc-util.cpython-310-x86-64-linux-gnu.so
>> +/usr/lib/libtalloc.so
>> +/usr/lib/libtalloc.so.2.3.3
>> +/usr/lib/python3.10/site-packages/talloc.cpython-310-x86_64-linux-gnu.so 
>>
>> +
>> +Set pyext_PATTERN to '%s.so' to remove the suffix.
>> +After the patch:
>> +root@qemuarm64:~# find /usr/lib -name \*talloc\*
>> +/usr/lib/pkgconfig/talloc.pc
>> +/usr/lib/pkgconfig/pytalloc-util.pc
>> +/usr/lib/libpytalloc-util.so.2.3.3
>> +/usr/lib/libtalloc.so.2
>> +/usr/lib/libpytalloc-util.so.2
>> +/usr/lib/libpytalloc-util.so
>> +/usr/lib/libtalloc.so
>> +/usr/lib/libtalloc.so.2.3.3
>> +/usr/lib/python3.10/site-packages/talloc.so
>> +
>> +Upstream-Status: Inappropriate [embedded specific]
>> +
>> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>> +---
>> + third_party/waf/waflib/Tools/python.py | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/third_party/waf/waflib/Tools/python.py 
>> b/third_party/waf/waflib/Tools/python.py
>> +index b1c8dd0..24faa31 100644
>> +--- a/third_party/waf/waflib/Tools/python.py
>> ++++ b/third_party/waf/waflib/Tools/python.py
>> +@@ -328,7 +328,7 @@ def check_python_headers(conf, features='pyembed 
>> pyext'):
>> +     x = 'MACOSX_DEPLOYMENT_TARGET'
>> +     if dct[x]:
>> +         env[x] = conf.environ[x] = dct[x]
>> +-    env.pyext_PATTERN = '%s' + dct['SO'] # not a mistake
>> ++    env.pyext_PATTERN = '%s.so'
>> +
>> +
>> +     # Try to get pythonX.Y-config
>> +--
>> +2.17.1
>> +
>> diff --git 
>> a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb 
>> b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
>> index e6e2066a5..9b207609f 100644
>> --- a/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
>> +++ b/meta-networking/recipes-support/libtalloc/libtalloc_2.3.3.bb
>> @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = 
>> "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6
>>     SRC_URI = "https://www.samba.org/ftp/talloc/talloc-${PV}.tar.gz \
>>              file://options-2.2.0.patch \
>> + file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
>>   "
>>   SRC_URI[sha256sum] = 
>> "6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa"
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#94116): 
>> https://lists.openembedded.org/g/openembedded-devel/message/94116
>> Mute This Topic: https://lists.openembedded.org/mt/87295464/1997914
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: 
>> https://lists.openembedded.org/g/openembedded-devel/unsub 
>> [raj.khem@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-11-26  5:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-25  2:44 [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 2/7] libtdb: " Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 3/7] libtevent: " Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 4/7] libldb: " Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 5/7] samba: " Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 6/7] samba: add pyldb to rdepends for samba-python3 Yi Zhao
2021-11-25  2:44 ` [meta-networking][PATCH 7/7] samba: update cross-answers files Yi Zhao
2021-11-25 17:30 ` [oe] [meta-networking][PATCH 1/7] libtalloc: fix pyext_PATTERN for cross compilation Khem Raj
2021-11-26  5:37   ` Yi Zhao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.