Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-ruff for openSUSE:Factory 
checked in at 2026-08-15 22:39:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ruff (Old)
 and      /work/SRC/openSUSE:Factory/.python-ruff.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ruff"

Sat Aug 15 22:39:46 2026 rev:123 rq:1371200 version:0.16.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ruff/python-ruff.changes  2026-08-11 
17:09:27.782541476 +0200
+++ /work/SRC/openSUSE:Factory/.python-ruff.new.1258/python-ruff.changes        
2026-08-15 22:39:50.211919422 +0200
@@ -1,0 +2,32 @@
+Fri Aug 14 08:57:37 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Add a _multibuild "test" flavour running upstream's Rust test suite:
+  * the package had no %check at all; the tests now build and run in
+    a separate flavour, so the main build stays as fast as before and
+    still publishes the only binaries
+  * the flavour needs no Python, so it skips the singlespec machinery
+    and produces a src.rpm only
+  * the suite runs fully offline against the vendored dev-dependencies
+  * ruff_linter is excluded because the PyPI sdist does not ship
+    crates/ruff_linter/resources/test/fixtures/, without which its
+    rule tests cannot load their input files
+
+-------------------------------------------------------------------
+Fri Aug 14 07:36:38 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.16.3:
+  * New preview rule UP048 rewrites "while 1" to "while True"
+  * PLR6104 no longer misses negative numbers (preview)
+  * S602, S603, S607 and S609 now also check keyword arguments
+  * PLE1300 and PLE1307 no longer report false positives or
+    negatives around the %b format character, bools and
+    concatenated strings
+  * "continue" in a "finally" block is now allowed on Python 3.8
+  * NPY201 autofix for np.chararray is now backwards-compatible
+  * RUF006 documentation now also suggests asyncio.TaskGroup
+  * ruff check --statistics now hyperlinks rule codes
+  * Shrink the Expr AST node to 64 bytes for lower memory use
+- Re-vendor the Rust dependencies; the statically linked crate
+  graph is unchanged, so License stays MIT AND MPL-2.0
+
+-------------------------------------------------------------------

Old:
----
  ruff-0.16.2.tar.gz

New:
----
  _multibuild
  ruff-0.16.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ruff.spec ++++++
--- /var/tmp/diff_new_pack.YzQjAI/_old  2026-08-15 22:39:51.856977329 +0200
+++ /var/tmp/diff_new_pack.YzQjAI/_new  2026-08-15 22:39:51.858977399 +0200
@@ -16,9 +16,19 @@
 #
 
 
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%global debug_package %{nil}
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+%endif
+%define origname python-ruff
 %bcond_without libalternatives
-Name:           python-ruff
-Version:        0.16.2
+Name:           %{origname}%{psuffix}
+Version:        0.16.3
 Release:        0
 Summary:        An extremely fast Python linter, written in Rust
 # Legal-Review-Notice: ruff itself is MIT, but the binary statically links
@@ -39,15 +49,24 @@
 URL:            https://github.com/astral-sh/ruff
 Source:         
https://files.pythonhosted.org/packages/source/r/ruff/ruff-%{version}.tar.gz
 Source1:        vendor.tar.zst
+BuildRequires:  cargo-packaging
+# The test flavour only builds and runs the Rust test suite. It needs no
+# Python at all, so it skips the singlespec machinery entirely - running
+# cargo test once per Python flavour would double the cost for no gain.
+# Everything below is guarded so the test flavour advertises no providers.
+# NOTE: spec-cleaner wants to hoist %%python_subpackages out of this %%if -
+# do not apply that, it makes the test flavour declare a phantom
+# python313-ruff-test subpackage that OBS then parses for scheduling.
+%if %{without test}
 BuildRequires:  %{python_module maturin}
 BuildRequires:  %{python_module pip}
 BuildRequires:  alts
-BuildRequires:  cargo-packaging
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       alts
 Provides:       ruff = %{version}-%{release}
 %python_subpackages
+%endif
 
 %description
 Ruff extremely fast Python linter written in rust supperseding many other 
linting tools
@@ -56,14 +75,32 @@
 %autosetup -a1 -p1 -n ruff-%{version}
 
 %build
+%if %{without test}
 %pyproject_wheel
+%endif
 
+%if %{without test}
 %install
 %pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 %python_clone -a %{buildroot}%{_bindir}/ruff
 %python_group_libalternatives ruff
+%endif
+
+%if %{with test}
+%check
+# The PyPI sdist does not ship crates/ruff_linter/resources/test/fixtures/,
+# so every ruff_linter rule test that reads a fixture file fails on a missing
+# path (2209 of its 2807 tests). Exclude that one crate, plus the single ruff
+# test that walks the same fixture tree, instead of disabling the whole suite -
+# the rest of the workspace (parser, formatter, semantic model, notebooks, CLI,
+# server, doctests) runs entirely offline against the vendored 
dev-dependencies.
+# The leading "--" is required: %%cargo_test is a parametrised macro, so
+# without it rpm parses "--workspace" as a macro option and aborts the build.
+%{cargo_test -- --workspace --exclude ruff_linter -- --skip 
cache::tests::same_results::ruff_linter_fixtures}
+%endif
 
+%if %{without test}
 %pre
 %python_libalternatives_reset_alternative ruff
 
@@ -73,4 +110,5 @@
 %python_alternative %{_bindir}/ruff
 %{python_sitearch}/ruff
 %{python_sitearch}/ruff-%{version}.dist-info
+%endif
 

++++++ _multibuild ++++++
<multibuild>
  <flavor>test</flavor>
</multibuild>

++++++ ruff-0.16.2.tar.gz -> ruff-0.16.3.tar.gz ++++++
++++ 7280 lines of diff (skipped)

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/python-ruff/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.python-ruff.new.1258/vendor.tar.zst differ: char 7, 
line 1

Reply via email to