brz 3.3.4 incompatible with python 3.12.1

Bug #2047991 reported by Wirasuta
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Breezy
Fix Released
Critical
Jelmer Vernooij

Bug Description

brz 3.3.4 is incompatible with python 3.12.1. it uses deprecated `HTTPSConnection.__init__` signature.

See: https://docs.python.org/3/library/http.client.html#http.client.HTTPSConnection

```
Changed in version 3.12: The deprecated key_file, cert_file and check_hostname parameters have been removed.
```

Traceback

```
 brz: ERROR: TypeError: HTTPSConnection.__init__() takes from 2 to 3 positional arguments but 5 were given

 Traceback (most recent call last):
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/commands.py", line 1032, in exception_to_return_code
     return the_callable(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/commands.py", line 1224, in run_bzr
     ret = run(*run_argv)
           ^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/commands.py", line 774, in run_argv_aliases
     return self.run(**all_cmd_args)
            ^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/commands.py", line 799, in run
     return class_run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/builtins.py", line 1456, in run
     accelerator_tree, br_from = controldir.ControlDir.open_tree_or_branch(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/controldir.py", line 885, in open_tree_or_branch
     controldir = klass.open(location)
                  ^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/controldir.py", line 790, in open
     return klass.open_from_transport(t, probers=probers,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/controldir.py", line 821, in open_from_transport
     transport, format = _mod_transport.do_catching_redirections(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/__init__.py", line 1642, in do_catching_redirections
     return action(transport)
            ^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/controldir.py", line 809, in find_format
     return transport, ControlDirFormat.find_format(transport,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/controldir.py", line 1241, in find_format
     return prober.probe_transport(transport)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/bzr/__init__.py", line 114, in probe_transport
     server_version = medium.protocol_version()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/bzr/smart/medium.py", line 824, in protocol_version
     client_protocol.query_version()
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/bzr/smart/protocol.py", line 807, in query_version
     self.call(b'hello')
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/bzr/smart/protocol.py", line 645, in call
     self._request.finished_writing()
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/bzr/smart/medium.py", line 606, in finished_writing
     self._finished_writing()
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 2485, in _finished_writing
     data = self._medium.send_http_smart_request(self._buffer)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 2450, in send_http_smart_request
     code, body_filelike = t._post(bytes)
                           ^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 2169, in _post
     response = self.request(
                ^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 1807, in request
     response = self._opener.open(request)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 512, in open
     req = meth(req)
           ^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 521, in https_request
     return self.capture_connection(request, HTTPSConnection)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 510, in capture_connection
     connection = self.create_connection(request, http_connection_class)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 483, in create_connection
     connection = http_connection_class(
                  ^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/Cellar/breezy/3.3.4_2/libexec/lib/python3.12/site-packages/breezy/transport/http/urllib.py", line 305, in __init__
     http.client.HTTPSConnection.__init__(
 TypeError: HTTPSConnection.__init__() takes from 2 to 3 positional arguments but 5 were given

 brz 3.3.4 on python 3.12.1 (macOS-13.2.1-x86_64-i386-64bit)
 arguments: ['/usr/local/Cellar/breezy/3.3.4_2/libexec/bin/brz', 'branch', '--
     use-existing-dir', '--', 'https://launchpad.net/~niemeyer/gocheck/trunk',
     '.']
 plugins: bash_completion[3.3.4], changelog_merge[3.3.4],
     commitfromnews[3.3.4], cvs[3.3.4], darcs[3.3.4], email[3.3.4],
     fastimport[3.3.4], flake8[unknown], fossil[3.3.4], github[3.3.4],
     gitlab[3.3.4], hg[3.3.4], launchpad[3.3.4], mtn[3.3.4],
     netrc_credential_store[3.3.4], news_merge[3.3.4], po_merge[3.3.4],
     propose[3.3.4], pypi[3.3.4], quilt[unknown], repodebug[3.3.4],
     rewrite[unknown], stats[3.3.4], svn[3.3.4], upload[3.3.4],
     weave_fmt[3.3.4], webdav[3.3.4], zsh_completion[3.3.4]
 encoding: 'utf-8', fsenc: 'utf-8', lang: None
```

Related branches

Jelmer Vernooij (jelmer)
Changed in brz:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → Jelmer Vernooij (jelmer)
milestone: none → 3.3.5
Jelmer Vernooij (jelmer)
Changed in brz:
status: Triaged → Fix Released
Changed in brz:
status: Fix Released → Fix Committed
Jelmer Vernooij (jelmer)
Changed in brz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.