Package: release.debian.org
Severity: normal
Tags: bookworm
User: [email protected]
Usertags: pu
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:oscrypto

[ Reason ]
This upload fixes FTBFS bug #1033822 in stable.
It fixes also the autopkgtests, which are currently broken in stable.

[ Impact ]
The package currently fails to build in stable.

[ Tests ]
I've verified that the package builds again with the changes.
The fixed autopkgtests are already working ok in trixie/sid.

[ Risks ]
Risk is low, the patches are taken from upstream.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
Fix OpenSSL version parsing.
Fix autopkgtests by switching to autopkgtest-pkg-pybuild.

[ Other info ]
- I'll await for approval before upload.
- These changes would actually make 1.3.0-1+deb12u1
identical to version 1.3.0-4 currently in trixie/sid,
except for the Standards-Version control field.
diff -Nru oscrypto-1.3.0/debian/changelog oscrypto-1.3.0/debian/changelog
--- oscrypto-1.3.0/debian/changelog     2022-07-04 08:53:23.000000000 +0200
+++ oscrypto-1.3.0/debian/changelog     2023-11-08 21:38:44.000000000 +0100
@@ -1,3 +1,15 @@
+oscrypto (1.3.0-1+deb12u1) bookworm; urgency=medium
+
+  * Team upload.
+  [ Jochen Sprickerhof ]
+  * Fix autopkgtest by switching to autopkgtest-pkg-pybuild. Closes: #1033822.
+  [ Bastian Germann ]
+  * Fix OpenSSL version parsing, take 1.
+  [ Arnaud Rebillout ]
+  * Fix OpenSSL version parsing, take 2. Closes: #1055598.
+
+ -- Santiago Vila <[email protected]>  Wed, 08 Nov 2023 21:38:44 +0100
+
 oscrypto (1.3.0-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru oscrypto-1.3.0/debian/control oscrypto-1.3.0/debian/control
--- oscrypto-1.3.0/debian/control       2022-07-04 08:53:23.000000000 +0200
+++ oscrypto-1.3.0/debian/control       2023-11-08 21:36:27.000000000 +0100
@@ -17,6 +17,7 @@
 Vcs-Browser: https://salsa.debian.org/python-team/packages/oscrypto
 Vcs-Git: https://salsa.debian.org/python-team/packages/oscrypto.git
 Rules-Requires-Root: no
+Testsuite: autopkgtest-pkg-pybuild
 
 Package: python3-oscrypto
 Architecture: all
diff -Nru oscrypto-1.3.0/debian/patches/libcrypto_ctypes_regex.patch 
oscrypto-1.3.0/debian/patches/libcrypto_ctypes_regex.patch
--- oscrypto-1.3.0/debian/patches/libcrypto_ctypes_regex.patch  1970-01-01 
01:00:00.000000000 +0100
+++ oscrypto-1.3.0/debian/patches/libcrypto_ctypes_regex.patch  2023-11-08 
21:36:39.000000000 +0100
@@ -0,0 +1,22 @@
+Origin: https://github.com/wbond/oscrypto/pull/76
+From: Martin Journois <[email protected]>
+Date: Thu, 10 Aug 2023 13:58:14 +0200
+Subject: MJ: Add fix suggested by @vcunat on _libcrypto_ctypes regex
+
+---
+ oscrypto/_openssl/_libcrypto_ctypes.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/oscrypto/_openssl/_libcrypto_ctypes.py 
b/oscrypto/_openssl/_libcrypto_ctypes.py
+index e33ebbc..9cb294a 100644
+--- a/oscrypto/_openssl/_libcrypto_ctypes.py
++++ b/oscrypto/_openssl/_libcrypto_ctypes.py
+@@ -40,7 +40,7 @@
+ 
+ is_libressl = 'LibreSSL' in version_string
+ 
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
+ if not version_match:
+     version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', 
version_string)
+ if not version_match:
diff -Nru 
oscrypto-1.3.0/debian/patches/Make_OpenSSL_version_regexes_more_robust.patch 
oscrypto-1.3.0/debian/patches/Make_OpenSSL_version_regexes_more_robust.patch
--- 
oscrypto-1.3.0/debian/patches/Make_OpenSSL_version_regexes_more_robust.patch    
    1970-01-01 01:00:00.000000000 +0100
+++ 
oscrypto-1.3.0/debian/patches/Make_OpenSSL_version_regexes_more_robust.patch    
    2023-11-08 21:36:39.000000000 +0100
@@ -0,0 +1,52 @@
+Origin: 
https://github.com/wbond/oscrypto/commit/d5f3437ed24257895ae1edd9e503cfb352e635a8
+From: wbond <[email protected]>
+Date: Thu, 17 Aug 2023 07:06:19 -0400
+Subject: Make OpenSSL version regexes more robust
+
+---
+ oscrypto/_openssl/_libcrypto_cffi.py   | 6 +++---
+ oscrypto/_openssl/_libcrypto_ctypes.py | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/oscrypto/_openssl/_libcrypto_cffi.py 
b/oscrypto/_openssl/_libcrypto_cffi.py
+index 14eb576..6f901ea 100644
+--- a/oscrypto/_openssl/_libcrypto_cffi.py
++++ b/oscrypto/_openssl/_libcrypto_cffi.py
+@@ -37,13 +37,13 @@
+ 
+ is_libressl = 'LibreSSL' in version_string
+ 
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d+\\.\\d+\\.\\d+[a-z]*)\\b', version_string)
+ if not version_match:
+-    version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', 
version_string)
++    version_match = re.search('(?<=LibreSSL )(\\d+\\.\\d+(\\.\\d+)?)\\b', 
version_string)
+ if not version_match:
+     raise LibraryNotFoundError('Error detecting the version of libcrypto')
+ version = version_match.group(1)
+-version_parts = re.sub('(\\d)([a-z]+)', '\\1.\\2', version).split('.')
++version_parts = re.sub('(\\d+)([a-z]+)', '\\1.\\2', version).split('.')
+ version_info = tuple(int(part) if part.isdigit() else part for part in 
version_parts)
+ 
+ # LibreSSL is compatible with libcrypto from OpenSSL 1.0.1
+diff --git a/oscrypto/_openssl/_libcrypto_ctypes.py 
b/oscrypto/_openssl/_libcrypto_ctypes.py
+index 9cb294a..4e1b3cf 100644
+--- a/oscrypto/_openssl/_libcrypto_ctypes.py
++++ b/oscrypto/_openssl/_libcrypto_ctypes.py
+@@ -40,13 +40,13 @@
+ 
+ is_libressl = 'LibreSSL' in version_string
+ 
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d+\\.\\d+\\.\\d+[a-z]*)\\b', version_string)
+ if not version_match:
+-    version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', 
version_string)
++    version_match = re.search('(?<=LibreSSL )(\\d+\\.\\d+(\\.\\d+)?)\\b', 
version_string)
+ if not version_match:
+     raise LibraryNotFoundError('Error detecting the version of libcrypto')
+ version = version_match.group(1)
+-version_parts = re.sub('(\\d)([a-z]+)', '\\1.\\2', version).split('.')
++version_parts = re.sub('(\\d+)([a-z]+)', '\\1.\\2', version).split('.')
+ version_info = tuple(int(part) if part.isdigit() else part for part in 
version_parts)
+ 
+ # LibreSSL is compatible with libcrypto from OpenSSL 1.0.1
diff -Nru oscrypto-1.3.0/debian/patches/openssl_3.0.10.patch 
oscrypto-1.3.0/debian/patches/openssl_3.0.10.patch
--- oscrypto-1.3.0/debian/patches/openssl_3.0.10.patch  1970-01-01 
01:00:00.000000000 +0100
+++ oscrypto-1.3.0/debian/patches/openssl_3.0.10.patch  2023-11-08 
21:36:39.000000000 +0100
@@ -0,0 +1,22 @@
+Origin: https://github.com/wbond/oscrypto/pull/76
+From: Martin Journois <[email protected]>
+Date: Wed, 9 Aug 2023 17:55:29 +0200
+Subject: MJ: Fix #75 bug with openssl 3.0.10
+
+---
+ oscrypto/_openssl/_libcrypto_cffi.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/oscrypto/_openssl/_libcrypto_cffi.py 
b/oscrypto/_openssl/_libcrypto_cffi.py
+index 8aed03e..14eb576 100644
+--- a/oscrypto/_openssl/_libcrypto_cffi.py
++++ b/oscrypto/_openssl/_libcrypto_cffi.py
+@@ -37,7 +37,7 @@
+ 
+ is_libressl = 'LibreSSL' in version_string
+ 
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
+ if not version_match:
+     version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', 
version_string)
+ if not version_match:
diff -Nru oscrypto-1.3.0/debian/patches/series 
oscrypto-1.3.0/debian/patches/series
--- oscrypto-1.3.0/debian/patches/series        2022-07-04 08:50:40.000000000 
+0200
+++ oscrypto-1.3.0/debian/patches/series        2023-11-08 21:36:39.000000000 
+0100
@@ -1 +1,4 @@
 do_not_put_LICENSE_in_egg_info.patch
+libcrypto_ctypes_regex.patch
+openssl_3.0.10.patch
+Make_OpenSSL_version_regexes_more_robust.patch
diff -Nru oscrypto-1.3.0/debian/tests/control 
oscrypto-1.3.0/debian/tests/control
--- oscrypto-1.3.0/debian/tests/control 2022-07-04 08:53:23.000000000 +0200
+++ oscrypto-1.3.0/debian/tests/control 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-Tests: upstream
-Restrictions: needs-internet
-Depends:
- python3-oscrypto,
- ca-certificates,
- python3-all,
- python3-asn1crypto (>= 1.5.1),
- python3-entrypoints,
diff -Nru oscrypto-1.3.0/debian/tests/upstream 
oscrypto-1.3.0/debian/tests/upstream
--- oscrypto-1.3.0/debian/tests/upstream        2022-07-04 08:43:14.000000000 
+0200
+++ oscrypto-1.3.0/debian/tests/upstream        1970-01-01 01:00:00.000000000 
+0100
@@ -1,14 +0,0 @@
-#!/bin/sh
-set -eu
-
-# supported versions of python [eg. python3.10 python3.9]
-pyvers="$(py3versions -r 2>/dev/null)"
-
-cp -a tests "$AUTOPKGTEST_TMP"
-cd "$AUTOPKGTEST_TMP"
-
-for py in ${pyvers}; do
-    echo "====== Running tests for ${py} ======"
-    printf '$ %s\n' "${py} -m unittest -v tests.make_suite 2>&1"
-    ${py} -m unittest -v tests.make_suite 2>&1
-done

Reply via email to