All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf
@ 2019-07-02  1:58 changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 1/6 V2] waf-samba: switch to python3 changqing.li
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. refer below link:
https://github.com/samba-team/samba/commit/63d20d7822ead1626f7cb41fdbae6c9300893314#diff-ddc0f7d4ad007f8ee36297b5887dcd24
waf switch to default use python3, so switch waf-samba.bbclass to python3 
and also upgrade 5 recipes that use waf to switch to python3
2. After upgrade, waf have a bug when cross-compile, fix for all the recipe


Changqing Li (6):
  waf-samba: switch to python3
  libldb: upgrade 1.4.1 -> 1.5.4
  libtevent: upgrade 0.9.37 -> 0.10.0
  libtdb: upgrade 1.3.17 -> 1.4.0
  libtalloc: upgrade 2.1.14 -> 2.2.0
  samba: upgrade 4.8.12 -> 4.10.5

 meta-networking/classes/waf-samba.bbclass          |  6 +-
 .../waf-cross-answers/cross-answers-aarch64.txt    |  1 +
 .../waf-cross-answers/cross-answers-aarch64_be.txt |  1 +
 .../files/waf-cross-answers/cross-answers-arm.txt  |  1 +
 .../waf-cross-answers/cross-answers-armeb.txt      |  1 +
 .../files/waf-cross-answers/cross-answers-i586.txt |  1 +
 .../files/waf-cross-answers/cross-answers-i686.txt |  1 +
 .../files/waf-cross-answers/cross-answers-mips.txt |  1 +
 .../waf-cross-answers/cross-answers-mips64.txt     |  1 +
 .../waf-cross-answers/cross-answers-mips64el.txt   |  1 +
 .../waf-cross-answers/cross-answers-mipsel.txt     |  1 +
 .../waf-cross-answers/cross-answers-powerpc.txt    |  1 +
 .../waf-cross-answers/cross-answers-powerpc64.txt  |  1 +
 .../waf-cross-answers/cross-answers-riscv64.txt    |  1 +
 .../waf-cross-answers/cross-answers-x86_64.txt     |  1 +
 .../0001-samba-fix-musl-lib-without-innetgr.patch  | 42 +++++++++++
 .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
 ...-import-target-module-while-cross-compile.patch | 59 ++++++++-------
 .../21-add-config-option-without-valgrind.patch    | 48 +++++-------
 .../samba/samba/glibc_only.patch                   | 29 ++++++--
 .../samba/{samba_4.8.12.bb => samba_4.10.5.bb}     | 52 ++++++-------
 .../libldb/0001-libldb-fix-config-error.patch      | 87 ----------------------
 .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
 ...-import-target-module-while-cross-compile.patch | 56 +++++++-------
 .../{options-1.4.1.patch => options-1.5.4.patch}   | 67 +++++++----------
 .../libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb}    | 24 +++---
 .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
 .../{options-2.1.14.patch => options-2.2.0.patch}  | 47 ++++++------
 .../{libtalloc_2.1.14.bb => libtalloc_2.2.0.bb}    | 13 +++-
 ...akefile-fix-problem-that-waf-cannot-found.patch | 35 ---------
 .../libtdb/do-not-check-xsltproc-manpages.patch    | 15 ----
 .../tdb-Add-configure-options-for-packages.patch   | 33 ++++----
 .../libtdb/{libtdb_1.3.17.bb => libtdb_1.4.0.bb}   | 21 ++++--
 .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
 .../{options-0.9.36.patch => options-0.10.0.patch} | 62 +++++++--------
 .../{libtevent_0.9.37.bb => libtevent_0.10.0.bb}   | 26 +++++--
 36 files changed, 580 insertions(+), 404 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
 create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-connectivity/samba/{samba_4.8.12.bb => samba_4.10.5.bb} (89%)
 delete mode 100644 meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
 create mode 100644 meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libldb/libldb/{options-1.4.1.patch => options-1.5.4.patch} (79%)
 rename meta-networking/recipes-support/libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb} (79%)
 create mode 100644 meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libtalloc/libtalloc/{options-2.1.14.patch => options-2.2.0.patch} (87%)
 rename meta-networking/recipes-support/libtalloc/{libtalloc_2.1.14.bb => libtalloc_2.2.0.bb} (80%)
 delete mode 100644 meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
 delete mode 100644 meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
 rename meta-networking/recipes-support/libtdb/{libtdb_1.3.17.bb => libtdb_1.4.0.bb} (71%)
 create mode 100644 meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libtevent/libtevent/{options-0.9.36.patch => options-0.10.0.patch} (82%)
 rename meta-networking/recipes-support/libtevent/{libtevent_0.9.37.bb => libtevent_0.10.0.bb} (60%)

-- 
2.7.4



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

* [meta-networking][PATCH 1/6 V2] waf-samba: switch to python3
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
@ 2019-07-02  1:58 ` changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4 changqing.li
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

refer this link:
https://github.com/samba-team/samba/commit/63d20d7822ead1626f7cb41fdbae6c9300893314#diff-ddc0f7d4ad007f8ee36297b5887dcd24

waf will support python3 by default, so switch to python3

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta-networking/classes/waf-samba.bbclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-networking/classes/waf-samba.bbclass b/meta-networking/classes/waf-samba.bbclass
index 1632c3c..9c32952 100644
--- a/meta-networking/classes/waf-samba.bbclass
+++ b/meta-networking/classes/waf-samba.bbclass
@@ -1,9 +1,9 @@
 # waf is a build system which is used by samba related project.
 # Obtain details from https://wiki.samba.org/index.php/Waf
 #
-inherit qemu pythonnative
+inherit qemu python3native
 
-DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python"
+DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3"
 
 CONFIGUREOPTS = " --prefix=${prefix} \
                   --bindir=${bindir} \
@@ -111,7 +111,7 @@ do_configure() {
 
 do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
 do_compile () {
-    python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
+    python3 ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
 }
 
 do_install() {
-- 
2.7.4



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

* [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 1/6 V2] waf-samba: switch to python3 changqing.li
@ 2019-07-02  1:58 ` changqing.li
  2019-07-09 18:16   ` Khem Raj
  2019-07-02  1:58 ` [meta-networking][PATCH 3/6 V2] libtevent: upgrade 0.9.37 -> 0.10.0 changqing.li
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. switch to python3
2. add cross-answer for lmdb check, so remove patch 0001-libldb-fix-config-error
3. fix cross-compile problem caused by waf
4. refresh patch

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../waf-cross-answers/cross-answers-aarch64.txt    |  1 +
 .../waf-cross-answers/cross-answers-aarch64_be.txt |  1 +
 .../files/waf-cross-answers/cross-answers-arm.txt  |  1 +
 .../waf-cross-answers/cross-answers-armeb.txt      |  1 +
 .../files/waf-cross-answers/cross-answers-i586.txt |  1 +
 .../files/waf-cross-answers/cross-answers-i686.txt |  1 +
 .../files/waf-cross-answers/cross-answers-mips.txt |  1 +
 .../waf-cross-answers/cross-answers-mips64.txt     |  1 +
 .../waf-cross-answers/cross-answers-mips64el.txt   |  1 +
 .../waf-cross-answers/cross-answers-mipsel.txt     |  1 +
 .../waf-cross-answers/cross-answers-powerpc.txt    |  1 +
 .../waf-cross-answers/cross-answers-powerpc64.txt  |  1 +
 .../waf-cross-answers/cross-answers-riscv64.txt    |  1 +
 .../waf-cross-answers/cross-answers-x86_64.txt     |  1 +
 .../libldb/0001-libldb-fix-config-error.patch      | 87 ----------------------
 .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
 ...-import-target-module-while-cross-compile.patch | 56 +++++++-------
 .../{options-1.4.1.patch => options-1.5.4.patch}   | 67 +++++++----------
 .../libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb}    | 24 +++---
 19 files changed, 144 insertions(+), 166 deletions(-)
 delete mode 100644 meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
 create mode 100644 meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libldb/libldb/{options-1.4.1.patch => options-1.5.4.patch} (79%)
 rename meta-networking/recipes-support/libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb} (79%)

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 1023f6a..fc0400d 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
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 1023f6a..fc0400d 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
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
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 a5cd998..759afe8 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 a5cd998..759afe8 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 a5cd998..759afe8 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 a5cd998..759afe8 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 3e239e7..c989f27 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 82e694f..215f574 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
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 82e694f..215f574 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
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 3e239e7..c989f27 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 27b9378..f107974 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 7fd3092..7a443cc 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
 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
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 1023f6a..fc0400d 100644
--- a/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
+++ b/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
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 1023f6a..fc0400d 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
@@ -37,3 +37,4 @@ Checking for small off_t: NO
 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
diff --git a/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch b/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
deleted file mode 100644
index 5818d57..0000000
--- a/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From bc4ff7e37ce120c257e52a81fe3475499dfd2573 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 10:10:24 +0800
-Subject: [PATCH] libldb: fix config error
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- wscript | 58 +++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/wscript b/wscript
-index b0af7b6..8ad9f96 100644
---- a/wscript
-+++ b/wscript
-@@ -115,40 +115,40 @@ def configure(conf):
-                                              onlyif='talloc tdb tevent pyldb-util',
-                                              implied_deps='replace talloc tdb tevent'):
-                 conf.define('USING_SYSTEM_LDB', 1)
-+    if not Options.options.without_ldb_lmdb:
-+        if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
-+                               "HAVE_64_BIT_SIZE_T_FOR_LMDB",
-+                               execute=True,
-+                               msg='Checking for a 64-bit host to '
-+                               'support lmdb'):
-+            Logs.warn("--without-ldb-lmdb implied as this "
-+                      "host is not 64-bit")
-+
-+            if not conf.env.standalone_ldb and \
-+               not Options.options.without_ad_dc and \
-+               conf.CONFIG_GET('ENABLE_SELFTEST'):
-+                Logs.warn("NOTE: Some AD DC parts of selftest will fail")
- 
--    if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
--                           "HAVE_64_BIT_SIZE_T_FOR_LMDB",
--                           execute=True,
--                           msg='Checking for a 64-bit host to '
--                           'support lmdb'):
--        Logs.warn("--without-ldb-lmdb implied as this "
--                  "host is not 64-bit")
--
--        if not conf.env.standalone_ldb and \
--           not Options.options.without_ad_dc and \
--           conf.CONFIG_GET('ENABLE_SELFTEST'):
--            Logs.warn("NOTE: Some AD DC parts of selftest will fail")
--
--        conf.env.REQUIRE_LMDB = False
--    else:
--        if conf.env.standalone_ldb:
--            if Options.options.without_ldb_lmdb:
--                conf.env.REQUIRE_LMDB = False
--            else:
--                conf.env.REQUIRE_LMDB = True
--        elif Options.options.without_ad_dc:
-             conf.env.REQUIRE_LMDB = False
-         else:
--            if Options.options.without_ldb_lmdb:
--                if not Options.options.without_ad_dc and \
--                   conf.CONFIG_GET('ENABLE_SELFTEST'):
--                    raise Utils.WafError('--without-ldb-lmdb conflicts '
--                                         'with --enable-selftest while '
--                                         'building the AD DC')
--
-+            if conf.env.standalone_ldb:
-+                if Options.options.without_ldb_lmdb:
-+                    conf.env.REQUIRE_LMDB = False
-+                else:
-+                    conf.env.REQUIRE_LMDB = True
-+            elif Options.options.without_ad_dc:
-                 conf.env.REQUIRE_LMDB = False
-             else:
--                conf.env.REQUIRE_LMDB = True
-+                if Options.options.without_ldb_lmdb:
-+                    if not Options.options.without_ad_dc and \
-+                       conf.CONFIG_GET('ENABLE_SELFTEST'):
-+                        raise Utils.WafError('--without-ldb-lmdb conflicts '
-+                                             'with --enable-selftest while '
-+                                             'building the AD DC')
-+
-+                    conf.env.REQUIRE_LMDB = False
-+                else:
-+                    conf.env.REQUIRE_LMDB = True
- 
- 
-     if conf.CONFIG_SET('USING_SYSTEM_LDB'):
--- 
-2.7.4
-
diff --git a/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 0000000..45c5aca
--- /dev/null
+++ b/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf build system also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+    args = Utils.to_list(kw.get('exec_args', []))
+    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ 	"""
+ 	color = 'PINK'
+ 	def run(self):
++		args = self.generator.bld.kw.get('exec_args', [])
+ 		if getattr(self.generator, 'rpath', None):
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+-			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++			else: 
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ 		else:
+ 			env = self.env.env or {}
+ 			env.update(dict(os.environ))
+ 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ 			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+ 
+ @feature('test_exec')
+ @after_method('apply_link')
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
index ee4936a..3f2921e 100644
--- a/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
+++ b/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
@@ -1,30 +1,32 @@
-From f4cda3a71311e4496b725bc5f46af93413ec7a1c Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Fri, 17 Jul 2015 11:58:49 +0800
-Subject: [PATCH] libldb: add new recipe
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
 
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
 
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- buildtools/wafsamba/samba_bundled.py | 32 ++++++++++++++++++++++++--------
- 1 file changed, 24 insertions(+), 8 deletions(-)
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
 
 diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 253d604..398cc6a 100644
+index 60ce7da..5468a36 100644
 --- a/buildtools/wafsamba/samba_bundled.py
 +++ b/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
  
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
- 
-@@ -249,17 +250,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+     '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
      # versions
      minversion = minimum_library_version(conf, libname, minversion)
  
@@ -34,34 +36,32 @@ index 253d604..398cc6a 100644
 -        found = False
 -    else:
 +    # Find module in PYTHONPATH
-+    stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+    if stuff:
++    spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++    if spec:
          try:
 -            version = m.__version__
 -        except AttributeError:
-+            m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++            module = importlib.util.module_from_spec(spec)
++            spec.loader.load_module(module)
 +        except ImportError:
              found = False
 +
 +            if conf.env.CROSS_COMPILE:
 +                # Some modules such as dynamic library maybe cann't be imported
 +                # while cross compile, we just check whether the module exist
-+                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
 +                found = True
          else:
 -            found = tuplize_version(version) >= tuplize_version(minversion)
 +            try:
-+                version = m.__version__
++                version = module.__version__
 +            except AttributeError:
 +                found = False
 +            else:
 +                found = tuplize_version(version) >= tuplize_version(minversion)
-+        finally:
-+            if stuff[0]:
-+                stuff[0].close()
-+    else:
-+        found = False
-+
      if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
          Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
          sys.exit(1)
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch b/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
similarity index 79%
rename from meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
rename to meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
index 357afbe..bffd065 100644
--- a/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
+++ b/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
@@ -1,6 +1,6 @@
-From ffffd29bc6303d60b3d77048fbbf6776f6fbbe01 Mon Sep 17 00:00:00 2001
+From 0841c3ed69c388251c1aeae63f2c3813555a54f6 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 19 Jul 2018 16:40:31 +0800
+Date: Mon, 1 Jul 2019 16:14:16 +0800
 Subject: [PATCH] ldb: Add configure options for packages
 
 Add configure options for the following packages:
@@ -15,27 +15,22 @@ Upstream-Status: Inappropriate [oe deterministic build specific]
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 
-Update to version 1.4.1, and fix one configure error
-
-Cross answers file cross-answers-i586.txt is incomplete with 
-"Checking for a 64-bit host to support lmdb: UNKNOWN"
-
-we don't support lmdb, so only check when lmdb is support
-
+upgrade to version 1.5.4
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript             |  6 ++++
- 2 files changed, 77 insertions(+), 23 deletions(-)
+ lib/replace/wscript | 92 +++++++++++++++++++++++++++++++++++++++++------------
+ wscript             |  8 +++++
+ 2 files changed, 79 insertions(+), 21 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..434192e 100644
+index a7fd25d..ad26041 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
+@@ -24,6 +24,41 @@ def options(opt):
+     opt.BUILTIN_DEFAULT('NONE')
      opt.PRIVATE_EXTENSION_DEFAULT('')
      opt.RECURSE('buildtools/wafsamba')
- 
++    
 +    opt.add_option('--with-acl',
 +                   help=("Enable use of acl"),
 +                   action="store_true", dest='enable_acl')
@@ -70,11 +65,10 @@ index fd00a42..434192e 100644
 +    opt.add_option('--without-libcap',
 +                   help=("Disable use of libcap"),
 +                   action="store_false", dest='enable_libcap', default=False)
-+
+ 
  @Utils.run_once
  def configure(conf):
-     conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
+@@ -34,12 +69,25 @@ def configure(conf):
      conf.DEFINE('HAVE_LIBREPLACE', 1)
      conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
  
@@ -105,23 +99,22 @@ index fd00a42..434192e 100644
      conf.CHECK_HEADERS('port.h')
      conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
      conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
+@@ -110,8 +158,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
 +    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -340,22 +390,20 @@ def configure(conf):
+@@ -380,20 +429,21 @@ def configure(conf):
  
-     conf.CHECK_FUNCS('prctl dirname basename')
+     strlcpy_in_bsd = False
  
--    strlcpy_in_bsd = False
--
 -    # libbsd on some platforms provides strlcpy and strlcat
 -    if not conf.CHECK_FUNCS('strlcpy strlcat'):
 -        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
@@ -136,11 +129,12 @@ index fd00a42..434192e 100644
 -
 -    if not conf.CHECK_FUNCS('closefrom'):
 -        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+    if Options.options.enable_libbsd:
++    if Options.options.enable_libbsd: 
 +        # libbsd on some platforms provides strlcpy and strlcat
 +        if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+                    checklibc=True)
++            if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++                                   checklibc=True):
++                strlcpy_in_bsd = True
 +        if not conf.CHECK_FUNCS('getpeereid'):
 +            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
 +        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
@@ -153,20 +147,11 @@ index fd00a42..434192e 100644
  
      conf.CHECK_CODE('''
                  struct ucred cred;
-@@ -699,7 +747,7 @@ def configure(conf):
-     # look for a method of finding the list of network interfaces
-     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
-         bsd_for_strlcpy = ''
--        if strlcpy_in_bsd:
-+        if Options.options.enable_libbsd:
-             bsd_for_strlcpy = ' bsd'
-         if conf.CHECK_CODE('''
-                            #define %s 1
 diff --git a/wscript b/wscript
-index ad91bc6..2d20fee 100644
+index d3402a7..d4e0ce1 100644
 --- a/wscript
 +++ b/wscript
-@@ -36,6 +36,12 @@ def set_options(opt):
+@@ -38,6 +38,14 @@ def options(opt):
                     help='disable new LMDB backend for LDB',
                     action='store_true', dest='without_ldb_lmdb', default=False)
  
@@ -176,6 +161,8 @@ index ad91bc6..2d20fee 100644
 +    opt.add_option('--without-valgrind',
 +                   help=("disable use of valgrind"),
 +                   action="store_false", dest='enable_valgrind', default=False)
++
++
  
  def configure(conf):
      conf.RECURSE('lib/tdb')
diff --git a/meta-networking/recipes-support/libldb/libldb_1.4.1.bb b/meta-networking/recipes-support/libldb/libldb_1.5.4.bb
similarity index 79%
rename from meta-networking/recipes-support/libldb/libldb_1.4.1.bb
rename to meta-networking/recipes-support/libldb/libldb_1.5.4.bb
index f3608c6..65a6431 100644
--- a/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
+++ b/meta-networking/recipes-support/libldb/libldb_1.5.4.bb
@@ -4,16 +4,14 @@ SECTION = "libs"
 LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
 
 DEPENDS += "libtdb libtalloc libtevent popt"
-RDEPENDS_pyldb += "python samba"
-RCONFLICTS_${PN} = "samba"
-RCONFLICTS_pyldb = "samba-python"
+RDEPENDS_pyldb += "python3"
 
 SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
            file://do-not-import-target-module-while-cross-compile.patch \
-           file://options-1.4.1.patch \
-           file://0001-libldb-fix-config-error.patch \
            file://libldb-fix-musl-libc-unkown-type-error.patch \
            file://libldb-fix-musl-libc-conflict-type-error.patch \
+           file://0001-waf-add-support-of-cross_compile.patch \
+           file://options-1.5.4.patch \ 
           "
 
 PACKAGECONFIG ??= "\
@@ -27,6 +25,7 @@ PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
 PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
 PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
 PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
 
 SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
 
@@ -34,14 +33,18 @@ LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9ada
                     file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
                     file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
 
-SRC_URI[md5sum] = "159a1b1a56dcccf410d1bba911be6076"
-SRC_URI[sha256sum] = "2df13aa25b376b314ce24182c37691959019523de3cc5356c40c1a333b0890a2"
+SRC_URI[md5sum] = "24d9f18b085ba27f96d4dec643abea39"
+SRC_URI[sha256sum] = "db5beea64e305ef002a28fc6b6ca8e42b5fbee268bd713ff41e76c56a0a071d3"
 
 inherit waf-samba distro_features_check
 REQUIRED_DISTRO_FEATURES = "pam"
 
 S = "${WORKDIR}/ldb-${PV}"
 
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
 EXTRA_OECONF += "--disable-rpath \
                  --disable-rpath-install \
                  --bundled-libraries=cmocka \
@@ -49,7 +52,6 @@ EXTRA_OECONF += "--disable-rpath \
                  --with-modulesdir=${libdir}/ldb/modules \
                  --with-privatelibdir=${libdir}/ldb \
                  --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                 --without-ldb-lmdb \
                 "
 
 PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
@@ -63,8 +65,8 @@ FILES_${PN}-dbg += "${bindir}/.debug/* \
                     ${libdir}/ldb/modules/ldb/.debug/*"
 
 FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
-               ${libdir}/libpyldb-util.so.* \
+               ${libdir}/libpyldb-util.*.so.* \
               "
 FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
-                   ${libdir}/.debug/libpyldb-util.so.*"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
+                   ${libdir}/.debug/libpyldb-util.*.so.*"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.*.so"
-- 
2.7.4



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

* [meta-networking][PATCH 3/6 V2] libtevent: upgrade 0.9.37 -> 0.10.0
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 1/6 V2] waf-samba: switch to python3 changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4 changqing.li
@ 2019-07-02  1:58 ` changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 4/6 V2] libtdb: upgrade 1.3.17 -> 1.4.0 changqing.li
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. switch to python3
2. fix cross-compile problem caused by waf
3. refresh patch

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../0001-waf-add-support-of-cross_compile.patch    | 62 ++++++++++++++++++++++
 .../{options-0.9.36.patch => options-0.10.0.patch} | 62 ++++++++++------------
 .../{libtevent_0.9.37.bb => libtevent_0.10.0.bb}   | 26 ++++++---
 3 files changed, 109 insertions(+), 41 deletions(-)
 create mode 100644 meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libtevent/libtevent/{options-0.9.36.patch => options-0.10.0.patch} (82%)
 rename meta-networking/recipes-support/libtevent/{libtevent_0.9.37.bb => libtevent_0.10.0.bb} (60%)

diff --git a/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 0000000..a717f1b
--- /dev/null
+++ b/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+    args = Utils.to_list(kw.get('exec_args', []))
+    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ 	"""
+ 	color = 'PINK'
+ 	def run(self):
++		args = self.generator.bld.kw.get('exec_args', [])
+ 		if getattr(self.generator, 'rpath', None):
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+-			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++			else: 
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ 		else:
+ 			env = self.env.env or {}
+ 			env.update(dict(os.environ))
+ 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ 			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+ 
+ @feature('test_exec')
+ @after_method('apply_link')
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch b/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
similarity index 82%
rename from meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
rename to meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
index 363c586..882af06 100644
--- a/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
+++ b/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
@@ -1,7 +1,7 @@
-From c3e2e4f89cf37b27609fd02ad67eb02d0015cc1e Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 09:57:49 +0800
-Subject: [PATCH 1/1] tevent: Add configure options for packages
+From b2b19aa9968258b22cf31db0b9dba6bcf96046cf Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 13:55:44 +0800
+Subject: [PATCH] Add configure options for packages
 
 Add configure options for the following packages:
  - acl
@@ -18,16 +18,19 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 Modified to apply to version 0.9.33.
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Update patch to version 0.10.0
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript             |  7 ++++-
- 2 files changed, 73 insertions(+), 23 deletions(-)
+ wscript             |  6 ++++
+ 2 files changed, 74 insertions(+), 21 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 2c638b7..079761d 100644
+index 1d01e1e..5cf444a 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
+@@ -25,6 +25,41 @@ def options(opt):
      opt.PRIVATE_EXTENSION_DEFAULT('')
      opt.RECURSE('buildtools/wafsamba')
  
@@ -69,7 +72,7 @@ index 2c638b7..079761d 100644
  @Utils.run_once
  def configure(conf):
      conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
+@@ -34,12 +69,25 @@ def configure(conf):
      conf.DEFINE('HAVE_LIBREPLACE', 1)
      conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
  
@@ -98,24 +101,24 @@ index 2c638b7..079761d 100644
 +        conf.CHECK_HEADERS('sys/capability.h')
 +
      conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
      conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -101,7 +149,8 @@ def configure(conf):
+@@ -110,8 +158,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
 +    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -294,22 +343,18 @@ def configure(conf):
+@@ -380,20 +429,18 @@ def configure(conf):
  
-     conf.CHECK_FUNCS('prctl dirname basename')
+     strlcpy_in_bsd = False
  
--    strlcpy_in_bsd = False
--
 -    # libbsd on some platforms provides strlcpy and strlcat
 -    if not conf.CHECK_FUNCS('strlcpy strlcat'):
 -        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
@@ -127,6 +130,9 @@ index 2c638b7..079761d 100644
 -        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
 -    if not conf.CHECK_FUNCS('setproctitle_init'):
 -        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+-    if not conf.CHECK_FUNCS('closefrom'):
+-        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
 +    if Options.options.enable_libbsd:
 +        # libbsd on some platforms provides strlcpy and strlcat
 +        if not conf.CHECK_FUNCS('strlcpy strlcat'):
@@ -136,32 +142,20 @@ index 2c638b7..079761d 100644
 +            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
 +        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
 +            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
- 
--    if not conf.CHECK_FUNCS('closefrom'):
--        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++
 +        if not conf.CHECK_FUNCS('closefrom'):
 +            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
  
      conf.CHECK_CODE('''
                  struct ucred cred;
-@@ -660,7 +705,7 @@ removeea setea
-     # look for a method of finding the list of network interfaces
-     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
-         bsd_for_strlcpy = ''
--        if strlcpy_in_bsd:
-+        if Options.options.enable_libbsd:
-             bsd_for_strlcpy = ' bsd'
-         if conf.CHECK_CODE('''
-                            #define %s 1
 diff --git a/wscript b/wscript
-index 94d190f..742f779 100644
+index ded182a..824a6dd 100644
 --- a/wscript
 +++ b/wscript
-@@ -22,7 +22,12 @@ def set_options(opt):
-     opt.PRIVATE_EXTENSION_DEFAULT('tevent', noextension='tevent')
+@@ -25,6 +25,12 @@ def options(opt):
      opt.RECURSE('lib/replace')
      opt.RECURSE('lib/talloc')
--
+ 
 +    opt.add_option('--with-valgrind',
 +                   help=("enable use of valgrind"),
 +                   action="store_true", dest='enable_valgrind')
@@ -172,5 +166,5 @@ index 94d190f..742f779 100644
  def configure(conf):
      conf.RECURSE('lib/replace')
 -- 
-2.16.2
+2.7.4
 
diff --git a/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb b/meta-networking/recipes-support/libtevent/libtevent_0.10.0.bb
similarity index 60%
rename from meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
rename to meta-networking/recipes-support/libtevent/libtevent_0.10.0.bb
index 4df251c..25ad7c1 100644
--- a/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
+++ b/meta-networking/recipes-support/libtevent/libtevent_0.10.0.bb
@@ -4,16 +4,17 @@ SECTION = "libs"
 LICENSE = "LGPLv3+"
 
 DEPENDS += "libtalloc libtirpc"
-RDEPENDS_python-tevent = "python"
+RDEPENDS_python3-tevent = "python3"
 
 SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
-           file://options-0.9.36.patch \
+           file://options-0.10.0.patch \
            file://0001-libtevent-fix-musl-libc-compile-error.patch \
+           file://0001-waf-add-support-of-cross_compile.patch \
 "
 LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
 
-SRC_URI[md5sum] = "6859cd4081fdb2a76b1cb4bf1c803a59"
-SRC_URI[sha256sum] = "168345ed65eac03785cf77b95238e7dc66cbb473a42811693a6b0916e5dae7e0"
+SRC_URI[md5sum] = "97ea9861252e52c24adf6c45ab676a60"
+SRC_URI[sha256sum] = "33f39612cd6d1ae6a737245784581494846f5bb07827983d2f41f942446aa4e6"
 
 inherit waf-samba
 
@@ -32,15 +33,26 @@ SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr
 
 S = "${WORKDIR}/tevent-${PV}"
 
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
 EXTRA_OECONF += "--disable-rpath \
                  --bundled-libraries=NONE \
                  --builtin-libraries=replace \
                  --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"
 
-PACKAGES += "python-tevent"
+RPROVIDES_${PN}-dbg += "python3-tevent-dbg"
 
-RPROVIDES_${PN}-dbg += "python-tevent-dbg"
+FILES_python3-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
 
-FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+INSANE_SKIP_python3-tevent = "dev-so"
-- 
2.7.4



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

* [meta-networking][PATCH 4/6 V2] libtdb: upgrade 1.3.17 -> 1.4.0
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
                   ` (2 preceding siblings ...)
  2019-07-02  1:58 ` [meta-networking][PATCH 3/6 V2] libtevent: upgrade 0.9.37 -> 0.10.0 changqing.li
@ 2019-07-02  1:58 ` changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 5/6 V2] libtalloc: upgrade 2.1.14 -> 2.2.0 changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 6/6 V2] samba: upgrade 4.8.12 -> 4.10.5 changqing.li
  5 siblings, 0 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. switch to python3
2. fix cross-compile problem caused by waf
3. refresh patches

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 ...akefile-fix-problem-that-waf-cannot-found.patch | 35 ----------------------
 .../libtdb/do-not-check-xsltproc-manpages.patch    | 15 ----------
 .../tdb-Add-configure-options-for-packages.patch   | 33 ++++++++------------
 .../libtdb/{libtdb_1.3.17.bb => libtdb_1.4.0.bb}   | 21 ++++++++-----
 4 files changed, 26 insertions(+), 78 deletions(-)
 delete mode 100644 meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
 delete mode 100644 meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
 rename meta-networking/recipes-support/libtdb/{libtdb_1.3.17.bb => libtdb_1.4.0.bb} (71%)

diff --git a/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch b/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
deleted file mode 100644
index 10f2ef8..0000000
--- a/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7205761d654636a6c1fad03a3ca40d38e253e192 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 25 Jan 2019 16:01:07 +0800
-Subject: [PATCH] Makefile: fix problem that waf cannot found
-
-tdb is subfolder of samba, but it can also build independently.
-so both path need to be added into PATH
-
-Upsteam-Status: Inappropriate [oe specific]
-
-Fix reject by upstream since upsteam need to support both python2/3,
-so drop add append PATH. refer link:
-https://gitlab.com/samba-team/samba/merge_requests/209
-https://gitlab.com/samba-team/samba/merge_requests/211
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 3e70146..64bb393 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,6 @@
- # simple makefile wrapper to run waf
- 
--WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-+WAF_BINARY=PATH=buildtools/bin:../../buildtools/bin:$$PATH waf
- WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
- 
- all:
--- 
-2.7.4
-
diff --git a/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
deleted file mode 100644
index bcc45c9..0000000
--- a/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Don't check manpages for xsltproc.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
---- tdb-1.3.0.orig/wscript	2015-04-22 09:52:32.366000222 +0900
-+++ tdb-1.3.0/wscript	2015-04-22 09:51:57.720000205 +0900
-@@ -90,7 +90,7 @@ def configure(conf):
-         not conf.env.disable_tdb_mutex_locking):
-         conf.define('USE_TDB_MUTEX_LOCKING', 1)
- 
--    conf.CHECK_XSLTPROC_MANPAGES()
-+    conf.find_program('xsltproc', var='XSLTPROC')
- 
-     if not conf.env.disable_python:
-         # also disable if we don't have the python libs installed
diff --git a/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
index e6e1023..481fd68 100644
--- a/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
+++ b/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
@@ -1,6 +1,6 @@
-From 13bbc851d9fd7396f087758e614abba60eeb2aad Mon Sep 17 00:00:00 2001
+From 71a10c176c34da898c0169371b3c1b032d2f88b1 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 23 Jan 2019 10:14:05 +0800
+Date: Wed, 19 Jun 2019 17:53:34 +0800
 Subject: [PATCH] tdb: Add configure options for packages
 
 Add configure options for the following packages:
@@ -15,22 +15,16 @@ Upstream-Status: Inappropriate [oe deterministic build specific]
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 
-Update for libtdb_1.3.14.
+Update to 1.4.0
 
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-
-Update for libtdb_1.3.16
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Update for libtdb_1.3.17
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- lib/replace/wscript | 95 ++++++++++++++++++++++++++++++++++++++++-------------
+ lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
  wscript             |  6 ++++
- 2 files changed, 79 insertions(+), 22 deletions(-)
+ 2 files changed, 78 insertions(+), 22 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 6cbae93..7aeaf46 100644
+index 1d01e1e..2336dc3 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
 @@ -25,6 +25,41 @@ def options(opt):
@@ -104,26 +98,26 @@ index 6cbae93..7aeaf46 100644
 +        conf.CHECK_HEADERS('sys/capability.h')
 +
      conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
      conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -110,8 +158,10 @@ def configure(conf):
+@@ -110,9 +158,10 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
 -    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
 -    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+-    conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
 +    if Options.options.enable_valgrind:
 +        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
 +        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
 +
-     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -379,21 +429,22 @@ def configure(conf):
-     conf.CHECK_FUNCS('prctl dirname basename')
+     conf.CHECK_HEADERS('syscall.h sys/syscall.h inttypes.h')
+@@ -380,20 +429,21 @@ def configure(conf):
  
      strlcpy_in_bsd = False
--
+ 
 -    # libbsd on some platforms provides strlcpy and strlcat
 -    if not conf.CHECK_FUNCS('strlcpy strlcat'):
 -        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
@@ -138,7 +132,6 @@ index 6cbae93..7aeaf46 100644
 -
 -    if not conf.CHECK_FUNCS('closefrom'):
 -        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+    
 +    if Options.options.enable_libbsd:
 +        # libbsd on some platforms provides strlcpy and strlcat
 +        if not conf.CHECK_FUNCS('strlcpy strlcat'):
@@ -158,7 +151,7 @@ index 6cbae93..7aeaf46 100644
      conf.CHECK_CODE('''
                  struct ucred cred;
 diff --git a/wscript b/wscript
-index bc5ee26..9ac10b6 100644
+index 5598d02..8d47244 100644
 --- a/wscript
 +++ b/wscript
 @@ -69,6 +69,12 @@ def options(opt):
diff --git a/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb b/meta-networking/recipes-support/libtdb/libtdb_1.4.0.bb
similarity index 71%
rename from meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
rename to meta-networking/recipes-support/libtdb/libtdb_1.4.0.bb
index 4c7755c..acc94d9 100644
--- a/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
+++ b/meta-networking/recipes-support/libtdb/libtdb_1.4.0.bb
@@ -7,14 +7,12 @@ LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c
                     file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
 
 SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
-           file://do-not-check-xsltproc-manpages.patch \
            file://tdb-Add-configure-options-for-packages.patch \
            file://0001-waf-add-support-of-cross_compile.patch \
-           file://0001-Makefile-fix-problem-that-waf-cannot-found.patch \
 "
 
-SRC_URI[md5sum] = "519d373ac72a66b0a2739dbb495de127"
-SRC_URI[sha256sum] = "1cb4399394c60a773430ca54848359adcf54fb6f136afdcfcbbe62b5f4245614"
+SRC_URI[md5sum] = "c4c2f8cf9e691244a7f2ecfa3baadecc"
+SRC_URI[sha256sum] = "c1a0729c5400fb495465fa4bd953ae290db43c28dacd0506aef50dc482132d35"
 
 PACKAGECONFIG ??= "\
     ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
@@ -42,11 +40,18 @@ EXTRA_OECONF += "--disable-rpath \
                  --with-libiconv=${STAGING_DIR_HOST}${prefix}\
                 "
 
-PACKAGES += "tdb-tools python-tdb"
+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
+}
 
-RPROVIDES_${PN}-dbg += "python-tdb-dbg"
+PACKAGES += "tdb-tools python3-tdb"
+
+RPROVIDES_${PN}-dbg += "python3-tdb-dbg"
 
 FILES_${PN} = "${libdir}/*.so.*"
 FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_python-tdb = "python"
+FILES_python3-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+RDEPENDS_python3-tdb = "python3"
+INSANE_SKIP_python3-tdb = "dev-so"
-- 
2.7.4



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

* [meta-networking][PATCH 5/6 V2] libtalloc: upgrade 2.1.14 -> 2.2.0
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
                   ` (3 preceding siblings ...)
  2019-07-02  1:58 ` [meta-networking][PATCH 4/6 V2] libtdb: upgrade 1.3.17 -> 1.4.0 changqing.li
@ 2019-07-02  1:58 ` changqing.li
  2019-07-02  1:58 ` [meta-networking][PATCH 6/6 V2] samba: upgrade 4.8.12 -> 4.10.5 changqing.li
  5 siblings, 0 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. switch to python3
2. fix cross-compile prolem caused by waf
3. refresh patch

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../0001-waf-add-support-of-cross_compile.patch    | 62 ++++++++++++++++++++++
 .../{options-2.1.14.patch => options-2.2.0.patch}  | 47 ++++++++--------
 .../{libtalloc_2.1.14.bb => libtalloc_2.2.0.bb}    | 13 +++--
 3 files changed, 95 insertions(+), 27 deletions(-)
 create mode 100644 meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-support/libtalloc/libtalloc/{options-2.1.14.patch => options-2.2.0.patch} (87%)
 rename meta-networking/recipes-support/libtalloc/{libtalloc_2.1.14.bb => libtalloc_2.2.0.bb} (80%)

diff --git a/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 0000000..e58339a
--- /dev/null
+++ b/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+    args = Utils.to_list(kw.get('exec_args', []))
+    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ 	"""
+ 	color = 'PINK'
+ 	def run(self):
++		args = self.generator.bld.kw.get('exec_args', [])
+ 		if getattr(self.generator, 'rpath', None):
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+-			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++			else: 
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ 		else:
+ 			env = self.env.env or {}
+ 			env.update(dict(os.environ))
+ 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ 			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+ 
+ @feature('test_exec')
+ @after_method('apply_link')
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch b/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
similarity index 87%
rename from meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
rename to meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
index df45d36..3847b01 100644
--- a/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
+++ b/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
@@ -1,6 +1,6 @@
-From 319a2a1bb46ae35fa9d66878cb08285035f0bd5f Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 19 Jul 2018 15:41:31 +0800
+From c6d76c8ade57b996a8123b1c1a3a28ba4666e9c6 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 10:57:06 +0800
 Subject: [PATCH] talloc: Add configure options for packages
 
 Add configure options for the following packages:
@@ -19,22 +19,21 @@ Modified to apply to version 2.1.10.
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
 
-Modified tp apply to version 2.1.14
+Modified tp apply to version 2.2.0
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- lib/replace/wscript | 90 +++++++++++++++++++++++++++++++++++++++++------------
- wscript             |  7 +++++
- 2 files changed, 77 insertions(+), 20 deletions(-)
+ lib/replace/wscript | 91 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript             |  7 ++++-
+ 2 files changed, 76 insertions(+), 22 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..a77c058 100644
+index 1d01e1e..7bc7666 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -22,6 +22,41 @@ def set_options(opt):
-     opt.BUILTIN_DEFAULT('NONE')
+@@ -25,6 +25,41 @@ def options(opt):
      opt.PRIVATE_EXTENSION_DEFAULT('')
      opt.RECURSE('buildtools/wafsamba')
-+   
+ 
 +    opt.add_option('--with-acl',
 +                   help=("Enable use of acl"),
 +                   action="store_true", dest='enable_acl')
@@ -69,10 +68,11 @@ index fd00a42..a77c058 100644
 +    opt.add_option('--without-libcap',
 +                   help=("Disable use of libcap"),
 +                   action="store_false", dest='enable_libcap', default=False)
- 
++
  @Utils.run_once
  def configure(conf):
-@@ -32,12 +67,25 @@ def configure(conf):
+     conf.RECURSE('buildtools/wafsamba')
+@@ -34,12 +69,25 @@ def configure(conf):
      conf.DEFINE('HAVE_LIBREPLACE', 1)
      conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
  
@@ -101,20 +101,21 @@ index fd00a42..a77c058 100644
 +        conf.CHECK_HEADERS('sys/capability.h')
 +
      conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
      conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
+@@ -110,8 +158,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
 +    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -342,20 +392,20 @@ def configure(conf):
+@@ -380,20 +429,20 @@ def configure(conf):
  
      strlcpy_in_bsd = False
  
@@ -150,23 +151,23 @@ index fd00a42..a77c058 100644
      conf.CHECK_CODE('''
                  struct ucred cred;
 diff --git a/wscript b/wscript
-index 18f726e..fed8ab9 100644
+index e402069..9976f4c 100644
 --- a/wscript
 +++ b/wscript
-@@ -32,6 +32,13 @@ def set_options(opt):
+@@ -31,7 +31,12 @@ def options(opt):
          opt.add_option('--enable-talloc-compat1',
                         help=("Build talloc 1.x.x compat library [False]"),
                         action="store_true", dest='TALLOC_COMPAT1', default=False)
+-
 +        opt.add_option('--with-valgrind',
 +                       help=("enable use of valgrind"),
 +                       action="store_true", dest='enable_valgrind')
 +        opt.add_option('--without-valgrind',
 +                       help=("disable use of valgrind"),
 +                       action="store_false", dest='enable_valgrind', default=False)
-+
- 
  
  def configure(conf):
+     conf.RECURSE('lib/replace')
 -- 
 2.7.4
 
diff --git a/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb b/meta-networking/recipes-support/libtalloc/libtalloc_2.2.0.bb
similarity index 80%
rename from meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
rename to meta-networking/recipes-support/libtalloc/libtalloc_2.2.0.bb
index 9a463a6..88cdd30 100644
--- a/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
+++ b/meta-networking/recipes-support/libtalloc/libtalloc_2.2.0.bb
@@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6
 
 
 SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
-           file://options-2.1.14.patch \
+           file://options-2.2.0.patch \
+           file://0001-waf-add-support-of-cross_compile.patch \
 "
-SRC_URI[md5sum] = "7478da02e309316231a497a9f17a980d"
-SRC_URI[sha256sum] = "b185602756a628bac507fa8af8b9df92ace69d27c0add5dab93190ad7c3367ce"
+SRC_URI[md5sum] = "b60781acc2fb42d7a1e08751e508d3df"
+SRC_URI[sha256sum] = "5c6f6a45ef96b3fd0b28942673a68d0c6af5dcca9d676a2e4d57ce7e86c22ebc"
 
 inherit waf-samba
 
@@ -29,6 +30,10 @@ SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr
 
 S = "${WORKDIR}/talloc-${PV}"
 
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
 EXTRA_OECONF += "--disable-rpath \
                  --disable-rpath-install \
                  --bundled-libraries=NONE \
@@ -46,4 +51,4 @@ FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
                   ${libdir}/libpytalloc-util.so.2.1.1 \
                  "
 FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
-RDEPENDS_pytalloc = "python"
+RDEPENDS_pytalloc = "python3"
-- 
2.7.4



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

* [meta-networking][PATCH 6/6 V2] samba: upgrade 4.8.12 -> 4.10.5
  2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
                   ` (4 preceding siblings ...)
  2019-07-02  1:58 ` [meta-networking][PATCH 5/6 V2] libtalloc: upgrade 2.1.14 -> 2.2.0 changqing.li
@ 2019-07-02  1:58 ` changqing.li
  5 siblings, 0 replies; 10+ messages in thread
From: changqing.li @ 2019-07-02  1:58 UTC (permalink / raw)
  To: openembedded-devel

From: Changqing Li <changqing.li@windriver.com>

1. switch to python3, from 4.10.x, samba support both python2 and python3,
   and from 4.11.x, python2 will be dropped.
2. fix cross-compile problem caused by waf
3. disable lmdb
4. refresh patch

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../0001-samba-fix-musl-lib-without-innetgr.patch  | 42 +++++++++++++++
 .../0001-waf-add-support-of-cross_compile.patch    | 62 ++++++++++++++++++++++
 ...-import-target-module-while-cross-compile.patch | 59 +++++++++++---------
 .../21-add-config-option-without-valgrind.patch    | 48 ++++++-----------
 .../samba/samba/glibc_only.patch                   | 29 +++++++---
 .../samba/{samba_4.8.12.bb => samba_4.10.5.bb}     | 52 +++++++++---------
 6 files changed, 203 insertions(+), 89 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
 create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
 rename meta-networking/recipes-connectivity/samba/{samba_4.8.12.bb => samba_4.10.5.bb} (89%)

diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
new file mode 100644
index 0000000..fb12a10
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
@@ -0,0 +1,42 @@
+From fcb8ecd530b2d151e373974741601483326f7528 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Jun 2019 11:09:47 +0800
+Subject: [PATCH] samba: fix musl lib without innetgr
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/util/access.c | 2 +-
+ source3/auth/user_util.c | 2 +-
+ 2 file changed, 2 insertion(+), 2 deletion(-)
+
+diff --git a/lib/util/access.c b/lib/util/access.c
+index 7da0573..b94949e 100644
+--- a/lib/util/access.c
++++ b/lib/util/access.c
+@@ -112,7 +112,7 @@ static bool string_match(const char *tok,const char *s)
+ 			return true;
+ 		}
+ 	} else if (tok[0] == '@') { /* netgroup: look it up */
+-#ifdef	HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ 		DATA_BLOB tmp;
+ 		char *mydomain = NULL;
+ 		char *hostname = NULL;
+diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c
+index a76b5d4..30f523d 100644
+--- a/source3/auth/user_util.c
++++ b/source3/auth/user_util.c
+@@ -148,7 +148,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char
+ 
+ bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname)
+ {
+-#ifdef HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ 	static char *my_yp_domain = NULL;
+ 	char *lowercase_user = NULL;
+ 
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 0000000..23b35a8
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded 
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+    args = Utils.to_list(kw.get('exec_args', []))
+    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ 	"""
+ 	color = 'PINK'
+ 	def run(self):
++		args = self.generator.bld.kw.get('exec_args', [])
+ 		if getattr(self.generator, 'rpath', None):
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+-			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++			else: 
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ 		else:
+ 			env = self.env.env or {}
+ 			env.update(dict(os.environ))
+ 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ 			if getattr(self.generator, 'define_ret', False):
+-				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ 			else:
+-				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+ 
+ @feature('test_exec')
+ @after_method('apply_link')
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
index e112b3b..3f2921e 100644
--- a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
@@ -1,21 +1,32 @@
-Some modules such as dynamic library maybe cann't be imported while cross compile, 
-we just check whether does the module exist.
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
+
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
 
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 
-Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-===================================================================
---- samba-4.4.2.orig/buildtools/wafsamba/samba_bundled.py
-+++ samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
- 
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
+index 60ce7da..5468a36 100644
+--- a/buildtools/wafsamba/samba_bundled.py
++++ b/buildtools/wafsamba/samba_bundled.py
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
  
-@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+     '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
      # versions
      minversion = minimum_library_version(conf, libname, minversion)
  
@@ -25,34 +36,32 @@ Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
 -        found = False
 -    else:
 +    # Find module in PYTHONPATH
-+    stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+    if stuff:
++    spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++    if spec:
          try:
 -            version = m.__version__
 -        except AttributeError:
-+            m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++            module = importlib.util.module_from_spec(spec)
++            spec.loader.load_module(module)
 +        except ImportError:
              found = False
 +
 +            if conf.env.CROSS_COMPILE:
 +                # Some modules such as dynamic library maybe cann't be imported
 +                # while cross compile, we just check whether the module exist
-+                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
 +                found = True
          else:
 -            found = tuplize_version(version) >= tuplize_version(minversion)
 +            try:
-+                version = m.__version__
++                version = module.__version__
 +            except AttributeError:
 +                found = False
 +            else:
 +                found = tuplize_version(version) >= tuplize_version(minversion)
-+        finally:
-+            if stuff[0]:
-+                stuff[0].close()
-+    else:
-+        found = False
-+
      if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
          Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
          sys.exit(1)
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
index 6a7f8fa..46a6f06 100644
--- a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
@@ -1,54 +1,40 @@
-From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Thu, 10 Dec 2015 04:20:51 -0500
+From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:11:16 +0800
 Subject: [PATCH] Add config option without-valgrind
 
 Upstream-Status: Pending
 
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
 
+Update patch to version 4.10.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- lib/replace/wscript | 4 +++-
- source3/wscript     | 5 ++++-
+ lib/replace/wscript | 5 +++--
  wscript             | 4 ++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
+ 2 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index f0040b1..aca73af 100644
+index a7fd25d..a19ae68 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -101,7 +101,9 @@ def configure(conf):
+@@ -110,8 +110,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
 +    if not Options.options.disable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-diff --git a/source3/wscript b/source3/wscript
-index bac3dd5..a5c51ea 100644
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1070,7 +1070,10 @@ syscall(SYS_setgroups32, 0, NULL);
-             Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient")
-         else:
-             conf.DEFINE('WITH_DNS_UPDATES', 1)
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-+    if not Options.options.disable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-     if Options.options.developer:
-         if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'):
-             conf.DEFINE('VALGRIND', '1')
 diff --git a/wscript b/wscript
-index 542a60c..22e6116 100644
+index e38a8e9..38b7230 100644
 --- a/wscript
 +++ b/wscript
-@@ -86,6 +86,10 @@ def set_options(opt):
+@@ -105,6 +105,10 @@ def options(opt):
                    help=("Disable RELRO builds"),
                    action="store_false", dest='enable_relro')
  
@@ -58,7 +44,7 @@ index 542a60c..22e6116 100644
 +
      gr = opt.option_group('developer options')
  
-     opt.tool_options('python') # options for disabling pyc or pyo compilation
+     opt.load('python') # options for disabling pyc or pyo compilation
 -- 
-1.9.1
+2.7.4
 
diff --git a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
index 894bc8b..d07ec0d 100644
--- a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
@@ -1,15 +1,28 @@
-Index: samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
-===================================================================
---- samba-4.6.2.orig/ctdb/tests/src/test_mutex_raw.c
-+++ samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
-@@ -166,8 +166,10 @@ int main(int argc, const char **argv)
- 			if (ret == 0) {
- 				pthread_mutex_unlock(mutex);
+From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:15:18 +0800
+Subject: [PATCH] glibc only fix
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ ctdb/tests/src/test_mutex_raw.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c
+index 926a525..814343f 100644
+--- a/ctdb/tests/src/test_mutex_raw.c
++++ b/ctdb/tests/src/test_mutex_raw.c
+@@ -291,8 +291,10 @@ int main(int argc, const char **argv)
+ 					"failed\n");
+ 				exit (EXIT_FAILURE);
  			}
 +#ifdef __GLIBC__
  		} else if (ret == EBUSY) {
- 			printf("pid=%u\n", mutex->__data.__owner);
+ 			printf("INFO: pid=%u\n", mutex->__data.__owner);
 +#endif
  		} else if (ret == 0) {
  			pthread_mutex_unlock(mutex);
  		}
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb b/meta-networking/recipes-connectivity/samba/samba_4.10.5.bb
similarity index 89%
rename from meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
rename to meta-networking/recipes-connectivity/samba/samba_4.10.5.bb
index 762a5bc..c34ac92 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.10.5.bb
@@ -23,26 +23,25 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://dnsserver-4.7.0.patch \
            file://smb_conf-4.7.0.patch \
            file://volatiles.03_samba \
+           file://0001-waf-add-support-of-cross_compile.patch \
            "
 SRC_URI_append_libc-musl = " \
            file://samba-pam.patch \
            file://samba-4.3.9-remove-getpwent_r.patch \
            file://cmocka-uintptr_t.patch \
+           file://0001-samba-fix-musl-lib-without-innetgr.patch \
           "
 
-SRC_URI[md5sum] = "25de700c8f1148fd13973a49a51c059e"
-SRC_URI[sha256sum] = "c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f"
+SRC_URI[md5sum] = "7d20c01ae35b08bc850442a0c303bca5"
+SRC_URI[sha256sum] = "6c10266d5e8c44ce1ea17dc993ace67a83607b4d9a830959c75e3188c6af6375"
 
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz"
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
 
 inherit systemd waf-samba cpan-base perlnative update-rc.d
 # remove default added RDEPENDS on perl
 RDEPENDS_${PN}_remove = "perl"
 
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam"
-
-RCONFLICTS_${PN} = "libldb"
-RCONFLICTS_${PN}-python = "pyldb"
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam libtasn1 jansson"
 
 inherit distro_features_check
 REQUIRED_DISTRO_FEATURES = "pam"
@@ -64,10 +63,14 @@ SYSTEMD_SERVICE_winbind = "winbind.service"
 # https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
 SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
 
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
 # Use krb5.  Build active domain controller.
 #
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
-                   acl ad-dc cups gnutls ldap mitkrb5 \
+                   acl cups ad-dc gnutls ldap mitkrb5 \
 "
 
 RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
@@ -84,6 +87,8 @@ PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
 PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
 PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
 PACKAGECONFIG[libunwind] = ", , libunwind"
+PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
 
 # Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
 # And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
@@ -108,17 +113,7 @@ SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODU
 # .so files so there will not be a conflict.  This is not done consistantly, so be very careful
 # when adding to this list.
 #
-SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE"
-
-# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack
-# bundled libraries in seperate packages. Otherwise they are auto-packed in
-# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting
-# nmbd/smbd daemons
-# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can
-# be removed again.
-PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util"
-FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}"
-FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}"
+SAMBA4_LIBS="heimdal,cmocka,NONE"
 
 EXTRA_OECONF += "--enable-fhs \
                  --with-piddir=/run \
@@ -179,8 +174,6 @@ do_install_append() {
     install -d ${D}${sysconfdir}/default
     install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
 
-    # install ctdb config file and test cases
-    install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
     # the items are from ctdb/tests/run_tests.sh
     for d in onnode takeover tool eventscripts cunit simple complex; do
         testdir=${D}${datadir}/ctdb-tests/$d
@@ -196,9 +189,17 @@ do_install_append() {
 
     chmod 0750 ${D}${sysconfdir}/sudoers.d
     rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+    
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba-gpupdate
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_upgradedns 
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_spnupdate
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_kcc
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_dnsupdate
+    sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${bindir}/samba-tool
+    
 }
 
-PACKAGES =+ "${PN}-python ${PN}-pidl \
+PACKAGES =+ "${PN}-python3 ${PN}-pidl \
              ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
              winbind \
              ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
@@ -227,8 +228,8 @@ python samba_populate_packages() {
 PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
 PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
 
-RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
-RDEPENDS_${PN}-python += "pytalloc python-tdb"
+RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
+RDEPENDS_${PN}-python3 += "pytalloc python3-tdb"
 
 FILES_${PN}-base = "${sbindir}/nmbd \
                     ${sbindir}/smbd \
@@ -261,6 +262,7 @@ FILES_${PN} += "${libdir}/vfs/*.so \
                 ${libdir}/charset/*.so \
                 ${libdir}/*.dat \
                 ${libdir}/auth/*.so \
+                ${datadir}/ctdb/events/* \
 "
 
 FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
@@ -286,7 +288,7 @@ FILES_winbind = "${sbindir}/winbindd \
                  ${sysconfdir}/init.d/winbind \
                  ${systemd_system_unitdir}/winbind.service"
 
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
 
 FILES_smbclient = "${bindir}/cifsdd \
                    ${bindir}/rpcclient \
-- 
2.7.4



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

* Re: [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4
  2019-07-02  1:58 ` [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4 changqing.li
@ 2019-07-09 18:16   ` Khem Raj
  2019-07-09 18:52     ` Adrian Bunk
  0 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2019-07-09 18:16 UTC (permalink / raw)
  To: Changqing Li; +Cc: openembeded-devel

there is another patch to upgrade to 1.6.3 I will take that

On Mon, Jul 1, 2019 at 6:58 PM <changqing.li@windriver.com> wrote:
>
> From: Changqing Li <changqing.li@windriver.com>
>
> 1. switch to python3
> 2. add cross-answer for lmdb check, so remove patch 0001-libldb-fix-config-error
> 3. fix cross-compile problem caused by waf
> 4. refresh patch
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  .../waf-cross-answers/cross-answers-aarch64.txt    |  1 +
>  .../waf-cross-answers/cross-answers-aarch64_be.txt |  1 +
>  .../files/waf-cross-answers/cross-answers-arm.txt  |  1 +
>  .../waf-cross-answers/cross-answers-armeb.txt      |  1 +
>  .../files/waf-cross-answers/cross-answers-i586.txt |  1 +
>  .../files/waf-cross-answers/cross-answers-i686.txt |  1 +
>  .../files/waf-cross-answers/cross-answers-mips.txt |  1 +
>  .../waf-cross-answers/cross-answers-mips64.txt     |  1 +
>  .../waf-cross-answers/cross-answers-mips64el.txt   |  1 +
>  .../waf-cross-answers/cross-answers-mipsel.txt     |  1 +
>  .../waf-cross-answers/cross-answers-powerpc.txt    |  1 +
>  .../waf-cross-answers/cross-answers-powerpc64.txt  |  1 +
>  .../waf-cross-answers/cross-answers-riscv64.txt    |  1 +
>  .../waf-cross-answers/cross-answers-x86_64.txt     |  1 +
>  .../libldb/0001-libldb-fix-config-error.patch      | 87 ----------------------
>  .../0001-waf-add-support-of-cross_compile.patch    | 62 +++++++++++++++
>  ...-import-target-module-while-cross-compile.patch | 56 +++++++-------
>  .../{options-1.4.1.patch => options-1.5.4.patch}   | 67 +++++++----------
>  .../libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb}    | 24 +++---
>  19 files changed, 144 insertions(+), 166 deletions(-)
>  delete mode 100644 meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
>  create mode 100644 meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
>  rename meta-networking/recipes-support/libldb/libldb/{options-1.4.1.patch => options-1.5.4.patch} (79%)
>  rename meta-networking/recipes-support/libldb/{libldb_1.4.1.bb => libldb_1.5.4.bb} (79%)
>
> 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 1023f6a..fc0400d 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> 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 1023f6a..fc0400d 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
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> 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 a5cd998..759afe8 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 a5cd998..759afe8 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 a5cd998..759afe8 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 a5cd998..759afe8 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 3e239e7..c989f27 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 82e694f..215f574 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> 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 82e694f..215f574 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> 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 3e239e7..c989f27 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 27b9378..f107974 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 7fd3092..7a443cc 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
> @@ -38,3 +38,4 @@ Checking for small off_t: NO
>  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
> 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 1023f6a..fc0400d 100644
> --- a/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
> +++ b/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> 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 1023f6a..fc0400d 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
> @@ -37,3 +37,4 @@ Checking for small off_t: NO
>  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
> diff --git a/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch b/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
> deleted file mode 100644
> index 5818d57..0000000
> --- a/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -From bc4ff7e37ce120c257e52a81fe3475499dfd2573 Mon Sep 17 00:00:00 2001
> -From: Changqing Li <changqing.li@windriver.com>
> -Date: Tue, 24 Jul 2018 10:10:24 +0800
> -Subject: [PATCH] libldb: fix config error
> -
> -Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ----
> - wscript | 58 +++++++++++++++++++++++++++++-----------------------------
> - 1 file changed, 29 insertions(+), 29 deletions(-)
> -
> -diff --git a/wscript b/wscript
> -index b0af7b6..8ad9f96 100644
> ---- a/wscript
> -+++ b/wscript
> -@@ -115,40 +115,40 @@ def configure(conf):
> -                                              onlyif='talloc tdb tevent pyldb-util',
> -                                              implied_deps='replace talloc tdb tevent'):
> -                 conf.define('USING_SYSTEM_LDB', 1)
> -+    if not Options.options.without_ldb_lmdb:
> -+        if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
> -+                               "HAVE_64_BIT_SIZE_T_FOR_LMDB",
> -+                               execute=True,
> -+                               msg='Checking for a 64-bit host to '
> -+                               'support lmdb'):
> -+            Logs.warn("--without-ldb-lmdb implied as this "
> -+                      "host is not 64-bit")
> -+
> -+            if not conf.env.standalone_ldb and \
> -+               not Options.options.without_ad_dc and \
> -+               conf.CONFIG_GET('ENABLE_SELFTEST'):
> -+                Logs.warn("NOTE: Some AD DC parts of selftest will fail")
> -
> --    if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
> --                           "HAVE_64_BIT_SIZE_T_FOR_LMDB",
> --                           execute=True,
> --                           msg='Checking for a 64-bit host to '
> --                           'support lmdb'):
> --        Logs.warn("--without-ldb-lmdb implied as this "
> --                  "host is not 64-bit")
> --
> --        if not conf.env.standalone_ldb and \
> --           not Options.options.without_ad_dc and \
> --           conf.CONFIG_GET('ENABLE_SELFTEST'):
> --            Logs.warn("NOTE: Some AD DC parts of selftest will fail")
> --
> --        conf.env.REQUIRE_LMDB = False
> --    else:
> --        if conf.env.standalone_ldb:
> --            if Options.options.without_ldb_lmdb:
> --                conf.env.REQUIRE_LMDB = False
> --            else:
> --                conf.env.REQUIRE_LMDB = True
> --        elif Options.options.without_ad_dc:
> -             conf.env.REQUIRE_LMDB = False
> -         else:
> --            if Options.options.without_ldb_lmdb:
> --                if not Options.options.without_ad_dc and \
> --                   conf.CONFIG_GET('ENABLE_SELFTEST'):
> --                    raise Utils.WafError('--without-ldb-lmdb conflicts '
> --                                         'with --enable-selftest while '
> --                                         'building the AD DC')
> --
> -+            if conf.env.standalone_ldb:
> -+                if Options.options.without_ldb_lmdb:
> -+                    conf.env.REQUIRE_LMDB = False
> -+                else:
> -+                    conf.env.REQUIRE_LMDB = True
> -+            elif Options.options.without_ad_dc:
> -                 conf.env.REQUIRE_LMDB = False
> -             else:
> --                conf.env.REQUIRE_LMDB = True
> -+                if Options.options.without_ldb_lmdb:
> -+                    if not Options.options.without_ad_dc and \
> -+                       conf.CONFIG_GET('ENABLE_SELFTEST'):
> -+                        raise Utils.WafError('--without-ldb-lmdb conflicts '
> -+                                             'with --enable-selftest while '
> -+                                             'building the AD DC')
> -+
> -+                    conf.env.REQUIRE_LMDB = False
> -+                else:
> -+                    conf.env.REQUIRE_LMDB = True
> -
> -
> -     if conf.CONFIG_SET('USING_SYSTEM_LDB'):
> ---
> -2.7.4
> -
> diff --git a/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
> new file mode 100644
> index 0000000..45c5aca
> --- /dev/null
> +++ b/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
> @@ -0,0 +1,62 @@
> +From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Fri, 25 Jan 2019 15:00:59 +0800
> +Subject: [PATCH] waf: add support of cross_compile
> +
> +After upgrade, waf build system also upgraded.
> +
> +on 1.5.19, for cross_compile, subprocess.Popen is set to be
> +samba_cross.cross_Popen, which will not execute testprog on
> +host, but only read result from cross-answers.txt which is
> +passed by option --cross-answer
> +
> +part of old code:
> +    args = Utils.to_list(kw.get('exec_args', []))
> +    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
> +
> +but on new version, exec_args is not used and cause do_configure
> +failed with Exec format error
> +
> +fixed by append cross anser related args to cmd
> +
> +Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
> +
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
> + 1 file changed, 6 insertions(+), 5 deletions(-)
> +
> +diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
> +index 7608215..767cf33 100644
> +--- a/third_party/waf/waflib/Tools/c_config.py
> ++++ b/third_party/waf/waflib/Tools/c_config.py
> +@@ -660,20 +660,21 @@ class test_exec(Task.Task):
> +       """
> +       color = 'PINK'
> +       def run(self):
> ++              args = self.generator.bld.kw.get('exec_args', [])
> +               if getattr(self.generator, 'rpath', None):
> +                       if getattr(self.generator, 'define_ret', False):
> +-                              self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
> +-                      else:
> +-                              self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
> ++                              self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
> ++                      else:
> ++                              self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
> +               else:
> +                       env = self.env.env or {}
> +                       env.update(dict(os.environ))
> +                       for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
> +                               env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
> +                       if getattr(self.generator, 'define_ret', False):
> +-                              self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
> ++                              self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
> +                       else:
> +-                              self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
> ++                              self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
> +
> + @feature('test_exec')
> + @after_method('apply_link')
> +--
> +2.7.4
> +
> diff --git a/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
> index ee4936a..3f2921e 100644
> --- a/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
> +++ b/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
> @@ -1,30 +1,32 @@
> -From f4cda3a71311e4496b725bc5f46af93413ec7a1c Mon Sep 17 00:00:00 2001
> -From: Bian Naimeng <biannm@cn.fujitsu.com>
> -Date: Fri, 17 Jul 2015 11:58:49 +0800
> -Subject: [PATCH] libldb: add new recipe
> +From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Tue, 25 Jun 2019 14:25:08 +0800
> +Subject: [PATCH] do not import target module while cross compile
>
> -Some modules such as dynamic library maybe cann't be imported while cross compile,
> -we just check whether does the module exist.
> +Some modules such as dynamic library maybe cann't be imported
> +while cross compile, we just check whether does the module exist.
>
>  Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
>
> +update to version 4.10.5, and switch to python3
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
>  ---
> - buildtools/wafsamba/samba_bundled.py | 32 ++++++++++++++++++++++++--------
> - 1 file changed, 24 insertions(+), 8 deletions(-)
> + buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
> + 1 file changed, 18 insertions(+), 8 deletions(-)
>
>  diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
> -index 253d604..398cc6a 100644
> +index 60ce7da..5468a36 100644
>  --- a/buildtools/wafsamba/samba_bundled.py
>  +++ b/buildtools/wafsamba/samba_bundled.py
> -@@ -2,6 +2,7 @@
> +@@ -4,6 +4,7 @@ import sys
> + from waflib import Build, Options, Logs
> + from waflib.Configure import conf
> + from wafsamba import samba_utils
> ++import importlib.util, os
>
> - import sys
> - import Build, Options, Logs
> -+import imp, os
> - from Configure import conf
> - from samba_utils import TO_LIST
> -
> -@@ -249,17 +250,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
> + def PRIVATE_NAME(bld, name, private_extension, private_library):
> +     '''possibly rename a library to include a bundled extension'''
> +@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
>       # versions
>       minversion = minimum_library_version(conf, libname, minversion)
>
> @@ -34,34 +36,32 @@ index 253d604..398cc6a 100644
>  -        found = False
>  -    else:
>  +    # Find module in PYTHONPATH
> -+    stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
> -+    if stuff:
> ++    spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
> ++    if spec:
>           try:
>  -            version = m.__version__
>  -        except AttributeError:
> -+            m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
> ++            module = importlib.util.module_from_spec(spec)
> ++            spec.loader.load_module(module)
>  +        except ImportError:
>               found = False
>  +
>  +            if conf.env.CROSS_COMPILE:
>  +                # Some modules such as dynamic library maybe cann't be imported
>  +                # while cross compile, we just check whether the module exist
> -+                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
> ++                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
>  +                found = True
>           else:
>  -            found = tuplize_version(version) >= tuplize_version(minversion)
>  +            try:
> -+                version = m.__version__
> ++                version = module.__version__
>  +            except AttributeError:
>  +                found = False
>  +            else:
>  +                found = tuplize_version(version) >= tuplize_version(minversion)
> -+        finally:
> -+            if stuff[0]:
> -+                stuff[0].close()
> -+    else:
> -+        found = False
> -+
>       if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
>           Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
>           sys.exit(1)
> +--
> +2.7.4
> +
> diff --git a/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch b/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
> similarity index 79%
> rename from meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
> rename to meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
> index 357afbe..bffd065 100644
> --- a/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
> +++ b/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
> @@ -1,6 +1,6 @@
> -From ffffd29bc6303d60b3d77048fbbf6776f6fbbe01 Mon Sep 17 00:00:00 2001
> +From 0841c3ed69c388251c1aeae63f2c3813555a54f6 Mon Sep 17 00:00:00 2001
>  From: Changqing Li <changqing.li@windriver.com>
> -Date: Thu, 19 Jul 2018 16:40:31 +0800
> +Date: Mon, 1 Jul 2019 16:14:16 +0800
>  Subject: [PATCH] ldb: Add configure options for packages
>
>  Add configure options for the following packages:
> @@ -15,27 +15,22 @@ Upstream-Status: Inappropriate [oe deterministic build specific]
>
>  Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
>
> -Update to version 1.4.1, and fix one configure error
> -
> -Cross answers file cross-answers-i586.txt is incomplete with
> -"Checking for a 64-bit host to support lmdb: UNKNOWN"
> -
> -we don't support lmdb, so only check when lmdb is support
> -
> +upgrade to version 1.5.4
>  Signed-off-by: Changqing Li <changqing.li@windriver.com>
>  ---
> - lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
> - wscript             |  6 ++++
> - 2 files changed, 77 insertions(+), 23 deletions(-)
> + lib/replace/wscript | 92 +++++++++++++++++++++++++++++++++++++++++------------
> + wscript             |  8 +++++
> + 2 files changed, 79 insertions(+), 21 deletions(-)
>
>  diff --git a/lib/replace/wscript b/lib/replace/wscript
> -index fd00a42..434192e 100644
> +index a7fd25d..ad26041 100644
>  --- a/lib/replace/wscript
>  +++ b/lib/replace/wscript
> -@@ -23,6 +23,41 @@ def set_options(opt):
> +@@ -24,6 +24,41 @@ def options(opt):
> +     opt.BUILTIN_DEFAULT('NONE')
>       opt.PRIVATE_EXTENSION_DEFAULT('')
>       opt.RECURSE('buildtools/wafsamba')
> -
> ++
>  +    opt.add_option('--with-acl',
>  +                   help=("Enable use of acl"),
>  +                   action="store_true", dest='enable_acl')
> @@ -70,11 +65,10 @@ index fd00a42..434192e 100644
>  +    opt.add_option('--without-libcap',
>  +                   help=("Disable use of libcap"),
>  +                   action="store_false", dest='enable_libcap', default=False)
> -+
> +
>   @Utils.run_once
>   def configure(conf):
> -     conf.RECURSE('buildtools/wafsamba')
> -@@ -32,12 +67,25 @@ def configure(conf):
> +@@ -34,12 +69,25 @@ def configure(conf):
>       conf.DEFINE('HAVE_LIBREPLACE', 1)
>       conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
>
> @@ -105,23 +99,22 @@ index fd00a42..434192e 100644
>       conf.CHECK_HEADERS('port.h')
>       conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
>       conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
> -@@ -108,7 +156,9 @@ def configure(conf):
> +@@ -110,8 +158,9 @@ def configure(conf):
>       conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
>       conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
>
> --    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
> +-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
> +-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
>  +    if Options.options.enable_valgrind:
> -+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
> -+
> ++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
> ++        conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
>       conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
>       conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
>       conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
> -@@ -340,22 +390,20 @@ def configure(conf):
> +@@ -380,20 +429,21 @@ def configure(conf):
>
> -     conf.CHECK_FUNCS('prctl dirname basename')
> +     strlcpy_in_bsd = False
>
> --    strlcpy_in_bsd = False
> --
>  -    # libbsd on some platforms provides strlcpy and strlcat
>  -    if not conf.CHECK_FUNCS('strlcpy strlcat'):
>  -        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
> @@ -136,11 +129,12 @@ index fd00a42..434192e 100644
>  -
>  -    if not conf.CHECK_FUNCS('closefrom'):
>  -        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
> -+    if Options.options.enable_libbsd:
> ++    if Options.options.enable_libbsd:
>  +        # libbsd on some platforms provides strlcpy and strlcat
>  +        if not conf.CHECK_FUNCS('strlcpy strlcat'):
> -+            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
> -+                    checklibc=True)
> ++            if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
> ++                                   checklibc=True):
> ++                strlcpy_in_bsd = True
>  +        if not conf.CHECK_FUNCS('getpeereid'):
>  +            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
>  +        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
> @@ -153,20 +147,11 @@ index fd00a42..434192e 100644
>
>       conf.CHECK_CODE('''
>                   struct ucred cred;
> -@@ -699,7 +747,7 @@ def configure(conf):
> -     # look for a method of finding the list of network interfaces
> -     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
> -         bsd_for_strlcpy = ''
> --        if strlcpy_in_bsd:
> -+        if Options.options.enable_libbsd:
> -             bsd_for_strlcpy = ' bsd'
> -         if conf.CHECK_CODE('''
> -                            #define %s 1
>  diff --git a/wscript b/wscript
> -index ad91bc6..2d20fee 100644
> +index d3402a7..d4e0ce1 100644
>  --- a/wscript
>  +++ b/wscript
> -@@ -36,6 +36,12 @@ def set_options(opt):
> +@@ -38,6 +38,14 @@ def options(opt):
>                      help='disable new LMDB backend for LDB',
>                      action='store_true', dest='without_ldb_lmdb', default=False)
>
> @@ -176,6 +161,8 @@ index ad91bc6..2d20fee 100644
>  +    opt.add_option('--without-valgrind',
>  +                   help=("disable use of valgrind"),
>  +                   action="store_false", dest='enable_valgrind', default=False)
> ++
> ++
>
>   def configure(conf):
>       conf.RECURSE('lib/tdb')
> diff --git a/meta-networking/recipes-support/libldb/libldb_1.4.1.bb b/meta-networking/recipes-support/libldb/libldb_1.5.4.bb
> similarity index 79%
> rename from meta-networking/recipes-support/libldb/libldb_1.4.1.bb
> rename to meta-networking/recipes-support/libldb/libldb_1.5.4.bb
> index f3608c6..65a6431 100644
> --- a/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
> +++ b/meta-networking/recipes-support/libldb/libldb_1.5.4.bb
> @@ -4,16 +4,14 @@ SECTION = "libs"
>  LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
>
>  DEPENDS += "libtdb libtalloc libtevent popt"
> -RDEPENDS_pyldb += "python samba"
> -RCONFLICTS_${PN} = "samba"
> -RCONFLICTS_pyldb = "samba-python"
> +RDEPENDS_pyldb += "python3"
>
>  SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
>             file://do-not-import-target-module-while-cross-compile.patch \
> -           file://options-1.4.1.patch \
> -           file://0001-libldb-fix-config-error.patch \
>             file://libldb-fix-musl-libc-unkown-type-error.patch \
>             file://libldb-fix-musl-libc-conflict-type-error.patch \
> +           file://0001-waf-add-support-of-cross_compile.patch \
> +           file://options-1.5.4.patch \
>            "
>
>  PACKAGECONFIG ??= "\
> @@ -27,6 +25,7 @@ PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
>  PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
>  PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
>  PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
> +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
>
>  SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
>
> @@ -34,14 +33,18 @@ LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9ada
>                      file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
>                      file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
>
> -SRC_URI[md5sum] = "159a1b1a56dcccf410d1bba911be6076"
> -SRC_URI[sha256sum] = "2df13aa25b376b314ce24182c37691959019523de3cc5356c40c1a333b0890a2"
> +SRC_URI[md5sum] = "24d9f18b085ba27f96d4dec643abea39"
> +SRC_URI[sha256sum] = "db5beea64e305ef002a28fc6b6ca8e42b5fbee268bd713ff41e76c56a0a071d3"
>
>  inherit waf-samba distro_features_check
>  REQUIRED_DISTRO_FEATURES = "pam"
>
>  S = "${WORKDIR}/ldb-${PV}"
>
> +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
> +#to cross Popen
> +export WAF_NO_PREFORK="yes"
> +
>  EXTRA_OECONF += "--disable-rpath \
>                   --disable-rpath-install \
>                   --bundled-libraries=cmocka \
> @@ -49,7 +52,6 @@ EXTRA_OECONF += "--disable-rpath \
>                   --with-modulesdir=${libdir}/ldb/modules \
>                   --with-privatelibdir=${libdir}/ldb \
>                   --with-libiconv=${STAGING_DIR_HOST}${prefix}\
> -                 --without-ldb-lmdb \
>                  "
>
>  PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
> @@ -63,8 +65,8 @@ FILES_${PN}-dbg += "${bindir}/.debug/* \
>                      ${libdir}/ldb/modules/ldb/.debug/*"
>
>  FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
> -               ${libdir}/libpyldb-util.so.* \
> +               ${libdir}/libpyldb-util.*.so.* \
>                "
>  FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
> -                   ${libdir}/.debug/libpyldb-util.so.*"
> -FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
> +                   ${libdir}/.debug/libpyldb-util.*.so.*"
> +FILES_pyldb-dev = "${libdir}/libpyldb-util.*.so"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


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

* Re: [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4
  2019-07-09 18:16   ` Khem Raj
@ 2019-07-09 18:52     ` Adrian Bunk
  2019-07-09 19:07       ` Khem Raj
  0 siblings, 1 reply; 10+ messages in thread
From: Adrian Bunk @ 2019-07-09 18:52 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel

On Tue, Jul 09, 2019 at 11:16:04AM -0700, Khem Raj wrote:
> there is another patch to upgrade to 1.6.3 I will take that

Please don't, see [1] for the rationale.

cu
Adrian

[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-June/200359.html

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



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

* Re: [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4
  2019-07-09 18:52     ` Adrian Bunk
@ 2019-07-09 19:07       ` Khem Raj
  0 siblings, 0 replies; 10+ messages in thread
From: Khem Raj @ 2019-07-09 19:07 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: openembeded-devel

On Tue, Jul 9, 2019 at 11:52 AM Adrian Bunk <bunk@stusta.de> wrote:
>
> On Tue, Jul 09, 2019 at 11:16:04AM -0700, Khem Raj wrote:
> > there is another patch to upgrade to 1.6.3 I will take that
>
> Please don't, see [1] for the rationale.
>
> cu
> Adrian
>
> [1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-June/200359.html
>

thanks for updating me.

> --
>
>        "Is there not promise of rain?" Ling Tan asked suddenly out
>         of the darkness. There had been need of rain for many days.
>        "Only a promise," Lao Er said.
>                                        Pearl S. Buck - Dragon Seed
>


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

end of thread, other threads:[~2019-07-09 19:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-02  1:58 [meta-networking][PATCH 0/6 V2] Upgrade 5 packages build with waf changqing.li
2019-07-02  1:58 ` [meta-networking][PATCH 1/6 V2] waf-samba: switch to python3 changqing.li
2019-07-02  1:58 ` [meta-networking][PATCH 2/6 V2] libldb: upgrade 1.4.1 -> 1.5.4 changqing.li
2019-07-09 18:16   ` Khem Raj
2019-07-09 18:52     ` Adrian Bunk
2019-07-09 19:07       ` Khem Raj
2019-07-02  1:58 ` [meta-networking][PATCH 3/6 V2] libtevent: upgrade 0.9.37 -> 0.10.0 changqing.li
2019-07-02  1:58 ` [meta-networking][PATCH 4/6 V2] libtdb: upgrade 1.3.17 -> 1.4.0 changqing.li
2019-07-02  1:58 ` [meta-networking][PATCH 5/6 V2] libtalloc: upgrade 2.1.14 -> 2.2.0 changqing.li
2019-07-02  1:58 ` [meta-networking][PATCH 6/6 V2] samba: upgrade 4.8.12 -> 4.10.5 changqing.li

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.