aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChangqing Li <changqing.li@windriver.com>2019-07-02 09:58:08 +0800
committerKhem Raj <raj.khem@gmail.com>2019-07-10 09:24:32 -0700
commit6b820663d992c4e442205e9c48ba4f8b7be63727 (patch)
treeea876c36f3fc8d2761745aace7bd0e7a6fd015cc
parent9c74be25c9380cfd6015117c276ce19f253729a8 (diff)
downloadmeta-openembedded-contrib-6b820663d992c4e442205e9c48ba4f8b7be63727.tar.gz
libtevent: upgrade 0.9.37 -> 0.10.0
1. switch to python3 2. fix cross-compile problem caused by waf 3. refresh patch Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch (renamed from meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch)62
-rw-r--r--meta-networking/recipes-support/libtevent/libtevent_0.10.0.bb (renamed from meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb)26
3 files changed, 109 insertions, 41 deletions
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 0000000000..a717f1bbbc
--- /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
index 363c5867cc..882af0644a 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
index 4df251c7f3..25ad7c1d1e 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"