I'm attaching a debdiff for unstable. The PR has been merged since my
previous message (although through an MR on launchpad).

It unfortunately includes newly-generated certificates.

-- 
Adrien
diff -Nru breezy-3.3.9/debian/changelog breezy-3.3.9/debian/changelog
--- breezy-3.3.9/debian/changelog       2024-10-20 16:23:06.000000000 +0200
+++ breezy-3.3.9/debian/changelog       2025-01-08 10:56:51.000000000 +0100
@@ -1,3 +1,16 @@
+breezy (3.3.9-2) unstable; urgency=medium
+
+  * Python 3.13 compatbility (Closes: #1092458):
+    - Generate test certificates that pass python3.13 validation
+      requirements:
+      + 
d/p/python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
+      + 
d/p/python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
+    - Adapt docstring testcase to python3.13 by removing leading
+      whitespace:
+      + 
d/p/python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch
+
+ -- Adrien Nader <adrien.na...@canonical.com>  Wed, 08 Jan 2025 10:56:51 +0100
+
 breezy (3.3.9-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru 
breezy-3.3.9/debian/patches/python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
 
breezy-3.3.9/debian/patches/python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
--- 
breezy-3.3.9/debian/patches/python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
      1970-01-01 01:00:00.000000000 +0100
+++ 
breezy-3.3.9/debian/patches/python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
      2025-01-08 10:56:35.000000000 +0100
@@ -0,0 +1,39 @@
+From cd478cc4daa5b0d63dd5a0488ebf024efc3b2330 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien.na...@canonical.com>
+Date: Tue, 7 Jan 2025 13:36:40 +0100
+Subject: [PATCH 1/5] tests: generate test certificates that pass python 3.13
+ criteria
+
+Python 3.13 has started requiring the authorityKeyIdentifier field as per
+https://github.com/python/cpython/issues/107361 . After iterating a bit,
+it appears that we only need to pass "-addext keyUsage=keyCertSign" to
+openssl during CA certificate creation and the server certificate will have
+the proper field.
+
+It's also possible to use something like `trustme` to generate the
+certificates but that would have been a much larger change and more work
+(maybe leading to most of the script being dropped however).
+
+Forwarded: https://github.com/breezy-team/breezy/pull/143
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092458
+
+---
+ breezy/tests/ssl_certs/create_ssls.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/breezy/tests/ssl_certs/create_ssls.py 
b/breezy/tests/ssl_certs/create_ssls.py
+index 4a1dd4b432..3bab367479 100755
+--- a/breezy/tests/ssl_certs/create_ssls.py
++++ b/breezy/tests/ssl_certs/create_ssls.py
+@@ -131,6 +131,8 @@ def build_ca_certificate():
+     _openssl(
+         [
+             "req",
++            "-addext",
++            "keyUsage = keyCertSign",
+             "-passin",
+             "stdin",
+             "-new",
+-- 
+2.45.2
+
diff -Nru 
breezy-3.3.9/debian/patches/python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
 
breezy-3.3.9/debian/patches/python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
--- 
breezy-3.3.9/debian/patches/python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
      1970-01-01 01:00:00.000000000 +0100
+++ 
breezy-3.3.9/debian/patches/python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
      2025-01-08 10:56:35.000000000 +0100
@@ -0,0 +1,545 @@
+From 45e679ddaa19f12db3bb6081f196087b8963c835 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien.na...@canonical.com>
+Date: Wed, 8 Jan 2025 10:04:28 +0100
+Subject: [PATCH 4/5] tests: re-generate CA certificates after changes to their
+ creation scripts
+
+Forwarded: https://github.com/breezy-team/breezy/pull/143
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092458
+
+---
+ breezy/tests/ssl_certs/ca.crt                 |  54 ++++-----
+ breezy/tests/ssl_certs/ca.key                 | 108 +++++++++---------
+ breezy/tests/ssl_certs/server.crt             |  57 ++++-----
+ breezy/tests/ssl_certs/server.csr             |  44 +++----
+ breezy/tests/ssl_certs/server_with_pass.key   | 108 +++++++++---------
+ .../tests/ssl_certs/server_without_pass.key   | 103 ++++++++---------
+ 6 files changed, 238 insertions(+), 236 deletions(-)
+
+diff --git a/breezy/tests/ssl_certs/ca.crt b/breezy/tests/ssl_certs/ca.crt
+index 14b1454de9..30885dcc14 100644
+--- a/breezy/tests/ssl_certs/ca.crt
++++ b/breezy/tests/ssl_certs/ca.crt
+@@ -1,35 +1,35 @@
+ -----BEGIN CERTIFICATE-----
+-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
+-iUJAVlnxqahLiMm7GUi/
++MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6M1aordgvlnDk/37VhsR
++JYROTKSYkfQ06qsieorN205M2dcCmugdMdjtXmGAVwE3DZOuRRx+2/4T3Y/wFMFc
++LCgxfFxKcy7/r6wPBuJO8h2iLijgZGFOKLfcj57nXBoSxQvHTHOuCWwMzcPepAsM
++kMLknZFWns+yti4Xn31cYYlWjhytp2fxP1NiUKZg6qi5CyPr112ysC61i/1brZbo
++IHrelbH0v/7IBsqGcSBpRDHLKQbHNBVr2AigDgdt1ayCjOuanmdCGrE7OeHd2ASS
++VLFpmKRpmfUjwCPPAkXJEifCmVMzO/fxXNV237qQa/osHNSz9k7cmK5U5iR2bVBR
++oCqae2Y+NQYgiYGJtW5XgfzBhHqH877ZqpMiPtnB9oGmFdXWnhtH8dIZ6YozylIl
++9kET3h78SEeNtHMovu+c5rpmdMzbjMM6QEi2aDiJzFSJHikgPfJg4XtIq+OjnDw3
++946xUiWsO/Nvq/18MvTDcsa3Y8nyiB7L4Hv4eqGdRUZD0OnfZR6dQIXJV2g0zBbP
++FCygXpfH2hBQXkG2WqC15RQm/TL5IkAVEogO96b2v1vRs9rabMqzUshWWdFep/1x
++NLNHPrgNTQvsmEE3LTgXZlRvr/8TGq2D2D6+8ia0UbpaIKMjUMVXQMee/Goo2hhq
++J0Pa8fpPujB0JC5jWz+yx8MCAwEAAaNgMF4wHQYDVR0OBBYEFMSNRx8FugB7FSR/
++u+o0w0PvFqZAMB8GA1UdIwQYMBaAFMSNRx8FugB7FSR/u+o0w0PvFqZAMA8GA1Ud
++EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQBZRAVE
++Y/J4j4fXttPzJ6g5NfemdUemBwnAW3P05AwpD4vxxb6ND5YgjfZun3hMC/Mx64BH
++6jox7xCm8KfZYhQkP1xUH2Hz+wjEvdTCVEiO+psiVeyD3PF3z1OwUc/+FJ1rRulK
++eOIk0xUpBJI1hVcjqGqQiD3nalUgz7WDAdi6hzemxLKdVg+VN6+Td1Ue6+H8IOEI
++J8c5721PTnXDy8EMbr24bd+8lLw/UN4T8E8CxyJ7VxuMThuKgeNmUQlcPdCIOCy+
++ge4GV16oD4xbx7ErQTYTIVJ/SmhbmRsJrrdWWTHVJWEAUkgRqy8t4y7ukLpM6fvZ
++wOR+pqRFGGQ7uxCMBJJ8vtYMxnloUCB2GFZ1em8QsMVdLn3ofzas3gNk47peHeZf
+++cFtzcwdcOJZYtf7xqdkbHkYX8j5szEkTkNaDynnPGffWYoKP/2AkbwtZ2OmhxEY
++PyFfk8D9/du1DTh92LCwJLzKbWRYJcSEI4FdF6z5OkVfg9QlhF/147cfVEtDd/6y
++ZDh3GjTX/VzyM/N4tR6VHyx75ZZRRanS6bmQAavxvUvcCMjSXWUpST5BFqctl+dV
++rjrhf1eaEk0GLcOsSbBHQNuY2bpBcQNN0hxbKkMMjKUksUuiNfyKWTTQQiu4Q1Ma
++5guXUID4iq8fXeBX7bCuAYlEJuLaq5Xy7ps9qQ==
+ -----END CERTIFICATE-----
+diff --git a/breezy/tests/ssl_certs/ca.key b/breezy/tests/ssl_certs/ca.key
+index 9300b9138b..c09dd002cd 100644
+--- a/breezy/tests/ssl_certs/ca.key
++++ b/breezy/tests/ssl_certs/ca.key
+@@ -1,54 +1,54 @@
+------BEGIN RSA PRIVATE KEY-----
+-Proc-Type: 4,ENCRYPTED
+-DEK-Info: DES-EDE3-CBC,0E3E2BC33F02C56C
+-
+-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
+------END RSA PRIVATE KEY-----
++-----BEGIN ENCRYPTED PRIVATE KEY-----
++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
++-----END ENCRYPTED PRIVATE KEY-----
+diff --git a/breezy/tests/ssl_certs/server.crt 
b/breezy/tests/ssl_certs/server.crt
+index 6e3c2524f8..025ae94e0d 100644
+--- a/breezy/tests/ssl_certs/server.crt
++++ b/breezy/tests/ssl_certs/server.crt
+@@ -1,35 +1,36 @@
+ -----BEGIN CERTIFICATE-----
+-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
+-qOcLjYZPPnKztDAyWVTU0H3hY++PflA=
++SIb3DQEBAQUAA4ICDwAwggIKAoICAQC+4nchFU83BOFSEq1v6d4DKj4I73NzbkeW
++V1KA7KeM1OfCz75NDR24GzwqdxP2cKaCijZMrSeYv/AqhzTYa3haL9dpKVqUWqMS
++0c7iR8AlpZjE2xyNHXjDo/ng9nFLmXt9prvPHTTNG1Pv2yhekmpbDnxMJfj693DF
++did4Aw7oLSeWNOv0PURmyNDtL9jDTRYUiddzapVp7DhB36St21ph5znt+Bh+mBBB
++bPdTUktKhuoFSV/wBGv8Id3LhCOzzBgthncWZQcwioIQThcTy7WdLDhM1yF35bVd
++GA/TvFcxHIXn39ToivPA2GcKG2EAUUq60J0sTzGhIQLYsK22CQDF4gOl6nv9dLr5
++tQ6LudpQMKyJelukd7ufqgKHrwJym6riat3HXF5NRomMWlxtSoEGWS02lS3PovFl
++bnVFxEP7Oirx48u2KdJEYzjgDJiwdB5T6hXQ+rAc+PMGAlvSzygg1iaiRcHxWExz
++rQrW3DxbZtMvlWgROsoKS3QZe39XoVOKKv3mdtGgc/ETuSntui7TxfoVA5M5ACei
++me/xpKFX/asaVBMiXo7+3nNfBL6P08uDhb45c2TxlZDHMyJFaumlpBxeiNWDm1dl
++Ne5bjaMi1oP4DL2ymHuaY1tdbXXbCeaBr/AVItvRTHDY8F5todcpkvk4CI2bxMFI
++l3ImEQQuMwIDAQABo4GHMIGEMAkGA1UdEwQCMAAwNwYDVR0RBDAwLocEfwAAAYcQ
++AAAAAAAAAAAAAAAAAAAAAYIJMTI3LjAuMC4xgglsb2NhbGhvc3QwHQYDVR0OBBYE
++FLwyB3dn5UcprsJChNTdi87AQBb8MB8GA1UdIwQYMBaAFMSNRx8FugB7FSR/u+o0
++w0PvFqZAMA0GCSqGSIb3DQEBCwUAA4ICAQAhqP8imBosxExR7hGMoolEfvaUpoa4
++1dqwKn/hk+yrIv64X5WTBLBdHhIX4FMdBSk7j03q9H/DUxmQyPLS4qdg7BJvez0I
++NirUZEktESe/hg4lWXX0axtqnICTzc4EJKjHgl8PT9i5wmFbmIf0db2gBPllLAv7
++gH/pVDRLZVrNWbYh9Gm3W4D2SlN20p8Y5bubDtLRMiwOacilYr6gyaRpTp4dGqqu
++fFSDsKrFlTYt48C/4WX0CmDruOLBCWq7rH0DL3D6J2HZyR7DYLhJ1waDnsQcS04D
++5NL2pT/K2ZlMq/J/KkaQBawXotZdPE1z/1bHkNI6KexXmIsCz7xn3jiuGWuDoCYU
++aTHyBs6xQ2i9LLdrwRxIrdin8xp5sEGGHM4KdqRBb1eLDrxfDqbtosDwdg+XRrCL
++l1q7oHHNq/OJCRZgWQ0Hms+tUoUXrHc+Pao3I7zhkGxBeb0ytGuBoCHzifB8KW8y
++1yuoVhoBz/sU+wqSAXUpJdakV6MxDCyK3OgrrIMfZKqouGnlsuabJw4YFsMBkhuD
++qn/PSO8OOui7ZF9nL8IxGbsyB9rnv1qWtZ+o/ViUpgJkuhjl+vhkZQUO8y6AJFU6
++AS2RSkQaEqd5808WtYK6VAsBnjD04ZCT9aU4d0u0l7qKckOEtNJgUZvWfBVAYo7c
+++bFRLyQw0xiVYQ==
+ -----END CERTIFICATE-----
+diff --git a/breezy/tests/ssl_certs/server.csr 
b/breezy/tests/ssl_certs/server.csr
+index f9725329ff..89f5a2c14a 100644
+--- a/breezy/tests/ssl_certs/server.csr
++++ b/breezy/tests/ssl_certs/server.csr
+@@ -3,27 +3,27 @@ 
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
+ -----END CERTIFICATE REQUEST-----
+diff --git a/breezy/tests/ssl_certs/server_with_pass.key 
b/breezy/tests/ssl_certs/server_with_pass.key
+index 1dd83b649d..ae6d6ec6dc 100644
+--- a/breezy/tests/ssl_certs/server_with_pass.key
++++ b/breezy/tests/ssl_certs/server_with_pass.key
+@@ -1,54 +1,54 @@
+------BEGIN RSA PRIVATE KEY-----
+-Proc-Type: 4,ENCRYPTED
+-DEK-Info: DES-EDE3-CBC,865EB7A74D9380C5
+-
+-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
+------END RSA PRIVATE KEY-----
++-----BEGIN ENCRYPTED PRIVATE KEY-----
++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
++RqBFvE3FkaUmAZTvoVgGt3uyEh4SSSR5
++-----END ENCRYPTED PRIVATE KEY-----
+diff --git a/breezy/tests/ssl_certs/server_without_pass.key 
b/breezy/tests/ssl_certs/server_without_pass.key
+index c158e08072..37080cbe0b 100644
+--- a/breezy/tests/ssl_certs/server_without_pass.key
++++ b/breezy/tests/ssl_certs/server_without_pass.key
+@@ -1,51 +1,52 @@
+------BEGIN RSA PRIVATE KEY-----
+-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
+------END RSA PRIVATE KEY-----
++-----BEGIN PRIVATE KEY-----
++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
++qaFsUyg+Hs0Zme451SYuGP/r613TEQ==
++-----END PRIVATE KEY-----
+-- 
+2.45.2
+
diff -Nru 
breezy-3.3.9/debian/patches/python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch
 
breezy-3.3.9/debian/patches/python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch
--- 
breezy-3.3.9/debian/patches/python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch
      1970-01-01 01:00:00.000000000 +0100
+++ 
breezy-3.3.9/debian/patches/python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch
      2025-01-08 10:56:45.000000000 +0100
@@ -0,0 +1,35 @@
+From 265266aaac39f41f4a211664f966631084aae982 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien.na...@canonical.com>
+Date: Tue, 7 Jan 2025 21:20:22 +0100
+Subject: [PATCH 5/5] tests: match python 3.13, drop leading whitespace in
+ expected docstring
+
+Forwarded: https://github.com/breezy-team/breezy/pull/143
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092458
+
+---
+ breezy/tests/test_symbol_versioning.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/breezy/tests/test_symbol_versioning.py 
b/breezy/tests/test_symbol_versioning.py
+index fb57e8ed87..398b60f36f 100644
+--- a/breezy/tests/test_symbol_versioning.py
++++ b/breezy/tests/test_symbol_versioning.py
+@@ -100,10 +100,10 @@ class TestDeprecationWarnings(TestCase):
+         expected_docstring = (
+             "Deprecated method docstring.\n"
+             "\n"
+-            "        This might explain stuff.\n"
+-            "        \n"
+-            "        This method was deprecated in version 0.7.0.\n"
+-            "        "
++            "This might explain stuff.\n"
++            "\n"
++            "This method was deprecated in version 0.7.0.\n"
++            ""
+         )
+         self.check_deprecated_callable(
+             expected_warning,
+-- 
+2.45.2
+
diff -Nru breezy-3.3.9/debian/patches/series breezy-3.3.9/debian/patches/series
--- breezy-3.3.9/debian/patches/series  2024-10-20 16:23:06.000000000 +0200
+++ breezy-3.3.9/debian/patches/series  2025-01-08 10:56:45.000000000 +0100
@@ -3,3 +3,6 @@
 08_disable_sphinx_epytext
 16_generate_ids
 17_testtools_version
+python3.13/0001-tests-generate-test-certificates-that-pass-python-3..patch
+python3.13/0004-tests-re-generate-CA-certificates-after-changes-to-t.patch
+python3.13/0005-tests-match-python-3.13-drop-leading-whitespace-in-e.patch

Reply via email to