Accepting request 1193147 from devel:languages:python

- Update 0.42.0:
  - allow ASN1_{Integer,String} be initialized directly
  - minimal infrastructure for type hints for a C extension and
    some type hints for some basic modules
  - time_t on 32bit Linux is 32bit (integer) not 64bit (long)
  - EOS for CentOS 7
  - correct checking for OpenSSL version number on Windows
  - make compatible with Python 3.13 (replace PyEval_CallObject
    with PyObject_CallObject)
  - fix typo in extern function signature (and proper type of
    engine_ctrl_cmd_string())
  - move the package to Sorucehut
  - setup CI to use Sourcehut CI
  - setup CI on GitLab for Windows as well (remove Appveyor)
  - initial draft of documentation for migration to
    pyca/cryptography
  - fix Read the Docs configuration (contributed kindly by Facundo
    Tuesca)
- Remove upstreamed 32bit_ASN1_Time.patch 
- Remove python-M2Crypto.keyring, because PyPI broke GPG support

OBS-URL: https://build.opensuse.org/request/show/1193147
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-M2Crypto?expand=0&rev=53
This commit is contained in:
Dominique Leuenberger 2024-08-14 12:14:38 +00:00 committed by Git OBS Bridge
commit 489495c748
7 changed files with 31 additions and 821 deletions

View File

@ -1,115 +0,0 @@
---
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7eaac7d8e90a7075b1e5a21e4a2696cec39a5df292044a13734ac7169e1e4356
size 1265903

Binary file not shown.

BIN
m2crypto-0.42.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Sat Aug 10 22:41:07 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Update 0.42.0:
- allow ASN1_{Integer,String} be initialized directly
- minimal infrastructure for type hints for a C extension and
some type hints for some basic modules
- time_t on 32bit Linux is 32bit (integer) not 64bit (long)
- EOS for CentOS 7
- correct checking for OpenSSL version number on Windows
- make compatible with Python 3.13 (replace PyEval_CallObject
with PyObject_CallObject)
- fix typo in extern function signature (and proper type of
engine_ctrl_cmd_string())
- move the package to Sorucehut
- setup CI to use Sourcehut CI
- setup CI on GitLab for Windows as well (remove Appveyor)
- initial draft of documentation for migration to
pyca/cryptography
- fix Read the Docs configuration (contributed kindly by Facundo
Tuesca)
- Remove upstreamed 32bit_ASN1_Time.patch
- Remove python-M2Crypto.keyring, because PyPI broke GPG support
-------------------------------------------------------------------
Wed Apr 3 09:22:02 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

View File

@ -1,694 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=cBd8
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -19,18 +19,13 @@
%define oldpython python
%{?sle15_python_module_pythons}
Name: python-M2Crypto
Version: 0.40.0
Version: 0.42.0
Release: 0
Summary: Crypto and SSL toolkit for Python
License: MIT
Group: Development/Languages/Python
URL: https://gitlab.com/m2crypto/m2crypto
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 mcepl@suse.com
# Not only Windows but all 32bit archs have fouled ASN1_Time.
Patch0: 32bit_ASN1_Time.patch
URL: https://sr.ht/~mcepl/m2crypto/
Source0: https://files.pythonhosted.org/packages/source/M/M2crypto/m2crypto-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
@ -83,7 +78,7 @@ messenger for Zope.
Documentation for the Crypto and SSL toolkit for Python
%prep
%autosetup -p1 -n M2Crypto-%{version}
%autosetup -p1 -n m2crypto-%{version}
%build
export CFLAGS="%{optflags}"