python-txtorcon fails to build with Python 3.8.0b1. test.test_util_imports.TestImports.test_no_GeoIP =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib64/python3.8/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks result = g.send(result) File "/builddir/build/BUILD/txtorcon-19.0.0/test/test_controller.py", line 1020, in test_web_agent_defaults resp = yield agent.request('GET', b'meejah.ca') File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1732, in request return self._requestWithEndpoint(key, endpoint, method, parsedURI, File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1499, in _requestWithEndpoint method = _ensureValidMethod(method) File "/usr/lib64/python3.8/site-packages/twisted/web/_newclient.py", line 618, in _ensureValidMethod if _VALID_METHOD.match(method): builtins.TypeError: cannot use a bytes pattern on a string-like object test.test_controller.WebAgentTests.test_web_agent_defaults =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib64/python3.8/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks result = g.send(result) File "/builddir/build/BUILD/txtorcon-19.0.0/test/test_controller.py", line 1034, in test_web_agent_deferred resp = yield agent.request('GET', b'meejah.ca') File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1732, in request return self._requestWithEndpoint(key, endpoint, method, parsedURI, File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1499, in _requestWithEndpoint method = _ensureValidMethod(method) File "/usr/lib64/python3.8/site-packages/twisted/web/_newclient.py", line 618, in _ensureValidMethod if _VALID_METHOD.match(method): builtins.TypeError: cannot use a bytes pattern on a string-like object test.test_controller.WebAgentTests.test_web_agent_deferred =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib64/python3.8/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks result = g.send(result) File "/builddir/build/BUILD/txtorcon-19.0.0/test/test_controller.py", line 1049, in test_web_agent_endpoint resp = yield agent.request('GET', b'meejah.ca') File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1732, in request return self._requestWithEndpoint(key, endpoint, method, parsedURI, File "/usr/lib64/python3.8/site-packages/twisted/web/client.py", line 1499, in _requestWithEndpoint method = _ensureValidMethod(method) File "/usr/lib64/python3.8/site-packages/twisted/web/_newclient.py", line 618, in _ensureValidMethod if _VALID_METHOD.match(method): builtins.TypeError: cannot use a bytes pattern on a string-like object test.test_controller.WebAgentTests.test_web_agent_endpoint ------------------------------------------------------------------------------- Ran 671 tests in 1.138s FAILED (skips=1, errors=3, successes=667) For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00940768-python-txtorcon/ For all our attempts to build python-txtorcon with Python 3.8, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-txtorcon/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.8: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/ Let us know here if you have any questions.
This looks like it's unrelated to python 3.8, since it also started to fail in koschei with the current python version. From what I can tell, the issue is caused by the latest twisted version update (19.2.0 → 19.2.1).
Let's report it upstream?
Yeah. Upon further investigation, this is probably fallout from this security fix for CVE-2019-12387: https://github.com/twisted/twisted/compare/twisted-19.2.0...twisted-19.2.1 I don't think that fixing a security issue should change accepted argument types though. I might suffer from too little sleep, but I can't find the twisted issue tracker -- Their website is broken garbage, and issues are disabled on the GitHub repo. https://www.twistedmatrix.com/ I mean, it would probably be possible to fix this in txtorcon (change "GET" to b"GET" everywhere?), but other packages are might be affected by this bug as well.
Their Trac instance is at https://twistedmatrix.com/trac/report (and I fail to use ti as well).
I tried this: https://twitter.com/decathorpe/status/1153707276978610177 Maybe it helps.
Someone responded on twitter - using strs there was always wrong, but was accepted by accident. I will patch txtorcon to fix this.
I've included an upstream patch restoring compatibility with twisted 19.2.1, package built for rawhide: https://koji.fedoraproject.org/koji/buildinfo?buildID=1341372 This should also make it build in the python 3.8 test COPR. I hope.
Thank you.