All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu
@ 2015-11-12 10:44 jackie.huang
  2015-11-12 10:44 ` [PATCH 1/6] libtevent: upgrade to 0.9.25 jackie.huang
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

Comments:

samba and required packages started to use waf build
system since 4.x, and the waf bbclass use qemu user mode
to help configure checking by default, but not all targets
are supported by qemu user mode, so it definitely fail on those
targets (it failed on our fsl_t2xxx and cav-octeon3).

The solution here it so use waf cross-answer mode to avoid
using qemu, but we need to prepare the cross-answers, it's
easy and error-prone if we try to get these cross-answers manually,
but fortunately, waf provides another mode to help generate
them in newer version, so upgrade related packages and
backport patches for samba (I also tried to upgrad samba
to 4.3.1, but it still doesn't work in my runtime testing
after some bug fixing, so I keep in the current version for
now, I may upgrade it sometime later if I get better understand
about the new version).

Build tested on:

intel-x86-64
qemux86
qemuarm
qemuarma9
qemuarm64
qemumips
qemumips64
fsl-ls20xx
fsl-t2xxx
xilinx-zynq
cav-octeon3


--
The following changes since commit 721a2cabf352085d34dd14c22e71914d3429ca59:

  ntp: upgrade 4.2.8p3 -> 4.2.8p4 (2015-11-11 12:12:08 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib.git jhuang0/d-samba_answer_cross_151112-2
  http://git.pokylinux.org/cgit.cgi//log/?h=jhuang0/d-samba_answer_cross_151112-2

Jackie Huang (6):
  libtevent: upgrade to 0.9.25
  talloc: upgrade to 2.1.3
  libldb: upgrade to 1.1.21
  libtdb: upgrade to 1.3.7
  samba: backport patches for cross-compiling
  waf-samba.bbclass: add cross-answers option and files

 meta-oe/classes/waf-samba.bbclass                  |  43 +++++-
 meta-oe/conf/layer.conf                            |   1 +
 meta-oe/files/waf-cross-answers/README             |   3 +
 .../waf-cross-answers/cross-answers-aarch64.txt    |  38 +++++
 .../files/waf-cross-answers/cross-answers-arm.txt  |  39 +++++
 .../files/waf-cross-answers/cross-answers-i586.txt |  39 +++++
 .../files/waf-cross-answers/cross-answers-mips.txt |  39 +++++
 .../waf-cross-answers/cross-answers-mips64.txt     |  38 +++++
 .../waf-cross-answers/cross-answers-powerpc.txt    |  39 +++++
 .../waf-cross-answers/cross-answers-powerpc64.txt  |  39 +++++
 .../waf-cross-answers/cross-answers-x86_64.txt     |  38 +++++
 ...1-waf-sanitize-and-fix-added-cross-answer.patch |  60 ++++++++
 ...-Adds-a-new-mode-to-samba-cross-compiling.patch | 112 ++++++++++++++
 ...-readability-of-cross-answers-generated-b.patch |  66 ++++++++
 ...wafsamba-CHECK_SIZEOF-cross-compile-frien.patch |  72 +++++++++
 .../0005-build-unify-and-fix-endian-tests.patch    | 169 +++++++++++++++++++++
 ...006-avoid-using-colon-in-the-checking-msg.patch |  32 ++++
 ...sing-of-cross-answers-file-in-case-answer.patch |  36 +++++
 meta-oe/recipes-connectivity/samba/samba_4.1.12.bb |   7 +
 .../libldb/{libldb_1.1.17.bb => libldb_1.1.21.bb}  |   4 +-
 .../libtdb/{libtdb_1.3.0.bb => libtdb_1.3.7.bb}    |   4 +-
 .../{libtevent_0.9.21.bb => libtevent_0.9.25.bb}   |   4 +-
 .../talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb}    |  12 +-
 23 files changed, 921 insertions(+), 13 deletions(-)
 create mode 100644 meta-oe/files/waf-cross-answers/README
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-aarch64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-arm.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-i586.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-mips.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-mips64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-powerpc.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-powerpc64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-x86_64.txt
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0001-waf-sanitize-and-fix-added-cross-answer.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0002-Adds-a-new-mode-to-samba-cross-compiling.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0003-waf-improve-readability-of-cross-answers-generated-b.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0006-avoid-using-colon-in-the-checking-msg.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch
 rename meta-oe/recipes-support/libldb/{libldb_1.1.17.bb => libldb_1.1.21.bb} (92%)
 rename meta-oe/recipes-support/libtdb/{libtdb_1.3.0.bb => libtdb_1.3.7.bb} (87%)
 rename meta-oe/recipes-support/libtevent/{libtevent_0.9.21.bb => libtevent_0.9.25.bb} (86%)
 rename meta-oe/recipes-support/talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb} (80%)

-- 
1.9.1



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

* [PATCH 1/6] libtevent: upgrade to 0.9.25
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  2015-11-12 10:44 ` [PATCH 2/6] talloc: upgrade to 2.1.3 jackie.huang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 .../libtevent/{libtevent_0.9.21.bb => libtevent_0.9.25.bb}            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-oe/recipes-support/libtevent/{libtevent_0.9.21.bb => libtevent_0.9.25.bb} (86%)

diff --git a/meta-oe/recipes-support/libtevent/libtevent_0.9.21.bb b/meta-oe/recipes-support/libtevent/libtevent_0.9.25.bb
similarity index 86%
rename from meta-oe/recipes-support/libtevent/libtevent_0.9.21.bb
rename to meta-oe/recipes-support/libtevent/libtevent_0.9.25.bb
index f297f30..ad45aa0 100644
--- a/meta-oe/recipes-support/libtevent/libtevent_0.9.21.bb
+++ b/meta-oe/recipes-support/libtevent/libtevent_0.9.25.bb
@@ -10,8 +10,8 @@ RDEPENDS_python-tevent = "python"
 SRC_URI = "http://samba.org/ftp/tevent/tevent-${PV}.tar.gz"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b"
 
-SRC_URI[md5sum] = "3d5a76c0a1b5f724842d785fd055633f"
-SRC_URI[sha256sum] = "f2be7463573dab2d8210cb57fe7e7e2aeb323274cbdc865a6e29ddcfb977f0f4"
+SRC_URI[md5sum] = "8d01a2076cb8cd30cab40393d27043df"
+SRC_URI[sha256sum] = "fedeb0d55a11b3593b562ec09b32e44bd67619ed10e5fa10d1868adb1649c669"
 
 inherit waf-samba
 
-- 
1.9.1



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

* [PATCH 2/6] talloc: upgrade to 2.1.3
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
  2015-11-12 10:44 ` [PATCH 1/6] libtevent: upgrade to 0.9.25 jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  2015-11-12 10:49   ` Martin Jansa
  2015-11-12 10:44 ` [PATCH 3/6] libldb: upgrade to 1.1.21 jackie.huang
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

Changes:
 - use PV instead of hardcoded version number

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 .../talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb}              | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
 rename meta-oe/recipes-support/talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb} (80%)

diff --git a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb b/meta-oe/recipes-support/talloc/talloc_2.1.3.bb
similarity index 80%
rename from meta-oe/recipes-support/talloc/talloc_2.1.1.bb
rename to meta-oe/recipes-support/talloc/talloc_2.1.3.bb
index 89c390f..7784794 100644
--- a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb
+++ b/meta-oe/recipes-support/talloc/talloc_2.1.3.bb
@@ -7,8 +7,8 @@ SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
                     file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
 
-SRC_URI[md5sum] = "5dffb86414218a91864ed4453ba9be07"
-SRC_URI[sha256sum] = "3e29ce6c3ba3c4f7c2d57ce8cf0fbc24c86618c519f2b2fb6a459025488b6174"
+SRC_URI[md5sum] = "3e285de2228ae67ff0a0f5cec658f627"
+SRC_URI[sha256sum] = "7aa5f75b22d4ef9c737b25515f2a2837ddc13014ff4ac6e58dd9e311f41f2cb0"
 
 inherit waf-samba
 
@@ -28,18 +28,18 @@ FILES_${PN}-dev = ""
 FILES_${PN}-dbg = ""
 
 FILES_libtalloc = "${libdir}/libtalloc.so.2 \
-                   ${libdir}/libtalloc.so.2.1.1"
+                   ${libdir}/libtalloc.so.${PV}"
 FILES_libtalloc-dbg = "/usr/src/debug/ \
-                   ${libdir}/.debug/libtalloc.so.2.1.1"
+                   ${libdir}/.debug/libtalloc.so.${PV}"
 FILES_libtalloc-dev = "${includedir}/ \
                    ${libdir}/libtalloc.so \
                    ${libdir}/pkgconfig/"
 
 FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
                   ${libdir}/libpytalloc-util.so.2 \
-                  ${libdir}/libpytalloc-util.so.2.1.1 \
+                  ${libdir}/libpytalloc-util.so.${PV} \
                  "
 FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
-                      ${libdir}/.debug/libpytalloc-util.so.2.1.1"
+                      ${libdir}/.debug/libpytalloc-util.so.${PV}"
 FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
 RDEPENDS_pytalloc = "python"
-- 
1.9.1



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

* [PATCH 3/6] libldb: upgrade to 1.1.21
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
  2015-11-12 10:44 ` [PATCH 1/6] libtevent: upgrade to 0.9.25 jackie.huang
  2015-11-12 10:44 ` [PATCH 2/6] talloc: upgrade to 2.1.3 jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  2015-11-12 10:44 ` [PATCH 4/6] libtdb: upgrade to 1.3.7 jackie.huang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 meta-oe/recipes-support/libldb/{libldb_1.1.17.bb => libldb_1.1.21.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-oe/recipes-support/libldb/{libldb_1.1.17.bb => libldb_1.1.21.bb} (92%)

diff --git a/meta-oe/recipes-support/libldb/libldb_1.1.17.bb b/meta-oe/recipes-support/libldb/libldb_1.1.21.bb
similarity index 92%
rename from meta-oe/recipes-support/libldb/libldb_1.1.17.bb
rename to meta-oe/recipes-support/libldb/libldb_1.1.21.bb
index 44f061a..f4531d5 100644
--- a/meta-oe/recipes-support/libldb/libldb_1.1.17.bb
+++ b/meta-oe/recipes-support/libldb/libldb_1.1.21.bb
@@ -15,8 +15,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=b
                     file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
                     file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
 
-SRC_URI[md5sum] = "7c2ab4e3f2a4186493aa06eabbc61cc0"
-SRC_URI[sha256sum] = "b9a312aad19e9463716d257d8f2529fd7fc1a5ef24f6dcdc0c4a1930d7bdb6e6"
+SRC_URI[md5sum] = "94ba09c7452fff68df3481686c56677e"
+SRC_URI[sha256sum] = "267bbb7f278068eaf0de27adffda2e691a070a93c5c15ee27c828e87b4c7dbf1"
 
 inherit waf-samba
 
-- 
1.9.1



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

* [PATCH 4/6] libtdb: upgrade to 1.3.7
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
                   ` (2 preceding siblings ...)
  2015-11-12 10:44 ` [PATCH 3/6] libldb: upgrade to 1.1.21 jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  2015-11-12 10:44 ` [PATCH 5/6] samba: backport patches for cross-compiling jackie.huang
  2015-11-12 10:44 ` [PATCH 6/6] waf-samba.bbclass: add cross-answers option and files jackie.huang
  5 siblings, 0 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 meta-oe/recipes-support/libtdb/{libtdb_1.3.0.bb => libtdb_1.3.7.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-oe/recipes-support/libtdb/{libtdb_1.3.0.bb => libtdb_1.3.7.bb} (87%)

diff --git a/meta-oe/recipes-support/libtdb/libtdb_1.3.0.bb b/meta-oe/recipes-support/libtdb/libtdb_1.3.7.bb
similarity index 87%
rename from meta-oe/recipes-support/libtdb/libtdb_1.3.0.bb
rename to meta-oe/recipes-support/libtdb/libtdb_1.3.7.bb
index 0b9e1f2..9dc4808 100644
--- a/meta-oe/recipes-support/libtdb/libtdb_1.3.0.bb
+++ b/meta-oe/recipes-support/libtdb/libtdb_1.3.7.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=b
 SRC_URI = "http://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
            file://do-not-check-xsltproc-manpages.patch"
 
-SRC_URI[md5sum] = "f18cd6afc4f5670edfe58f72d2665f94"
-SRC_URI[sha256sum] = "04bee48d405ab7815810575a6e0cb364cc0eea6187b54b18c84e9c18a768ba20"
+SRC_URI[md5sum] = "e3741a19c427255acd1e92c5e09d9df7"
+SRC_URI[sha256sum] = "a64d95ca0cc06a28fed24c6e952aed7660cae04983108735d6bc30b925136412"
 
 S = "${WORKDIR}/tdb-${PV}"
 
-- 
1.9.1



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

* [PATCH 5/6] samba: backport patches for cross-compiling
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
                   ` (3 preceding siblings ...)
  2015-11-12 10:44 ` [PATCH 4/6] libtdb: upgrade to 1.3.7 jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  2015-11-12 10:44 ` [PATCH 6/6] waf-samba.bbclass: add cross-answers option and files jackie.huang
  5 siblings, 0 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

* Adds a new mode for samba cross-compiling:

  When both --cross-answers and --cross-execute are set, this means:
  - Use cross-answers
  - If answer is unknown, then instead of adding UNKNOWN to the cross-answers
    file and failing configure, the new mode runs cross-execute to determine the
    answer and adds that to the cross-answers file.

* And some fixes and improvements for cross-compiling.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 ...1-waf-sanitize-and-fix-added-cross-answer.patch |  60 ++++++++
 ...-Adds-a-new-mode-to-samba-cross-compiling.patch | 112 ++++++++++++++
 ...-readability-of-cross-answers-generated-b.patch |  66 ++++++++
 ...wafsamba-CHECK_SIZEOF-cross-compile-frien.patch |  72 +++++++++
 .../0005-build-unify-and-fix-endian-tests.patch    | 169 +++++++++++++++++++++
 ...006-avoid-using-colon-in-the-checking-msg.patch |  32 ++++
 ...sing-of-cross-answers-file-in-case-answer.patch |  36 +++++
 meta-oe/recipes-connectivity/samba/samba_4.1.12.bb |   7 +
 8 files changed, 554 insertions(+)
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0001-waf-sanitize-and-fix-added-cross-answer.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0002-Adds-a-new-mode-to-samba-cross-compiling.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0003-waf-improve-readability-of-cross-answers-generated-b.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0006-avoid-using-colon-in-the-checking-msg.patch
 create mode 100644 meta-oe/recipes-connectivity/samba/samba-4.1.12/0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch

diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0001-waf-sanitize-and-fix-added-cross-answer.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0001-waf-sanitize-and-fix-added-cross-answer.patch
new file mode 100644
index 0000000..69668c0
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0001-waf-sanitize-and-fix-added-cross-answer.patch
@@ -0,0 +1,60 @@
+From 1b32c7d7f148bcf2598799b21dfa3ba1ed824d32 Mon Sep 17 00:00:00 2001
+From: Uri Simchoni <urisimchoni@gmail.com>
+Date: Mon, 18 May 2015 21:12:06 +0300
+Subject: [PATCH 1/7] waf: sanitize and fix added cross answer
+
+When configuring samba for cross-compilation using the cross-answers
+method, the function add_answer receives the standard output and exit code
+of a configuration test and updates the cross-answers file accordingly.
+
+This patch sanitizes the standard output to conform to the cross-answers
+file format - one line of output. It also adds a missing newline.
+
+(Note - at this point add_answer is only ever called with empty output
+but this change is significant for the reminder of this patchset)
+
+Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: Alexander Bokovoy <ab@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/samba_cross.py | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_cross.py b/buildtools/wafsamba/samba_cross.py
+index 3838e34..fc1d78e 100644
+--- a/buildtools/wafsamba/samba_cross.py
++++ b/buildtools/wafsamba/samba_cross.py
+@@ -19,6 +19,16 @@ def add_answer(ca_file, msg, answer):
+     except:
+         Logs.error("Unable to open cross-answers file %s" % ca_file)
+         sys.exit(1)
++    (retcode, retstring) = answer
++    # if retstring is more than one line then we probably
++    # don't care about its actual content (the tests should
++    # yield one-line output in order to comply with the cross-answer
++    # format)
++    retstring = retstring.strip()
++    if len(retstring.split('\n')) > 1:
++        retstring = ''
++    answer = (retcode, retstring)
++
+     if answer == ANSWER_OK:
+         f.write('%s: OK\n' % msg)
+     elif answer == ANSWER_UNKNOWN:
+@@ -26,8 +36,7 @@ def add_answer(ca_file, msg, answer):
+     elif answer == ANSWER_FAIL:
+         f.write('%s: FAIL\n' % msg)
+     else:
+-        (retcode, retstring) = answer
+-        f.write('%s: (%d, "%s")' % (msg, retcode, retstring))
++        f.write('%s: (%d, "%s")\n' % (msg, retcode, retstring))
+     f.close()
+ 
+ 
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0002-Adds-a-new-mode-to-samba-cross-compiling.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0002-Adds-a-new-mode-to-samba-cross-compiling.patch
new file mode 100644
index 0000000..fce3abc
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0002-Adds-a-new-mode-to-samba-cross-compiling.patch
@@ -0,0 +1,112 @@
+From add52538b9a0ccf66ca87c7a691bf59901765849 Mon Sep 17 00:00:00 2001
+From: Uri Simchoni <urisimchoni@gmail.com>
+Date: Mon, 18 May 2015 21:15:19 +0300
+Subject: [PATCH 2/7] Adds a new mode to samba cross-compiling.
+
+When both --cross-answers and --cross-execute are set, this means:
+- Use cross-answers
+- If answer is unknown, then instead of adding UNKNOWN to the cross-answers
+  file and failing configure, the new mode runs cross-execute to determine the
+  answer and adds that to the cross-answers file.
+
+Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: Alexander Bokovoy <ab@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/samba_cross.py | 46 ++++++++++++++++++++++++++++----------
+ 1 file changed, 34 insertions(+), 12 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_cross.py b/buildtools/wafsamba/samba_cross.py
+index fc1d78e..3f1ef12 100644
+--- a/buildtools/wafsamba/samba_cross.py
++++ b/buildtools/wafsamba/samba_cross.py
+@@ -45,7 +45,6 @@ def cross_answer(ca_file, msg):
+     try:
+         f = open(ca_file, 'r')
+     except:
+-        add_answer(ca_file, msg, ANSWER_UNKNOWN)
+         return ANSWER_UNKNOWN
+     for line in f:
+         line = line.strip()
+@@ -78,7 +77,6 @@ def cross_answer(ca_file, msg):
+                 else:
+                     raise Utils.WafError("Bad answer format '%s' in %s" % (line, ca_file))
+     f.close()
+-    add_answer(ca_file, msg, ANSWER_UNKNOWN)
+     return ANSWER_UNKNOWN
+ 
+ 
+@@ -86,24 +84,47 @@ class cross_Popen(Utils.pproc.Popen):
+     '''cross-compilation wrapper for Popen'''
+     def __init__(*k, **kw):
+         (obj, args) = k
+-
+-        if '--cross-execute' in args:
+-            # when --cross-execute is set, then change the arguments
+-            # to use the cross emulator
+-            i = args.index('--cross-execute')
+-            newargs = args[i+1].split()
+-            newargs.extend(args[0:i])
+-            args = newargs
+-        elif '--cross-answers' in args:
++        use_answers = False
++        ans = ANSWER_UNKNOWN
++
++        # Three possibilities:
++        #   1. Only cross-answers - try the cross-answers file, and if
++        #      there's no corresponding answer, add to the file and mark
++        #      the configure process as unfinished.
++        #   2. Only cross-execute - get the answer from cross-execute
++        #   3. Both - try the cross-answers file, and if there is no
++        #      corresponding answer - use cross-execute to get an answer,
++        #       and add that answer to the file.
++        if '--cross-answers' in args:
+             # when --cross-answers is set, then change the arguments
+             # to use the cross answers if available
++            use_answers = True
+             i = args.index('--cross-answers')
+             ca_file = args[i+1]
+             msg     = args[i+2]
+             ans = cross_answer(ca_file, msg)
++
++        if '--cross-execute' in args and ans == ANSWER_UNKNOWN:
++            # when --cross-execute is set, then change the arguments
++            # to use the cross emulator
++            i = args.index('--cross-execute')
++            newargs = args[i+1].split()
++            newargs.extend(args[0:i])
++            if use_answers:
++                p = real_Popen(newargs,
++                               stdout=Utils.pproc.PIPE,
++                               stderr=Utils.pproc.PIPE)
++                ce_out, ce_err = p.communicate()
++                ans = (p.returncode, ce_out)
++                add_answer(ca_file, msg, ans)
++            else:
++                args = newargs
++
++        if use_answers:
+             if ans == ANSWER_UNKNOWN:
+                 global cross_answers_incomplete
+                 cross_answers_incomplete = True
++                add_answer(ca_file, msg, ans)
+             (retcode, retstring) = ans
+             args = ['/bin/sh', '-c', "echo -n '%s'; exit %d" % (retstring, retcode)]
+         real_Popen.__init__(*(obj, args), **kw)
+@@ -124,7 +145,8 @@ def SAMBA_CROSS_ARGS(conf, msg=None):
+ 
+     if conf.env.CROSS_EXECUTE:
+         ret.extend(['--cross-execute', conf.env.CROSS_EXECUTE])
+-    elif conf.env.CROSS_ANSWERS:
++
++    if conf.env.CROSS_ANSWERS:
+         if msg is None:
+             raise Utils.WafError("Cannot have NULL msg in cross-answers")
+         ret.extend(['--cross-answers', os.path.join(Options.launch_dir, conf.env.CROSS_ANSWERS), msg])
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0003-waf-improve-readability-of-cross-answers-generated-b.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0003-waf-improve-readability-of-cross-answers-generated-b.patch
new file mode 100644
index 0000000..ec17d9d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0003-waf-improve-readability-of-cross-answers-generated-b.patch
@@ -0,0 +1,66 @@
+From f7052d633396005563e44509428503f42c9faa97 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 12 Nov 2015 01:00:11 -0500
+Subject: [PATCH 3/7] waf: improve readability of cross-answers generated by cross-execute
+
+When generating a result for cross-answers from the (retcode, retstring) tuple:
+- (0, "output") indicated as "output"
+- 1 is interpreted as generic fail code, instead of 255, because most
+  if not all tests fail with 1 as exit code rather than 255
+- For failing test, use NO instead of FAIL, because that's not
+  necessarily a failure (it could mean that something is NOT
+  broken)
+
+Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: Alexander Bokovoy <ab@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/samba_cross.py | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_cross.py b/buildtools/wafsamba/samba_cross.py
+index 3f1ef12..d1e7006 100644
+--- a/buildtools/wafsamba/samba_cross.py
++++ b/buildtools/wafsamba/samba_cross.py
+@@ -6,7 +6,7 @@ from Configure import conf
+ real_Popen = None
+ 
+ ANSWER_UNKNOWN = (254, "")
+-ANSWER_FAIL    = (255, "")
++ANSWER_NO      = (1, "")
+ ANSWER_OK      = (0, "")
+ 
+ cross_answers_incomplete = False
+@@ -33,10 +33,13 @@ def add_answer(ca_file, msg, answer):
+         f.write('%s: OK\n' % msg)
+     elif answer == ANSWER_UNKNOWN:
+         f.write('%s: UNKNOWN\n' % msg)
+-    elif answer == ANSWER_FAIL:
+-        f.write('%s: FAIL\n' % msg)
++    elif answer == ANSWER_NO:
++        f.write('%s: NO\n' % msg)
+     else:
+-        f.write('%s: (%d, "%s")\n' % (msg, retcode, retstring))
++        if retcode == 0:
++            f.write('%s: "%s"\n' % (msg, retstring))
++        else:
++            f.write('%s: (%d, "%s")\n' % (msg, retcode, retstring))
+     f.close()
+ 
+ 
+@@ -64,7 +67,7 @@ def cross_answer(ca_file, msg):
+                 return ANSWER_UNKNOWN
+             elif ans == "FAIL" or ans == "NO":
+                 f.close()
+-                return ANSWER_FAIL
++                return ANSWER_NO
+             elif ans[0] == '"':
+                 return (0, ans.strip('"'))
+             elif ans[0] == "'":
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch
new file mode 100644
index 0000000..3fbb770
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch
@@ -0,0 +1,72 @@
+From 8ffb1892b5c42d8d29124d274aa4b5f1726d7e9f Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Mon, 21 Apr 2014 10:18:16 -0300
+Subject: [PATCH 4/7] build: make wafsamba CHECK_SIZEOF cross-compile friendly
+
+Use the same trick as commit 0d9bb86293c9d39298786df095c73a6251b08b7e
+We do the same array trick iteratively starting from 1 (byte) by powers
+of 2 up to 32.
+
+The new 'critical' option is used to make the invocation die or not
+according to each test.
+The default is True since normally it's expected to find a proper
+result and should error out if not.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: David Disseldorp <ddiss@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/samba_autoconf.py | 28 ++++++++++++++++------------
+ 1 file changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
+index fe110bd..59953d9 100644
+--- a/buildtools/wafsamba/samba_autoconf.py
++++ b/buildtools/wafsamba/samba_autoconf.py
+@@ -304,23 +304,27 @@ def CHECK_FUNCS(conf, list, link=True, lib=None, headers=None):
+ 
+ 
+ @conf
+-def CHECK_SIZEOF(conf, vars, headers=None, define=None):
++def CHECK_SIZEOF(conf, vars, headers=None, define=None, critical=True):
+     '''check the size of a type'''
+-    ret = True
+     for v in TO_LIST(vars):
+         v_define = define
++        ret = False
+         if v_define is None:
+             v_define = 'SIZEOF_%s' % v.upper().replace(' ', '_')
+-        if not CHECK_CODE(conf,
+-                          'printf("%%u", (unsigned)sizeof(%s))' % v,
+-                          define=v_define,
+-                          execute=True,
+-                          define_ret=True,
+-                          quote=False,
+-                          headers=headers,
+-                          local_include=False,
+-                          msg="Checking size of %s" % v):
+-            ret = False
++        for size in list((1, 2, 4, 8, 16, 32)):
++            if CHECK_CODE(conf,
++                      'static int test_array[1 - 2 * !(((long int)(sizeof(%s))) <= %d)];' % (v, size),
++                      define=v_define,
++                      quote=False,
++                      headers=headers,
++                      local_include=False,
++                      msg="Checking if size of %s == %d" % (v, size)):
++                conf.DEFINE(v_define, size)
++                ret = True
++                break
++        if not ret and critical:
++            Logs.error("Couldn't determine size of '%s'" % v)
++            sys.exit(1)
+     return ret
+ 
+ @conf
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch
new file mode 100644
index 0000000..5546b6d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch
@@ -0,0 +1,169 @@
+From 81379b6b14ea725c72953be2170b382403ed8728 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Mon, 21 Apr 2014 10:18:15 -0300
+Subject: [PATCH 5/7] build: unify and fix endian tests
+
+Unify the endian tests out of lib/ccan/wscript into wafsamba since
+they're almost cross-compile friendly.
+While at it fix them to be so by moving the preprocessor directives out
+of main scope since that will fail.
+And keep the WORDS_BIGENDIAN, HAVE_LITTLE_ENDIAN and HAVE_BIG_ENDIAN
+defines separate because of different codebases.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: David Disseldorp <ddiss@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/wscript | 65 ++++++++++++++++++++++++++++++++++++++++++---
+ lib/ccan/wscript            | 55 --------------------------------------
+ 2 files changed, 62 insertions(+), 58 deletions(-)
+
+diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
+index 7984227..1a2cfe6 100755
+--- a/buildtools/wafsamba/wscript
++++ b/buildtools/wafsamba/wscript
+@@ -390,9 +390,68 @@ def configure(conf):
+     else:
+         conf.define('SHLIBEXT', "so", quote=True)
+ 
+-    conf.CHECK_CODE('long one = 1; return ((char *)(&one))[0]',
+-                    execute=True,
+-                    define='WORDS_BIGENDIAN')
++    # First try a header check for cross-compile friendlyness
++    conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
++                        #define B __BYTE_ORDER
++                        #elif defined(BYTE_ORDER)
++                        #define B BYTE_ORDER
++                        #endif
++
++                        #ifdef __LITTLE_ENDIAN
++                        #define LITTLE __LITTLE_ENDIAN
++                        #elif defined(LITTLE_ENDIAN)
++                        #define LITTLE LITTLE_ENDIAN
++                        #endif
++
++                        #if !defined(LITTLE) || !defined(B) || LITTLE != B
++                        #error Not little endian.
++                        #endif
++                        int main(void) { return 0; }""",
++                            addmain=False,
++                            headers="endian.h sys/endian.h",
++                            define="HAVE_LITTLE_ENDIAN")
++    conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
++                        #define B __BYTE_ORDER
++                        #elif defined(BYTE_ORDER)
++                        #define B BYTE_ORDER
++                        #endif
++
++                        #ifdef __BIG_ENDIAN
++                        #define BIG __BIG_ENDIAN
++                        #elif defined(BIG_ENDIAN)
++                        #define BIG BIG_ENDIAN
++                        #endif
++
++                        #if !defined(BIG) || !defined(B) || BIG != B
++                        #error Not big endian.
++                        #endif
++                        int main(void) { return 0; }""",
++                            addmain=False,
++                            headers="endian.h sys/endian.h",
++                            define="HAVE_BIG_ENDIAN")
++
++    if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
++        # That didn't work!  Do runtime test.
++        conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
++            u.i = 0x01020304;
++            return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""",
++                          addmain=True, execute=True,
++                          define='HAVE_LITTLE_ENDIAN',
++                          msg="Checking for HAVE_LITTLE_ENDIAN - runtime")
++        conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
++            u.i = 0x01020304;
++            return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""",
++                          addmain=True, execute=True,
++                          define='HAVE_BIG_ENDIAN',
++                          msg="Checking for HAVE_BIG_ENDIAN - runtime")
++
++    # Extra sanity check.
++    if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
++        Logs.error("Failed endian determination.  The PDP-11 is back?")
++	sys.exit(1)
++    else:
++        if conf.CONFIG_SET("HAVE_BIG_ENDIAN"):
++            conf.DEFINE('WORDS_BIGENDIAN', 1)
+ 
+     # check if signal() takes a void function
+     if conf.CHECK_CODE('return *(signal (0, 0)) (0) == 1',
+diff --git a/lib/ccan/wscript b/lib/ccan/wscript
+index a0b5406..5b3a910 100644
+--- a/lib/ccan/wscript
++++ b/lib/ccan/wscript
+@@ -25,61 +25,6 @@ def configure(conf):
+     conf.CHECK_CODE('int __attribute__((used)) func(int x) { return x; }',
+                     addmain=False, link=False, cflags=conf.env['WERROR_CFLAGS'],
+                     define='HAVE_ATTRIBUTE_USED')
+-    # We try to use headers for a compile-time test.
+-    conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
+-                        #define B __BYTE_ORDER
+-                        #elif defined(BYTE_ORDER)
+-                        #define B BYTE_ORDER
+-                        #endif
+-
+-                        #ifdef __LITTLE_ENDIAN
+-                        #define LITTLE __LITTLE_ENDIAN
+-                        #elif defined(LITTLE_ENDIAN)
+-                        #define LITTLE LITTLE_ENDIAN
+-                        #endif
+-
+-                        #if !defined(LITTLE) || !defined(B) || LITTLE != B
+-                        #error Not little endian.
+-                        #endif""",
+-                           headers="endian.h sys/endian.h",
+-                           define="HAVE_LITTLE_ENDIAN")
+-    conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
+-                        #define B __BYTE_ORDER
+-                        #elif defined(BYTE_ORDER)
+-                        #define B BYTE_ORDER
+-                        #endif
+-
+-                        #ifdef __BIG_ENDIAN
+-                        #define BIG __BIG_ENDIAN
+-                        #elif defined(BIG_ENDIAN)
+-                        #define BIG BIG_ENDIAN
+-                        #endif
+-
+-                        #if !defined(BIG) || !defined(B) || BIG != B
+-                        #error Not big endian.
+-                        #endif""",
+-                           headers="endian.h sys/endian.h",
+-                           define="HAVE_BIG_ENDIAN")
+-
+-    if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
+-        # That didn't work!  Do runtime test.
+-        conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
+-	  u.i = 0x01020304;
+-	  return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""",
+-                        addmain=True, execute=True,
+-                        define='HAVE_LITTLE_ENDIAN',
+-                        msg="Checking for HAVE_LITTLE_ENDIAN - runtime")
+-        conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
+-	  u.i = 0x01020304;
+-	  return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""",
+-                        addmain=True, execute=True,
+-                        define='HAVE_BIG_ENDIAN',
+-                        msg="Checking for HAVE_BIG_ENDIAN - runtime")
+-
+-    # Extra sanity check.
+-    if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
+-        Logs.error("Failed endian determination.  The PDP-11 is back?")
+-        sys.exit(1)
+ 
+     conf.CHECK_CODE('return __builtin_choose_expr(1, 0, "garbage");',
+                     link=True,
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0006-avoid-using-colon-in-the-checking-msg.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0006-avoid-using-colon-in-the-checking-msg.patch
new file mode 100644
index 0000000..cdf7a38
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0006-avoid-using-colon-in-the-checking-msg.patch
@@ -0,0 +1,32 @@
+From 5413f97290d3126262eb309ecbcf7769509f2a11 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 10 Nov 2015 00:48:35 -0500
+Subject: [PATCH 6/7] avoid using colon in the checking msg
+
+Upstream-Status: Pending
+
+colon is used as the separator when parse from
+a answers file, the colon here makes it never
+get the right answer.
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ wscript_configure_system_mitkrb5 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5
+index a62d00b..a2d89f0 100644
+--- a/wscript_configure_system_mitkrb5
++++ b/wscript_configure_system_mitkrb5
+@@ -240,7 +240,7 @@ conf.CHECK_CODE('''
+        ''',
+     'HAVE_WRFILE_KEYTAB',
+     headers='krb5.h', lib='krb5', execute=True,
+-    msg="Checking whether the WRFILE:-keytab is supported");
++    msg="Checking whether the WRFILE -keytab is supported");
+ # Check for KRB5_DEPRECATED handling
+ conf.CHECK_CODE('''#define KRB5_DEPRECATED 1
+        #include <krb5.h>''',
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba-4.1.12/0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch
new file mode 100644
index 0000000..de0d32c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba-4.1.12/0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch
@@ -0,0 +1,36 @@
+From 649c731526dc1473bd1804d2903d7559e63616da Mon Sep 17 00:00:00 2001
+From: Uri Simchoni <urisimchoni@gmail.com>
+Date: Mon, 4 May 2015 09:12:45 +0300
+Subject: [PATCH 7/7] waf: Fix parsing of cross-answers file in case answer includes a colon
+
+The answer provided in the cross-answers file may include a colon,
+as in:
+Checking uname version type: "#57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014"
+
+Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
+Reviewed-by: Andrew Bartlett <abartlet@samba.org>
+Reviewed-by: Alexander Bokovoy <ab@samba.org>
+
+Upstream-Status: Backport
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ buildtools/wafsamba/samba_cross.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/buildtools/wafsamba/samba_cross.py b/buildtools/wafsamba/samba_cross.py
+index d1e7006..7961212 100644
+--- a/buildtools/wafsamba/samba_cross.py
++++ b/buildtools/wafsamba/samba_cross.py
+@@ -54,7 +54,7 @@ def cross_answer(ca_file, msg):
+         if line == '' or line[0] == '#':
+             continue
+         if line.find(':') != -1:
+-            a = line.split(':')
++            a = line.split(':', 1)
+             thismsg = a[0].strip()
+             if thismsg != msg:
+                 continue
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb b/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
index af2cc1f..938e07e 100644
--- a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
+++ b/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
@@ -33,6 +33,13 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://18-avoid-get-config-by-native-ncurses.patch \
            file://19-systemd-daemon-is-contained-by-libsystemd.patch \
            file://20-do-not-import-target-module-while-cross-compile.patch \
+           file://0001-waf-sanitize-and-fix-added-cross-answer.patch \
+           file://0002-Adds-a-new-mode-to-samba-cross-compiling.patch \
+           file://0003-waf-improve-readability-of-cross-answers-generated-b.patch \
+           file://0004-build-make-wafsamba-CHECK_SIZEOF-cross-compile-frien.patch \
+           file://0005-build-unify-and-fix-endian-tests.patch \
+           file://0006-avoid-using-colon-in-the-checking-msg.patch \
+           file://0007-waf-Fix-parsing-of-cross-answers-file-in-case-answer.patch \
           "
 
 SRC_URI[md5sum] = "232016d7581a1ba11e991ec2674553c4"
-- 
1.9.1



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

* [PATCH 6/6] waf-samba.bbclass: add cross-answers option and files
  2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
                   ` (4 preceding siblings ...)
  2015-11-12 10:44 ` [PATCH 5/6] samba: backport patches for cross-compiling jackie.huang
@ 2015-11-12 10:44 ` jackie.huang
  5 siblings, 0 replies; 9+ messages in thread
From: jackie.huang @ 2015-11-12 10:44 UTC (permalink / raw)
  To: openembedded-devel

From: Jackie Huang <jackie.huang@windriver.com>

--cross-execute uses qemu to run cross-compiled binaries,
it works fine for qemu supported targets, but it definitely
will fail if the target is not supported by qemu. So we need
to use the cross-answers option.

Added three methods and set 'answer' as default:

1. answers:
   Only --cross-answers - try the cross-answers file, and if
   there's no corresponding answer, add to the file and mark
   the configure process as unfinished.
2. exec:
   Only --cross-execute - get the answer from cross-execute,
   an emulator (qemu) is used to run cross-compiled binaries.
3. both:
   Try the cross-answers file first, and if there is no
   corresponding answer, use cross-execute to get an answer,
   and add that answer to the file.

The cross files in are all generated by qemu when the 'both'
mode is enabled, and are placed in a common directory
LAYERDIR/files/waf-cross-answers which is set as
WAF_CROSS_ANSWERS_PATH in layer.conf of meta-oe,
so that we don't have to put copies of them for each
package (there are 5 packages inerit waf-samba for now)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 meta-oe/classes/waf-samba.bbclass                  | 43 +++++++++++++++++++++-
 meta-oe/conf/layer.conf                            |  1 +
 meta-oe/files/waf-cross-answers/README             |  3 ++
 .../waf-cross-answers/cross-answers-aarch64.txt    | 38 +++++++++++++++++++
 .../files/waf-cross-answers/cross-answers-arm.txt  | 39 ++++++++++++++++++++
 .../files/waf-cross-answers/cross-answers-i586.txt | 39 ++++++++++++++++++++
 .../files/waf-cross-answers/cross-answers-mips.txt | 39 ++++++++++++++++++++
 .../waf-cross-answers/cross-answers-mips64.txt     | 38 +++++++++++++++++++
 .../waf-cross-answers/cross-answers-powerpc.txt    | 39 ++++++++++++++++++++
 .../waf-cross-answers/cross-answers-powerpc64.txt  | 39 ++++++++++++++++++++
 .../waf-cross-answers/cross-answers-x86_64.txt     | 38 +++++++++++++++++++
 11 files changed, 355 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/files/waf-cross-answers/README
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-aarch64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-arm.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-i586.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-mips.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-mips64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-powerpc.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-powerpc64.txt
 create mode 100644 meta-oe/files/waf-cross-answers/cross-answers-x86_64.txt

diff --git a/meta-oe/classes/waf-samba.bbclass b/meta-oe/classes/waf-samba.bbclass
index b5b85e6..5b0a08e 100644
--- a/meta-oe/classes/waf-samba.bbclass
+++ b/meta-oe/classes/waf-samba.bbclass
@@ -20,7 +20,38 @@ CONFIGUREOPTS = " --prefix=${prefix} \
                   --mandir=${mandir} \
                 "
 
+# Three methods for waf cross compile:
+# 1. answers:
+#    Only --cross-answers - try the cross-answers file, and if
+#    there's no corresponding answer, add to the file and mark
+#    the configure process as unfinished.
+# 2. exec:
+#    Only --cross-execute - get the answer from cross-execute,
+#    an emulator (qemu) is used to run cross-compiled binaries.
+# 3. both:
+#    (notes: not supported in lower version of some packages,
+#     please check buildtools/wafsamba/samba_cross.py in the
+#     package source)
+#    Try the cross-answers file first, and if there is no
+#    corresponding answer, use cross-execute to get an answer,
+#    and add that answer to the file.
+#
+# The first one is preferred since it may fail with 2 or 3 if
+# the target board is not suported by qemu, but we can use 2 or 3
+# to help generate the cross answer when adding new board support.
+CROSS_METHOD ?= "answer"
+
 do_configure() {
+
+    # Prepare the cross-answers file
+    CROSS_ANSWERS="${B}/cross-answers-${TARGET_ARCH}.txt"
+    if [ -e ${CROSS_ANSWERS} ]; then
+        rm -f ${CROSS_ANSWERS}
+    fi
+    echo 'Checking uname machine type: "${TARGET_ARCH}"' >> ${CROSS_ANSWERS}
+    echo 'Checking uname release type: "${OLDEST_KERNEL}"' >> ${CROSS_ANSWERS}
+    cat ${WAF_CROSS_ANSWERS_PATH}/cross-answers-${TARGET_ARCH}.txt >> ${CROSS_ANSWERS}
+
     qemu_binary="${@qemu_target_binary(d)}"
     if [ "${qemu_binary}" = "qemu-allarch" ]; then
         qemu_binary="qemuwrapper"
@@ -42,7 +73,17 @@ do_configure() {
     export STAGING_INCDIR=${STAGING_INCDIR}
     export PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
 
-    ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} --cross-compile --cross-execute="${CROSS_EXEC}"
+    CONFIG_CMD="./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} --cross-compile"
+    if [ "${CROSS_METHOD}" = "answer" ]; then
+        ${CONFIG_CMD} --cross-answers="${CROSS_ANSWERS}"
+    elif [ "${CROSS_METHOD}" = "exec" ]; then
+        ${CONFIG_CMD} --cross-exec="${CROSS_EXEC}"
+    elif [ "${CROSS_METHOD}" = "both" ]; then
+        ${CONFIG_CMD} --cross-answers="${CROSS_ANSWERS}" --cross-exec="${CROSS_EXEC}"
+    else
+        echo "ERROR: ${CROSS_METHOD} is not valid for cross-compile!"
+        exit 1
+    fi
 }
 
 do_install() {
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index 7af9b3d..c7ce28f 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -30,6 +30,7 @@ LAYERVERSION_openembedded-layer = "1"
 LAYERDEPENDS_openembedded-layer = "core"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
+WAF_CROSS_ANSWERS_PATH = "${LAYERDIR}/files/waf-cross-answers"
 
 SIGGEN_EXCLUDERECIPES_ABISAFE += " \
   mplayer-common \
diff --git a/meta-oe/files/waf-cross-answers/README b/meta-oe/files/waf-cross-answers/README
new file mode 100644
index 0000000..0c23344
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/README
@@ -0,0 +1,3 @@
+The files in this directory are cross answers files
+used by waf-samba.bbaclss, please see waf-samba.bbaclss
+for details about how they are used.
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-oe/files/waf-cross-answers/cross-answers-aarch64.txt
new file mode 100644
index 0000000..bbf7f16
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -0,0 +1,38 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-arm.txt b/meta-oe/files/waf-cross-answers/cross-answers-arm.txt
new file mode 100644
index 0000000..e926fcd
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-arm.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-i586.txt b/meta-oe/files/waf-cross-answers/cross-answers-i586.txt
new file mode 100644
index 0000000..e926fcd
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-i586.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-mips.txt b/meta-oe/files/waf-cross-answers/cross-answers-mips.txt
new file mode 100644
index 0000000..18bfa02
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-mips.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "128"
+Checking value of _NSIG: "128"
+Checking value of SIGRTMAX: "127"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-mips64.txt b/meta-oe/files/waf-cross-answers/cross-answers-mips64.txt
new file mode 100644
index 0000000..8fa015a
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-mips64.txt
@@ -0,0 +1,38 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: OK
+Checking value of NSIG: "128"
+Checking value of _NSIG: "128"
+Checking value of SIGRTMAX: "127"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-oe/files/waf-cross-answers/cross-answers-powerpc.txt
new file mode 100644
index 0000000..fb93b56
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-oe/files/waf-cross-answers/cross-answers-powerpc64.txt
new file mode 100644
index 0000000..fd585f0
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: (255, "")
+Checking if can we convert from IBM850 to UCS-2LE: (255, "")
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
diff --git a/meta-oe/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-oe/files/waf-cross-answers/cross-answers-x86_64.txt
new file mode 100644
index 0000000..bbf7f16
--- /dev/null
+++ b/meta-oe/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -0,0 +1,38 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
-- 
1.9.1



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

* Re: [PATCH 2/6] talloc: upgrade to 2.1.3
  2015-11-12 10:44 ` [PATCH 2/6] talloc: upgrade to 2.1.3 jackie.huang
@ 2015-11-12 10:49   ` Martin Jansa
  2015-11-12 11:05     ` Huang, Jie (Jackie)
  0 siblings, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2015-11-12 10:49 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 3015 bytes --]

On Thu, Nov 12, 2015 at 06:44:21PM +0800, jackie.huang@windriver.com wrote:
> From: Jackie Huang <jackie.huang@windriver.com>
> 
> Changes:
>  - use PV instead of hardcoded version number
> 
> Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> ---
>  .../talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb}              | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>  rename meta-oe/recipes-support/talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb} (80%)
> 
> diff --git a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb b/meta-oe/recipes-support/talloc/talloc_2.1.3.bb
> similarity index 80%
> rename from meta-oe/recipes-support/talloc/talloc_2.1.1.bb
> rename to meta-oe/recipes-support/talloc/talloc_2.1.3.bb
> index 89c390f..7784794 100644
> --- a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb
> +++ b/meta-oe/recipes-support/talloc/talloc_2.1.3.bb
> @@ -7,8 +7,8 @@ SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz"
>  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
>                      file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
>  
> -SRC_URI[md5sum] = "5dffb86414218a91864ed4453ba9be07"
> -SRC_URI[sha256sum] = "3e29ce6c3ba3c4f7c2d57ce8cf0fbc24c86618c519f2b2fb6a459025488b6174"
> +SRC_URI[md5sum] = "3e285de2228ae67ff0a0f5cec658f627"
> +SRC_URI[sha256sum] = "7aa5f75b22d4ef9c737b25515f2a2837ddc13014ff4ac6e58dd9e311f41f2cb0"
>  
>  inherit waf-samba
>  
> @@ -28,18 +28,18 @@ FILES_${PN}-dev = ""
>  FILES_${PN}-dbg = ""
>  
>  FILES_libtalloc = "${libdir}/libtalloc.so.2 \
> -                   ${libdir}/libtalloc.so.2.1.1"
> +                   ${libdir}/libtalloc.so.${PV}"
>  FILES_libtalloc-dbg = "/usr/src/debug/ \
> -                   ${libdir}/.debug/libtalloc.so.2.1.1"
> +                   ${libdir}/.debug/libtalloc.so.${PV}"

Why not use ${SOLIBS} and ${SOLIBSDEV} variables?

>  FILES_libtalloc-dev = "${includedir}/ \
>                     ${libdir}/libtalloc.so \
>                     ${libdir}/pkgconfig/"
>  
>  FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
>                    ${libdir}/libpytalloc-util.so.2 \
> -                  ${libdir}/libpytalloc-util.so.2.1.1 \
> +                  ${libdir}/libpytalloc-util.so.${PV} \
>                   "
>  FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
> -                      ${libdir}/.debug/libpytalloc-util.so.2.1.1"
> +                      ${libdir}/.debug/libpytalloc-util.so.${PV}"
>  FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
>  RDEPENDS_pytalloc = "python"
> -- 
> 1.9.1
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

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

* Re: [PATCH 2/6] talloc: upgrade to 2.1.3
  2015-11-12 10:49   ` Martin Jansa
@ 2015-11-12 11:05     ` Huang, Jie (Jackie)
  0 siblings, 0 replies; 9+ messages in thread
From: Huang, Jie (Jackie) @ 2015-11-12 11:05 UTC (permalink / raw)
  To: openembedded-devel



> -----Original Message-----
> From: openembedded-devel-bounces@lists.openembedded.org [mailto:openembedded-devel-
> bounces@lists.openembedded.org] On Behalf Of Martin Jansa
> Sent: Thursday, November 12, 2015 6:50 PM
> To: openembedded-devel@lists.openembedded.org
> Subject: Re: [oe] [PATCH 2/6] talloc: upgrade to 2.1.3
> 
> On Thu, Nov 12, 2015 at 06:44:21PM +0800, jackie.huang@windriver.com wrote:
> > From: Jackie Huang <jackie.huang@windriver.com>
> >
> > Changes:
> >  - use PV instead of hardcoded version number
> >
> > Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> > ---
> >  .../talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb}              | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> >  rename meta-oe/recipes-support/talloc/{talloc_2.1.1.bb => talloc_2.1.3.bb} (80%)
> >
> > diff --git a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb b/meta-oe/recipes-
> support/talloc/talloc_2.1.3.bb
> > similarity index 80%
> > rename from meta-oe/recipes-support/talloc/talloc_2.1.1.bb
> > rename to meta-oe/recipes-support/talloc/talloc_2.1.3.bb
> > index 89c390f..7784794 100644
> > --- a/meta-oe/recipes-support/talloc/talloc_2.1.1.bb
> > +++ b/meta-oe/recipes-support/talloc/talloc_2.1.3.bb
> > @@ -7,8 +7,8 @@ SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz"
> >  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-
> 3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
> >                      file://${COREBASE}/meta/files/common-licenses/GPL-
> 3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
> >
> > -SRC_URI[md5sum] = "5dffb86414218a91864ed4453ba9be07"
> > -SRC_URI[sha256sum] = "3e29ce6c3ba3c4f7c2d57ce8cf0fbc24c86618c519f2b2fb6a459025488b6174"
> > +SRC_URI[md5sum] = "3e285de2228ae67ff0a0f5cec658f627"
> > +SRC_URI[sha256sum] = "7aa5f75b22d4ef9c737b25515f2a2837ddc13014ff4ac6e58dd9e311f41f2cb0"
> >
> >  inherit waf-samba
> >
> > @@ -28,18 +28,18 @@ FILES_${PN}-dev = ""
> >  FILES_${PN}-dbg = ""
> >
> >  FILES_libtalloc = "${libdir}/libtalloc.so.2 \
> > -                   ${libdir}/libtalloc.so.2.1.1"
> > +                   ${libdir}/libtalloc.so.${PV}"
> >  FILES_libtalloc-dbg = "/usr/src/debug/ \
> > -                   ${libdir}/.debug/libtalloc.so.2.1.1"
> > +                   ${libdir}/.debug/libtalloc.so.${PV}"
> 
> Why not use ${SOLIBS} and ${SOLIBSDEV} variables?

Sure, I should use them, I will sent v2 for this patch.

Thanks,
Jackie

> 
> >  FILES_libtalloc-dev = "${includedir}/ \
> >                     ${libdir}/libtalloc.so \
> >                     ${libdir}/pkgconfig/"
> >
> >  FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
> >                    ${libdir}/libpytalloc-util.so.2 \
> > -                  ${libdir}/libpytalloc-util.so.2.1.1 \
> > +                  ${libdir}/libpytalloc-util.so.${PV} \
> >                   "
> >  FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
> > -                      ${libdir}/.debug/libpytalloc-util.so.2.1.1"
> > +                      ${libdir}/.debug/libpytalloc-util.so.${PV}"
> >  FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
> >  RDEPENDS_pytalloc = "python"
> > --
> > 1.9.1
> >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


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

end of thread, other threads:[~2015-11-12 11:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-12 10:44 [PATCH 0/6] waf-samba: fix build failure on targets unsupported by qemu jackie.huang
2015-11-12 10:44 ` [PATCH 1/6] libtevent: upgrade to 0.9.25 jackie.huang
2015-11-12 10:44 ` [PATCH 2/6] talloc: upgrade to 2.1.3 jackie.huang
2015-11-12 10:49   ` Martin Jansa
2015-11-12 11:05     ` Huang, Jie (Jackie)
2015-11-12 10:44 ` [PATCH 3/6] libldb: upgrade to 1.1.21 jackie.huang
2015-11-12 10:44 ` [PATCH 4/6] libtdb: upgrade to 1.3.7 jackie.huang
2015-11-12 10:44 ` [PATCH 5/6] samba: backport patches for cross-compiling jackie.huang
2015-11-12 10:44 ` [PATCH 6/6] waf-samba.bbclass: add cross-answers option and files jackie.huang

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.