calibre fails to build with Python 3.9.0a5, it hangs in %check: test_jobs_manager (calibre.srv.tests.loop.LoopTest) Test the jobs manager ... Exception in thread JobsMonitor0: Traceback (most recent call last): File "/usr/lib64/python3.9/threading.py", line 944, in _bootstrap_inner self.run() File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/srv/jobs.py", line 43, in run result = func() File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/utils/ipc/simple_worker.py", line 258, in fork_job return two_part_fork_job(env, priority, cwd)( File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/utils/ipc/simple_worker.py", line 174, in two_part_fork_job listener, w = create_worker(env, priority, cwd) File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/utils/ipc/simple_worker.py", line 129, in create_worker address, listener = create_listener(auth_key) File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/utils/ipc/server.py", line 142, in create_listener l = LinuxListener(address=address, authkey=authkey, backlog=backlog) File "/builddir/build/BUILD/calibre-4.12.0/src/calibre/utils/ipc/server.py", line 109, in __init__ self._listener._unlink.cancel() AttributeError: 'NoneType' object has no attribute 'cancel' !! Copr timeout => sending INT For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01322481-calibre/ For all our attempts to build calibre with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/calibre/ 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.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
Can you please try again with 4.15.0 I just built in Rawhide? It fails in mock, but the error is different and may be mock-specific: test_qt (calibre.test_build.BuildTest) ... [5749:5749:0514/135010.702617:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/calibre/ picked up your commit. It failed. The error was: ERROR: test_feedparser (calibre.test_build.BuildTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/calibre-4.15.0/src/calibre/test_build.py", line 322, in test_feedparser from calibre.web.feeds.feedparser import parse File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 982, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 925, in _find_spec File "/builddir/build/BUILD/calibre-4.15.0/src/calibre/startup.py", line 53, in find_spec m = import_module('feedparser') File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/usr/lib/python3.9/site-packages/feedparser.py", line 93, in <module> _base64decode = getattr(base64, 'decodebytes', base64.decodestring) AttributeError: module 'base64' has no attribute 'decodestring' See https://docs.python.org/3.9/whatsnew/3.9.html#removed "base64.encodestring() and base64.decodestring(), aliases deprecated since Python 3.1, have been removed: use base64.encodebytes() and base64.decodebytes() instead." bz1807186
so, progress!
Indeed, but bz1807186 remains unanswered.
Not any more! I have less patience than you. :P