Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-caio for openSUSE:Factory checked in at 2026-08-04 21:37:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-caio (Old) and /work/SRC/openSUSE:Factory/.python-caio.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-caio" Tue Aug 4 21:37:04 2026 rev:4 rq:1369386 version:0.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-caio/python-caio.changes 2026-07-06 12:37:42.530615986 +0200 +++ /work/SRC/openSUSE:Factory/.python-caio.new.16738/python-caio.changes 2026-08-04 21:39:28.190768559 +0200 @@ -1,0 +2,21 @@ +Tue Aug 4 05:37:37 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.11.1: + * Fix a segfault, a hang and around thirty further bugs across all + four I/O backends (linux-aio, io_uring, POSIX AIO and the thread + pool fallback) + * Ship the complete tests directory in the source distribution + * Add musllinux wheels +- Switch the source to the PyPI sdist: upstream did not bump "version" + in pyproject.toml for 0.11.0 or 0.11.1, so a build from the git tag + installed caio-0.10.2.dist-info. The sdist carries the correct + version and, since 0.11.0, the tests as well +- Do not install the top-level tests package that upstream's wheel now + contains, rather than claim the generic "tests" name in the + site-packages directory +- Skip the new tests that cannot work in a build chroot: those that + re-exec "python -c" pick up the uninstalled source tree instead of + the built extensions, and those asserting linux-aio and io_uring + timing are not reproducible under a parallel build + +------------------------------------------------------------------- Old: ---- caio-0.10.2.tar.gz New: ---- caio-0.11.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-caio.spec ++++++ --- /var/tmp/diff_new_pack.mdd6eI/_old 2026-08-04 21:39:29.666820511 +0200 +++ /var/tmp/diff_new_pack.mdd6eI/_new 2026-08-04 21:39:29.682821074 +0200 @@ -17,12 +17,18 @@ Name: python-caio -Version: 0.10.2 +Version: 0.11.1 Release: 0 Summary: Asynchronous file IO for Linux MacOS or Windows License: Apache-2.0 URL: https://github.com/mosquito/caio -Source: https://github.com/mosquito/caio/archive/refs/tags/%{version}.tar.gz#/caio-%{version}.tar.gz +# Use the PyPI sdist, not the GitHub archive: upstream forgot to bump +# "version" in pyproject.toml for 0.11.0 and 0.11.1, so a build from the git +# tag installs caio-0.10.2.dist-info and the %%files glob below misses it. The +# sdist is produced by upstream's release CI with the correct version injected, +# and since 0.11.0 it also ships the complete tests directory, so %%check is +# unaffected. +Source: https://files.pythonhosted.org/packages/source/c/caio/caio-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest-asyncio} @@ -49,6 +55,12 @@ # drop the bundled C sources/headers that the wheel ships alongside the .so find %{buildroot} -name '*.c' -delete find %{buildroot} -name '*.h' -delete +# 0.11.0 started shipping tests/ in the sdist without excluding it from the +# wheel's package discovery, so setuptools installs it as a top-level "tests" +# package. That name is far too generic to occupy in site-packages -- it would +# collide with every other project doing the same -- and the suite has already +# been run from the build tree by %%check, so drop it. +%python_expand rm -rf %{buildroot}%{$python_sitearch}/tests # force hash-based .pyc (avoid python-bytecode-inconsistent-mtime) %python_expand $python -m compileall -q -f -o 0 -o 1 --invalidation-mode unchecked-hash %{buildroot}%{$python_sitearch}/caio %python_expand %fdupes %{buildroot}%{$python_sitearch} @@ -57,8 +69,20 @@ # test_asyncio_adapter.py needs aiomisc (unpackaged); test_file_selector needs a # writable path the build chroot lacks; test_env_selector asserts the native # io_uring/linux-aio/thread backends are selectable, but the build chroot only -# offers the pure-Python fallback -- skip those, run the rest of the suite -%pytest_arch --asyncio-mode=auto --ignore tests/test_asyncio_adapter.py -k "not test_file_selector and not test_env_selector" +# offers the pure-Python fallback -- skip those, run the rest of the suite. +# +# The five names below are tests added in 0.11.0 that cannot pass here: +# * read_with_absurd_nbytes / linux_aio_process_events_max_requests re-exec +# "python -c" to survive a possible abort. For "-c" the interpreter puts the +# current directory first on sys.path, so the child imports the source tree's +# caio/ -- which has the .py files but none of the compiled extensions -- and +# fails with "No module named caio.thread_aio" before reaching the assertion. +# The test harness assumes an in-place build; we install into the buildroot. +# * process_events_respects_timeout_and_releases_gil, poll_does_not_block and +# process_events_negative_timeout assert real timing and blocking behaviour +# of linux-aio and io_uring completions, which a parallel OBS build chroot +# does not reproduce reliably. +%pytest_arch --asyncio-mode=auto --ignore tests/test_asyncio_adapter.py -k "not test_file_selector and not test_env_selector and not test_read_with_absurd_nbytes_raises_cleanly and not test_linux_aio_process_events_max_requests_is_bounded and not test_process_events_respects_timeout_and_releases_gil and not test_poll_does_not_block_when_nothing_pending and not test_process_events_negative_timeout_waits_indefinitely" %files %{python_files} %doc README.md ++++++ caio-0.10.2.tar.gz -> caio-0.11.1.tar.gz ++++++ ++++ 8579 lines of diff (skipped)
