Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1789631
Summary: | future fails to build with Python 3.9 (_dummy_thread removal) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Charalampos Stratakis <cstratak> |
Component: | future | Assignee: | Antonio T. (sagitter) <anto.trande> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | anto.trande, cstratak, mhroncok |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-02-11 16:16:29 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1785415 |
Description
Charalampos Stratakis
2020-01-09 23:19:55 UTC
On Python 3.9 _dummy_thread was removed and _thread is supposed to be used in its place. Also the last test failure is from a test which was copied from Python sources but removed on 3.9 with this change: https://github.com/python/cpython/commit/aad2ee01561f260c69af1951c0d6fcaf75c4d41b I've hacked a bit the code to make it build, but that would be better to be moved upstream as well: diff --git a/future-0.18.0/src/future/moves/_dummy_thread.py b/future-0.18.0/src/future/moves/_dummy_thread.py index 688d249..cc2fc89 100644 --- a/future-0.18.0/src/future/moves/_dummy_thread.py +++ b/future-0.18.0/src/future/moves/_dummy_thread.py @@ -2,7 +2,7 @@ from __future__ import absolute_import from future.utils import PY3 if PY3: - from _dummy_thread import * + from _thread import * else: __future_module__ = True from dummy_thread import * diff --git a/future-0.18.0/src/future/standard_library/__init__.py b/future-0.18.0/src/future/standard_library/__init__.py index cff02f9..3e8da8a 100644 --- a/future-0.18.0/src/future/standard_library/__init__.py +++ b/future-0.18.0/src/future/standard_library/__init__.py @@ -125,7 +125,7 @@ RENAMES = { # 'Tkinter': 'tkinter', '_winreg': 'winreg', 'thread': '_thread', - 'dummy_thread': '_dummy_thread', + 'dummy_thread': '_thread', # 'anydbm': 'dbm', # causes infinite import loop # 'whichdb': 'dbm', # causes infinite import loop # anydbm and whichdb are handled by fix_imports2 diff --git a/future-0.18.0/tests/test_future/test_standard_library.py b/future-0.18.0/tests/test_future/test_standard_library.py index e55876d..5b3a8f3 100644 --- a/future-0.18.0/tests/test_future/test_standard_library.py +++ b/future-0.18.0/tests/test_future/test_standard_library.py @@ -424,7 +424,6 @@ class TestStandardLibraryReorganization(CodeHandler): def test_underscore_prefixed_modules(self): import _thread - import _dummy_thread import _markupbase self.assertTrue(True) diff --git a/future-0.18.0/tests/test_future/test_urllib_toplevel.py b/future-0.18.0/tests/test_future/test_urllib_toplevel.py index 11e7720..25f4ca8 100644 --- a/future-0.18.0/tests/test_future/test_urllib_toplevel.py +++ b/future-0.18.0/tests/test_future/test_urllib_toplevel.py @@ -781,8 +781,6 @@ class UnquotingTests(unittest.TestCase): "%s" % result) self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, None) self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, ()) - with support.check_warnings(('', BytesWarning), quiet=True): - self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, bytes(b'')) def test_unquoting_badpercent(self): # Test unquoting on bad percent-escapes Upstream does not even support Python-3.8 Antonio, have you talked to upstream? Should we do that instead? I see you have ASSIGNED this bugzilla, so I don't want to do something you are already doing. I think upstream is not interested to Python 3.9 yet. Would you carry a downstream only fix then? Or why have you assigned the bugzilla? The following packages require python3-future. Making it build with Python 3.9 is quite essential for all of those listed. If you need further help with the fix, let us know. $ repoquery --repo=rawhide{,-source} --whatrequires python3-future appliance-tools-0:009.0-10.fc32.noarch buildbot-0:2.5.1-2.fc32.src buildbot-worker-0:2.5.1-2.fc32.noarch cobbler-0:3.1.1-2.fc32.noarch cobbler-0:3.1.1-2.fc32.src duplicity-0:0.8.10-2.fc32.x86_64 kiwi-0:9.19.15-1.fc32.src libolm-0:3.1.4-2.fc32.src libolm-python3-0:3.1.4-2.fc32.x86_64 linkchecker-0:9.4.0-9.20191005.d13b3f5.fc32.noarch linkchecker-0:9.4.0-9.20191005.d13b3f5.fc32.src openqa-0:4.6-41.20200101git68ae00a.fc32.src openqa-devel-0:4.6-41.20200101git68ae00a.fc32.noarch openqa-python-scripts-0:4.6-41.20200101git68ae00a.fc32.noarch preprocess-0:1.2.3-0.15.20170318git6e868bc.fc32.src proselint-0:0.10.2-6.fc32.noarch proselint-0:0.10.2-6.fc32.src python-CommonMark-0:0.9.0-5.fc32.src python-cloudflare-0:2.6.0-1.fc32.src python-cookiecutter-0:1.6.0-12.fc32.src python-dns-lexicon-0:3.3.4-3.fc32.src python-flask-autoindex-0:0.6-10.fc32.src python-ipmi-0:0.4.2-2.fc32.src python-lz4-0:3.0.2-2.fc32.src python-mdp-0:3.5-16.fc32.src python-netssh2-0:0.1.7-7.fc32.src python-okaara-0:1.0.37-13.fc32.src python-onionbalance-0:0.1.8-10.fc32.src python-pymatreader-0:0.0.21-1.fc32.src python-sievelib-0:1.1.1-9.fc32.src python-stestr-0:2.6.0-5.fc32~bootstrap.src python-twitter-0:3.5-6.fc32.src python3-CommonMark-0:0.9.0-5.fc32.noarch python3-brian2-0:2.3-1.fc32.x86_64 python3-cloudflare-0:2.6.0-1.fc32.noarch python3-cookiecutter-0:1.6.0-12.fc32.noarch python3-dns-lexicon-0:3.3.4-3.fc32.noarch python3-fdb-0:2.0.0-6.fc32.noarch python3-flask-autoindex-0:0.6-10.fc32.noarch python3-ipmi-0:0.4.2-2.fc32.noarch python3-mailmerge-0:1.9-6.fc32.noarch python3-mdp-0:3.5-16.fc32.noarch python3-molecule-0:2.22-2.fc32.noarch python3-okaara-0:1.0.37-13.fc32.noarch python3-onionbalance-0:0.1.8-10.fc32.noarch python3-otf2-0:2.2-8.fc32.x86_64 python3-pefile-0:2019.4.18-2.fc32.noarch python3-pyglet-0:1.4.6-2.fc32.noarch python3-pykeepass-0:3.2.0-2.fc32.noarch python3-pymatreader-0:0.0.21-1.fc32.noarch python3-pyqtrailer-0:0.6.2-23.fc32.noarch python3-pysaml2-0:4.5.0-10.fc32.noarch python3-rdopkg-0:1.1.1-2.fc32.noarch python3-sievelib-0:1.1.1-9.fc32.noarch python3-stestr-0:2.6.0-5.fc32~bootstrap.noarch python3-stomper-0:0.4.3-6.fc32.noarch python3-tracer-0:0.7.1-8.fc32.noarch python3-twitter-0:3.5-6.fc32.noarch python3-vertica-0:0.10.1-2.fc32.noarch python3-zanata-client-0:1.5.3-5.fc32.noarch quasselgrep-0:0.1-0.9.20170411git502c88b.fc32.src roca-detect-0:1.2.12-11.fc32.noarch roca-detect-0:1.2.12-11.fc32.src sagemath-0:8.8-7.fc32.src sagemath-core-0:8.8-7.fc32.x86_64 taskotron-trigger-0:0.7.0-6.fc32.noarch taskotron-trigger-0:0.7.0-6.fc32.src > If you need further help with the fix, let us know.
Yes, please. i'm leaving this ticket unassigned.
|