From cff3116f665c2d17f6a6ae9bbe61025c88da99c0 Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Thu, 24 Jun 2021 16:32:04 +0800 Subject: python3-m2crypto: avoid host contamination for swig If the version of libssl-dev is not match the version of libssl on the build machine, it fails to compile SWIG/_m2crypto_wrap.c which is created by swig for python3-m2crypto-native: | SWIG/_m2crypto_wrap.c:9757:19: error: dereferencing pointer to incomplete type 'struct stack_st' | if (arg1) (arg1)->num = arg2; | ^~ But it works if no libssl-dev installed on the build machine. Export STAGING_DIR to make existing patch 0001-setup.py-link-in-sysroot-not-in-host-directories.patch work. And filter out '/usr/inlucde' from include pathes of swig. Signed-off-by: Kai Kang Signed-off-by: Khem Raj Signed-off-by: Trevor Gamblin --- .../avoid-host-contamination.patch | 23 ++++++++++++++++++++++ .../python/python3-m2crypto_0.37.1.bb | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-m2crypto/avoid-host-contamination.patch (limited to 'meta-python/recipes-devtools/python') diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/avoid-host-contamination.patch b/meta-python/recipes-devtools/python/python3-m2crypto/avoid-host-contamination.patch new file mode 100644 index 0000000000..9d9b8449ba --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-m2crypto/avoid-host-contamination.patch @@ -0,0 +1,23 @@ +Filter out '/usr/include' for swig to avoid host contamination issue. + +Upstream-Status: Upstream-Status: Inappropriate [cross compile specific] + +Signed-off-by: Kai Kang +--- + setup.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 5a12981..389d49f 100644 +--- a/setup.py ++++ b/setup.py +@@ -153,7 +153,8 @@ class _M2CryptoBuildExt(build_ext.build_ext): + self.swig_opts.append('-py3') + + # swig seems to need the default header file directories +- self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()]) ++ self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes() ++ if i != '/usr/include']) + + log.debug('self.include_dirs = %s', self.include_dirs) + log.debug('self.library_dirs = %s', self.library_dirs) diff --git a/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb b/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb index 2284a43a3b..b3da87fb7e 100644 --- a/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb +++ b/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb @@ -10,6 +10,7 @@ SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \ file://cross-compile-platform.patch \ file://0001-Allow-verify_cb_-to-be-called-with-ok-True.patch \ file://0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch \ + file://avoid-host-contamination.patch \ " SRC_URI[sha256sum] = "e4e42f068b78ccbf113e5d0a72ae5f480f6c3ace4940b91e4fff5598cfff6fb3" @@ -42,4 +43,6 @@ SWIG_FEATURES_append_mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" SWIG_FEATURES_append_powerpc64le = " -D__powerpc64__" export SWIG_FEATURES +export STAGING_DIR + BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf