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