Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-M2Crypto for openSUSE:Factory 
checked in at 2023-10-26 17:12:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-M2Crypto (Old)
 and      /work/SRC/openSUSE:Factory/.python-M2Crypto.new.24901 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-M2Crypto"

Thu Oct 26 17:12:01 2023 rev:49 rq:1120047 version:0.40.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-M2Crypto/python-M2Crypto.changes  
2023-08-15 16:39:50.502919729 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-M2Crypto.new.24901/python-M2Crypto.changes   
    2023-10-26 17:12:18.595621336 +0200
@@ -1,0 +2,31 @@
+Tue Oct 24 15:13:16 UTC 2023 - Matej Cepl <[email protected]>
+
+- Update to 0.40.0:
+  - OK, SO NOT THIS RELEASE, BUT IN THE NEXT RELEASE PYTHON2 WILL
+    TRULY GO!
+  - BREAKING CHANGES:
+    - There are no SWIG generated files (src/SWIG/_m2crytpo_wrap.c)
+      included anymore, so swig must be installed, no
+      exceptions! Also, for compatibility with Python 3.12+, swig
+      4.0+ is required.
+     - All support for asyncore has been removed, as it has been
+       removed in Python 3.12 as well (which means also removal of
+       contrib/dispatcher.py, M2Crypto/SSL/ssl_dispatcher.py,
+       ZServerSSL).
+     - All use of distutils (including the bundled ones in
+       setuptools) has been removed, so `setup.py clean` is no
+       more.
+     - Excessively complicated and error-prone __init__py has been
+       cleaned and `import M2Crypto` doesn’t include everything
+       anymore. Imports should specified as for example with `from
+       M2Crypto import foo`.
+  - ASN1_Time handling has been mostly rewritten and it almost
+    works even on Windows.
+  - All tests in Gitlab CI (with exceptions of some skipped tests
+    especially on Windows) are now green, tests of Python 2.7 on
+    CentOS 7 have been included.
+  - Introduce m2.err_clear_error()
+  - Make X509_verify_cert() accessible as m2.x509_verify_cert
+- Add 32bit_ASN1_Time.patch to quench errors on 32bit archs.
+
+-------------------------------------------------------------------

Old:
----
  M2Crypto-0.39.0.tar.gz
  M2Crypto-0.39.0.tar.gz.asc

New:
----
  32bit_ASN1_Time.patch
  M2Crypto-0.40.0.tar.gz
  M2Crypto-0.40.0.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-M2Crypto.spec ++++++
--- /var/tmp/diff_new_pack.CQhKPe/_old  2023-10-26 17:12:19.235644844 +0200
+++ /var/tmp/diff_new_pack.CQhKPe/_new  2023-10-26 17:12:19.235644844 +0200
@@ -18,7 +18,7 @@
 
 %define oldpython python
 Name:           python-M2Crypto
-Version:        0.39.0
+Version:        0.40.0
 Release:        0
 Summary:        Crypto and SSL toolkit for Python
 License:        MIT
@@ -27,6 +27,9 @@
 Source0:        
https://files.pythonhosted.org/packages/source/M/M2Crypto/M2Crypto-%{version}.tar.gz
 Source1:        M2Crypto-%{version}.tar.gz.asc
 Source99:       python-M2Crypto.keyring
+# PATCH-FIX-UPSTREAM 32bit_ASN1_Time.patch gl#m2crypto/m2crypto/-#341 
[email protected]
+# Not only Windows but all 32bit archs have fouled ASN1_Time.
+Patch0:         32bit_ASN1_Time.patch
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module typing}

++++++ 32bit_ASN1_Time.patch ++++++
---
 src/M2Crypto/util.py |    4 ++++
 tests/test_asn1.py   |   11 +++++------
 tests/test_x509.py   |    9 ++++-----
 3 files changed, 13 insertions(+), 11 deletions(-)

--- a/src/M2Crypto/util.py
+++ b/src/M2Crypto/util.py
@@ -13,6 +13,7 @@ from __future__ import absolute_import
 
 import binascii
 import logging
+import struct
 import sys
 
 from M2Crypto import m2, six
@@ -29,6 +30,9 @@ class UtilError(Exception):
 
 m2.util_init(UtilError)
 
+def is_32bit():
+    # type: () -> bool
+    return (struct.calcsize("P") * 8) == 32
 
 def pkcs5_pad(data, blklen=8):
     # type: (str, int) -> str
--- a/tests/test_asn1.py
+++ b/tests/test_asn1.py
@@ -5,10 +5,9 @@
 Copyright (c) 2005 Open Source Applications Foundation. All rights reserved."""
 
 import datetime
-import platform
 import time
 
-from M2Crypto import ASN1, m2
+from M2Crypto import ASN1, m2, util
 from tests import unittest
 
 
@@ -39,7 +38,7 @@ class ASN1TestCase(unittest.TestCase):
     def test_Object(self):
         pass  # XXX Dunno how to test
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_TIME(self):
         asn1 = ASN1.ASN1_TIME()
         self.assertEqual(str(asn1), 'Bad time value')
@@ -66,7 +65,7 @@ class ASN1TestCase(unittest.TestCase):
         t2 = time.strftime(format, time.gmtime(t))
         self.assertEqual(t1, t2)
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_UTCTIME(self):
         asn1 = ASN1.ASN1_UTCTIME()
         self.assertEqual(str(asn1), 'Bad time value')
@@ -93,7 +92,7 @@ class ASN1TestCase(unittest.TestCase):
         t2 = time.strftime(format, time.gmtime(t))
         self.assertEqual(t1, t2)
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_TIME_datetime(self):
         asn1 = ASN1.ASN1_TIME()
         # Test get_datetime and set_datetime
@@ -119,7 +118,7 @@ class ASN1TestCase(unittest.TestCase):
         self.assertEqual(t1, t2)
         self.assertEqual(str(udt), str(asn1.get_datetime()))
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_UTCTIME_datetime(self):
         asn1 = ASN1.ASN1_UTCTIME()
         # Test get_datetime and set_datetime
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -12,11 +12,10 @@ Author: Heikki Toivonen
 import base64
 import logging
 import os
-import platform
 import time
 import warnings
 
-from M2Crypto import ASN1, BIO, EVP, RSA, Rand, X509, m2, six  # noqa
+from M2Crypto import ASN1, BIO, EVP, RSA, Rand, X509, m2, six, util  # noqa
 from tests import unittest
 
 log = logging.getLogger(__name__)
@@ -244,7 +243,7 @@ class X509TestCase(unittest.TestCase):
         req.set_version(0)
         self.assertEqual(req.get_version(), 0)
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_mkcert(self):
         for utc in (True, False):
             req, pk = self.mkreq(1024)
@@ -588,12 +587,12 @@ class X509TestCase(unittest.TestCase):
         self.assertEqual(cert.get_serial_number(),
                          127614157056681299805556476275995414779)
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_date_after_2050_working(self):
         cert = X509.load_cert('tests/bad_date_cert.crt')
         self.assertEqual(str(cert.get_not_after()), 'Feb  9 14:57:46 2116 GMT')
 
-    @unittest.skipIf(platform.system() == 'Windows', 'Skip on Windows.')
+    @unittest.skipIf(util.is_32bit(), 'Skip on 32bit architectures.')
     def test_date_reference_counting(self):
         """x509_get_not_before() and x509_get_not_after() return internal
         pointers into X509. As the returned ASN1_TIME objects do not store any

++++++ M2Crypto-0.39.0.tar.gz -> M2Crypto-0.40.0.tar.gz ++++++
++++ 66973 lines of diff (skipped)

Reply via email to