On Thu, 10 Feb 2022, Andreas Tille wrote:
Control: tags -1 help
Hi,
I've updated python-envisage in Salsa[1] to the latest upstream version
and bumped its failing predepends to their according latest upstream and
fixed all bugs in those. For envisage I'm stumbling upon a Python3.10
related bug I'd like to ask for help:
...
======================================================================
ERROR: test_exclude_multiple
(envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase)
exclude multiple
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/build/python-envisage-6.0.1/.pybuild/cpython3_3.10_envisage/build/envisage/tests/test_egg_plugin_manager.py",
line 115, in test_exclude_multiple
self._add_eggs_on_path([self.egg_dir])
File
"/build/python-envisage-6.0.1/.pybuild/cpython3_3.10_envisage/build/envisage/tests/test_egg_based.py",
line 59, in _add_eggs_on_path
raise SystemError("Cannot find eggs %s" % errors)
SystemError: Cannot find eggs {}
I spent some time looking into this. The problem is that upstream
includes binary eggs (which are Python version specific) as part of its
test suite. The problem here is that there are no eggs included for
Python 3.10. Upstream is aware of this[1] but unfortunately, that patch
can't be applied because it is a binary patch. They have also later[2]
removed the binary eggs completely, but that patch can't be applied either
because it involves files that are not in the PyPI distribution. The best
solution might be do what Fedora did[3], but for that we'd probably have
to switch to using a GitHub tarball instead of the PyPI tarball because
the PyPI tarball is missing files.
Scott
[1]
https://github.com/enthought/envisage/commit/d29e6f438d16fc6ac6ede5381ba12d9849187b14
[2]
https://github.com/enthought/envisage/commit/6e5c7ba004e8700bd009c3d2b9444d543709a4d7
[3]
https://src.fedoraproject.org/rpms/python-envisage/c/a20fa2cf6fe0eaf7604394a8b93bf8d3b48bc599?branch=rawhide