From eb7030939983dc4fc5dfb29e4f0ef4e4b4d3f505 Mon Sep 17 00:00:00 2001 From: zangrc Date: Mon, 5 Jul 2021 09:55:53 +0800 Subject: python3-m2crypto: upgrade 0.37.1 -> 0.38.0 0.38.0 - 2021-06-14 ------------------- - Remove the last use of setup.py test idiom. - Use m2_PyObject_AsReadBuffer instead of PyObject_AsReadBuffer. - Add support for arm64 big endian - Make support of RSA_SSLV23_PADDING optional (it has been deprecated). - Move project to src/ layout - Allow verify_cb_* to be called with ok=True - Be prepared if any of constants in x509_vfy.h is not available. - But we do support 3.8 - We DO NOT support Python 2.6. Refresh the following patch: cross-compile-platform.patch 0001-Allow-verify_cb_-to-be-called-with-ok-True.patch 0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch Removed since these are included in 0.38.0 Signed-off-by: Zang Ruochen Signed-off-by: Khem Raj Signed-off-by: Trevor Gamblin --- ...llow-verify_cb_-to-be-called-with-ok-True.patch | 47 --------------------- ...of-RSA_SSLV23_PADDING-has-been-deprecated.patch | 29 ------------- .../python3-m2crypto/cross-compile-platform.patch | 4 +- .../python/python3-m2crypto_0.37.1.bb | 48 ---------------------- .../python/python3-m2crypto_0.38.0.bb | 46 +++++++++++++++++++++ 5 files changed, 49 insertions(+), 125 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch delete mode 100644 meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch delete mode 100644 meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb (limited to 'meta-python') diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch b/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch deleted file mode 100644 index 3c836635a1..0000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 73fbd1e646f6bbf202d4418bae80eb9941fbf552 Mon Sep 17 00:00:00 2001 -From: Casey Deccio -Date: Fri, 8 Jan 2021 12:43:09 -0700 -Subject: [PATCH] Allow verify_cb_* to be called with ok=True - -With https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 -OpenSSL allowed verificaton to continue on UNABLE_TO_VERIFY_LEAF_SIGNATURE ---- - tests/test_ssl.py | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/tests/test_ssl.py b/tests/test_ssl.py -index 92b6942..7a3271a 100644 ---- a/tests/test_ssl.py -+++ b/tests/test_ssl.py -@@ -59,8 +59,13 @@ def allocate_srv_port(): - - - def verify_cb_new_function(ok, store): -- assert not ok - err = store.get_error() -+ # If err is X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, then instead of -+ # aborting, this callback is called to retrieve additional error -+ # information. In this case, ok might not be False. -+ # See https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 -+ if err != m2.X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: -+ assert not ok - assert err in [m2.X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, - m2.X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, - m2.X509_V_ERR_CERT_UNTRUSTED, -@@ -618,7 +623,12 @@ class MiscSSLClientTestCase(BaseSSLClientTestCase): - - def verify_cb_old(self, ctx_ptr, x509_ptr, err, depth, ok): - try: -- self.assertFalse(ok) -+ # If err is X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, then instead of -+ # aborting, this callback is called to retrieve additional error -+ # information. In this case, ok might not be False. -+ # See https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 -+ if err != m2.X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: -+ self.assertFalse(ok) - self.assertIn(err, - [m2.X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, - m2.X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, --- -2.29.2 - diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch b/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch deleted file mode 100644 index 2313a324a0..0000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d06eaa88a5f491827733f32027c46de3557fbd05 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= -Date: Fri, 19 Feb 2021 15:53:02 +0100 -Subject: [PATCH] Use of RSA_SSLV23_PADDING has been deprecated. - -Fixes #293. ---- - tests/test_rsa.py | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/tests/test_rsa.py b/tests/test_rsa.py -index 3de5016..7299785 100644 ---- a/tests/test_rsa.py -+++ b/tests/test_rsa.py -@@ -124,11 +124,6 @@ class RSATestCase(unittest.TestCase): - ptxt = priv.private_decrypt(ctxt, p) - self.assertEqual(ptxt, self.data) - -- # sslv23_padding -- ctxt = priv.public_encrypt(self.data, RSA.sslv23_padding) -- res = priv.private_decrypt(ctxt, RSA.sslv23_padding) -- self.assertEqual(res, self.data) -- - # no_padding - with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): - priv.public_encrypt(self.data, RSA.no_padding) --- -2.29.2 - diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch b/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch index f039ae8665..77ef7e557e 100644 --- a/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch +++ b/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch @@ -6,7 +6,7 @@ Signed-off-by: Khem Raj --- a/setup.py +++ b/setup.py -@@ -169,22 +169,6 @@ class _M2CryptoBuildExt(build_ext.build_ +@@ -169,24 +169,6 @@ class _M2CryptoBuildExt(build_ext.build_ log.debug('self.include_dirs = %s', self.include_dirs) log.debug('self.library_dirs = %s', self.library_dirs) @@ -25,6 +25,8 @@ Signed-off-by: Khem Raj - self.swig_opts.append('-D%s' % arch) - if mach in ('ppc64le', 'ppc64el'): - self.swig_opts.append('-D_CALL_ELF=2') +- if mach in ('arm64_be'): +- self.swig_opts.append('-D__AARCH64EB__') - self.swig_opts.extend(['-I%s' % i for i in self.include_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 deleted file mode 100644 index b3da87fb7e..0000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "A Python crypto and SSL toolkit" -HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:" - -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" - -PYPI_PACKAGE = "M2Crypto" -inherit pypi siteinfo setuptools3 - -DEPENDS += "openssl swig-native" -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-smtpd \ - ${PYTHON_PN}-xmlrpc \ -" - -DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" -DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" - -SWIG_FEATURES_x86 = "-D__i386__" -SWIG_FEATURES_x32 = "-D__ILP32__" - -SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']}" - -SWIG_FEATURES_append_riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" -SWIG_FEATURES_append_riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" -SWIG_FEATURES_append_mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" -SWIG_FEATURES_append_powerpc64le = " -D__powerpc64__" -export SWIG_FEATURES - -export STAGING_DIR - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb b/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb new file mode 100644 index 0000000000..950de564f2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "A Python crypto and SSL toolkit" +HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:" + +SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \ + file://cross-compile-platform.patch \ + file://avoid-host-contamination.patch \ + " +SRC_URI[sha256sum] = "99f2260a30901c949a8dc6d5f82cd5312ffb8abc92e76633baf231bbbcb2decb" + +PYPI_PACKAGE = "M2Crypto" +inherit pypi siteinfo setuptools3 + +DEPENDS += "openssl swig-native" +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-smtpd \ + ${PYTHON_PN}-xmlrpc \ +" + +DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" +DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" + +SWIG_FEATURES_x86 = "-D__i386__" +SWIG_FEATURES_x32 = "-D__ILP32__" + +SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']}" + +SWIG_FEATURES_append_riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES_append_riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES_append_mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" +SWIG_FEATURES_append_powerpc64le = " -D__powerpc64__" +export SWIG_FEATURES + +export STAGING_DIR + +BBCLASSEXTEND = "native" -- cgit 1.2.3-korg