Source: python-time-machine Version: 2.13.0-2 Severity: normal Tags: upstream patch User: debian-pyt...@lists.debian.org Usertags: python3.13 Forwarded: https://github.com/adamchainz/time-machine/pull/425
This package failed build from source when test-built against a version of python3-defaults that incudes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html This has been resolved upstream, as have a few other 3.13 issues. Log snippet: adding 'time_machine-2.13.0.dist-info/top_level.txt' adding 'time_machine-2.13.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel Successfully built time_machine-2.13.0-cp313-cp313-linux_aarch64.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_time-machine * Building wheel... running bdist_wheel running build running build_py creating build/lib.linux-aarch64-cpython-312 creating build/lib.linux-aarch64-cpython-312/time_machine copying src/time_machine/__init__.py -> build/lib.linux-aarch64-cpython-312/time_machine running egg_info writing src/time_machine.egg-info/PKG-INFO writing dependency_links to src/time_machine.egg-info/dependency_links.txt writing entry points to src/time_machine.egg-info/entry_points.txt writing requirements to src/time_machine.egg-info/requires.txt writing top-level names to src/time_machine.egg-info/top_level.txt reading manifest file 'src/time_machine.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'tests' adding license file 'LICENSE' writing manifest file 'src/time_machine.egg-info/SOURCES.txt' copying src/time_machine/py.typed -> build/lib.linux-aarch64-cpython-312/time_machine running build_ext building '_time_machine' extension creating build/temp.linux-aarch64-cpython-312 creating build/temp.linux-aarch64-cpython-312/src aarch64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c src/_time_machine.c -o build/temp.linux-aarch64-cpython-312/src/_time_machine.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-312/src/_time_machine.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-312/_time_machine.cpython-312-aarch64-linux-gnu.so installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64/wheel creating build/bdist.linux-aarch64/wheel/time_machine copying build/lib.linux-aarch64-cpython-312/time_machine/__init__.py -> build/bdist.linux-aarch64/wheel/./time_machine copying build/lib.linux-aarch64-cpython-312/time_machine/py.typed -> build/bdist.linux-aarch64/wheel/./time_machine copying build/lib.linux-aarch64-cpython-312/_time_machine.cpython-312-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/wheel/. running install_egg_info Copying src/time_machine.egg-info to build/bdist.linux-aarch64/wheel/./time_machine-2.13.0.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/time_machine-2.13.0.dist-info/WHEEL creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_time-machine/.tmp-evrlovll/time_machine-2.13.0-cp312-cp312-linux_aarch64.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding '_time_machine.cpython-312-aarch64-linux-gnu.so' adding 'time_machine/__init__.py' adding 'time_machine/py.typed' adding 'time_machine-2.13.0.dist-info/LICENSE' adding 'time_machine-2.13.0.dist-info/METADATA' adding 'time_machine-2.13.0.dist-info/WHEEL' adding 'time_machine-2.13.0.dist-info/entry_points.txt' adding 'time_machine-2.13.0.dist-info/top_level.txt' adding 'time_machine-2.13.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel Successfully built time_machine-2.13.0-cp312-cp312-linux_aarch64.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_time-machine/build; python3.13 -m pytest Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module> raise SystemExit(pytest.console_main()) ~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 156, in main config = _prepareconfig(args, plugins) File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 341, in _prepareconfig config = pluginmanager.hook.pytest_cmdline_parse( pluginmanager=pluginmanager, args=args ) File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall raise exception.with_traceback(exception.__traceback__) File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 122, in _multicall teardown.throw(exception) # type: ignore[union-attr] ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse config = yield ^^^^^ File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1140, in pytest_cmdline_parse self.parse(args) ~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1490, in parse self._preparse(args, addopts=addopts) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1377, in _preparse self.pluginmanager.load_setuptools_entrypoints("pytest11") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 421, in load_setuptools_entrypoints plugin = ep.load() File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in load module = import_module(match.group('module')) File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module return _bootstrap._gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "/usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py", line 174, in exec_module exec(co, module.__dict__) ~~~~^^^^^^^^^^^^^^^^^^^^^ File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_time-machine/build/time_machine/__init__.py", line 223, in <module> uuid._load_system_functions # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'uuid' has no attribute '_load_system_functions' E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_time-machine/build; python3.13 -m pytest I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_time-machine/build; python3.12 -m pytest ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.2, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>> configfile: pyproject.toml plugins: time_machine-2.13.0, typeguard-4.3.0 collected 1 item tests/test_basics.py . [100%] ============================== 1 passed in 0.01s =============================== dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:6: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-11T15:46:43Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/701520/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano