Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package setools for openSUSE:Factory checked in at 2026-08-09 21:33:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/setools (Old) and /work/SRC/openSUSE:Factory/.setools.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "setools" Sun Aug 9 21:33:04 2026 rev:58 rq:1369963 version:4.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/setools/setools.changes 2026-07-01 16:34:55.525486069 +0200 +++ /work/SRC/openSUSE:Factory/.setools.new.16738/setools.changes 2026-08-09 21:34:29.056431047 +0200 @@ -1,0 +2,30 @@ +Tue Aug 4 11:14:35 UTC 2026 - Dominique Leuenberger <[email protected]> + +- Fixup mcp flavor: make Name: explicitly unique per flavor. Change + 'mcp' flavor to mcp-multibuild to cheat with the name for the + subpackage (otherwise we get setools-mcp as source name, which + requires us to conidionalize summary/description in the preamble) + +------------------------------------------------------------------- +Tue Aug 4 10:19:52 UTC 2026 - Cathy Hu <[email protected]> + +- Move sedta and seinfoflow to setools-console-analyses + and exlude its build for SLE16 as python-networkx won't be + available there (bsc#1273200). + +------------------------------------------------------------------- +Tue Aug 4 08:43:46 UTC 2026 - Johannes Segitz <[email protected]> + +- Add mcp flavor to allow it to be excluded from ring0 + +------------------------------------------------------------------- +Wed Jul 29 07:10:14 UTC 2026 - Johannes Segitz <[email protected]> + +- Update to version 4.7.1: + * Add initial prompts to MCP server + * Add file_contexts querying class + * Change MCP server to use standalone FastMCP package +- Make tests run only on x86_64 because of missing dependencies + on other archs + +------------------------------------------------------------------- Old: ---- setools-4.7.0.tar.bz2 setools-4.7.0.tar.bz2.sha256.asc New: ---- setools-4.7.1.tar.bz2 setools-4.7.1.tar.bz2.sha256.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ setools.spec ++++++ --- /var/tmp/diff_new_pack.Z7BvYi/_old 2026-08-09 21:34:29.608449877 +0200 +++ /var/tmp/diff_new_pack.Z7BvYi/_new 2026-08-09 21:34:29.608449877 +0200 @@ -47,11 +47,25 @@ # are not found in other distributions. # Do not build test flavor for distributions which cannot run tests. ExclusiveArch: do_not_build +%else +# python-fastmcp is needed to run the tests, but this is not available on other +# archs +ExclusiveArch: x86_64 %endif %endif +%if 0%{?suse_version} >= 1600 && %{suse_version} < 1699 +# Do not build setools-console-analyses for SLE16.x +# as networkx is not included as of 2026-08-04 (bsc#1273200) +# which is needed for graph-based analysis +%bcond_with setools_console_analyses +%else +# Tumbleweed and SLE 15.x ship networkx +%bcond_without setools_console_analyses +%endif + Name: setools%{name_suffix} -Version: 4.7.0 +Version: 4.7.1 Release: 0 URL: https://github.com/SELinuxProject/setools Summary: Policy analysis tools for SELinux @@ -72,6 +86,7 @@ BuildRequires: python-rpm-macros %if "%{flavor}" == "test" BuildRequires: %{python_module PyQt6} +BuildRequires: %{python_module fastmcp} BuildRequires: %{python_module mcp} BuildRequires: %{python_module networkx >= 2.6} BuildRequires: %{python_module pytest-qt} @@ -79,8 +94,11 @@ BuildRequires: %{python_module tox} BuildRequires: checkpolicy %endif -%if "%{flavor}" != "test" +%if "%{flavor}" == "" Requires: setools-console = %{version}-%{release} +%if %{with setools_console_analyses} +Requires: setools-console-analyses = %{version}-%{release} +%endif Requires: setools-gui = %{version}-%{release} # needed since setools is not a python-main package, see # https://github.com/openSUSE/python-rpm-macros @@ -95,7 +113,7 @@ This meta-package depends upon the main packages necessary to run SETools. -%if "%{flavor}" != "test" +%if "%{flavor}" == "" %package console Summary: Policy analysis command-line tools for SELinux License: GPL-2.0-only @@ -110,10 +128,25 @@ seinfo Provide information about policies sesearch Tool to query policies - sedta Domain transition analysis tool - seinfoflow Information flow analysis tool sediff Semantic policy difference tool +%if %{with setools_console_analyses} +%package console-analyses +Summary: Policy analysis command-line tools for SELinux +License: GPL-2.0-only +Requires: %{python_for_executables}-networkx +Requires: %{python_for_executables}-setools = %{version} + +%description console-analyses +SETools is a collection of graphical tools, command-line tools, and +libraries designed to facilitate SELinux policy analysis. + +This package includes the following console tools: + + sedta Perform domain transition analyses. + seinfoflow Perform information flow analyses. +%endif + %package -n python-setools Summary: Python bindings for SELinux policy analysis License: LGPL-2.0-only @@ -148,20 +181,23 @@ This package includes the following graphical tools: apol policy analysis tool +%endif -%package mcp +%if "%{flavor}" == "mcp-multibuild" +%package -n setools-mcp Summary: MCP server for SELinux License: GPL-2.0-only +Requires: %{python_for_executables}-fastmcp Requires: %{python_for_executables}-mcp Requires: %{python_for_executables}-setools = %{version} -%description mcp +%description -n setools-mcp SETools is a collection of graphical tools, command-line tools, and libraries designed to facilitate SELinux policy analysis. This package includes the following console tools: - mcp A model context protocol server providing analysis tools to LLMs. +mcp: A model context protocol server providing analysis tools to LLMs. %endif @@ -174,9 +210,26 @@ %install %pyproject_install -%if "%{flavor}" != "test" +%if "%{flavor}" == "" install -m 644 -D %{SOURCE2} %{buildroot}%{_docdir}/%{software_name}/README.SUSE %python_expand %fdupes -s %{buildroot}%{$python_sitearch} + +%if %{without setools_console_analyses} +rm %{buildroot}%{_bindir}/sedta +rm %{buildroot}%{_bindir}/seinfoflow +rm %{buildroot}%{_mandir}/man1/sedta.1 +rm %{buildroot}%{_mandir}/man1/seinfoflow.1 +rm %{buildroot}%{_mandir}/ru/man1/sedta.1 +rm %{buildroot}%{_mandir}/ru/man1/seinfoflow.1 +%endif + +rm -f %{buildroot}%{_bindir}/setools-mcp +%endif + +%if "%{flavor}" == "mcp-multibuild" +# Keep ONLY setools-mcp in the mcp flavor buildroot and delete everything else +find %{buildroot} -type f -not -path "%{buildroot}%{_bindir}/setools-mcp" -delete +find %{buildroot} -type d -empty -delete %endif %check @@ -190,7 +243,7 @@ rm -rf %{buildroot} %endif -%if "%{flavor}" != "test" +%if "%{flavor}" == "" %files %{python_files setools} %defattr(-,root,root,-) %{python_sitearch}/setools @@ -201,32 +254,38 @@ %defattr(-,root,root,-) %{_bindir}/seinfo %{_bindir}/sesearch -%{_bindir}/sedta -%{_bindir}/seinfoflow %{_bindir}/sediff %{_bindir}/sechecker %{_mandir}/man1/sechecker.1.gz -%{_mandir}/man1/sedta.1.gz -%{_mandir}/man1/seinfoflow.1.gz %{_mandir}/man1/sediff.1.gz %{_mandir}/man1/seinfo.1.gz %{_mandir}/man1/sesearch.1.gz %{_mandir}/ru/man1/apol.1.gz %{_mandir}/ru/man1/sediff.1.gz -%{_mandir}/ru/man1/sedta.1.gz %{_mandir}/ru/man1/seinfo.1.gz -%{_mandir}/ru/man1/seinfoflow.1.gz %{_mandir}/ru/man1/sesearch.1.gz %dir %{_docdir}/%{software_name}/ %{_docdir}/%{software_name}/* +%if %{with setools_console_analyses} +%files console-analyses +%defattr(-,root,root,-) +%{_bindir}/sedta +%{_bindir}/seinfoflow +%{_mandir}/man1/sedta.1.gz +%{_mandir}/man1/seinfoflow.1.gz +%{_mandir}/ru/man1/sedta.1.gz +%{_mandir}/ru/man1/seinfoflow.1.gz +%endif + %files gui %defattr(-,root,root,-) %{_bindir}/apol %{_mandir}/man1/apol.1.gz +%endif -%files mcp +%if "%{flavor}" == "mcp-multibuild" +%files -n setools-mcp %{_bindir}/setools-mcp - %endif ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.Z7BvYi/_old 2026-08-09 21:34:29.656451514 +0200 +++ /var/tmp/diff_new_pack.Z7BvYi/_new 2026-08-09 21:34:29.664451787 +0200 @@ -1,4 +1,5 @@ <multibuild> <package>test</package> + <package>mcp-multibuild</package> </multibuild> ++++++ setools-4.7.0.tar.bz2 -> setools-4.7.1.tar.bz2 ++++++ ++++ 47598 lines of diff (skipped) ++++++ setools-4.7.0.tar.bz2.sha256.asc -> setools-4.7.1.tar.bz2.sha256.asc ++++++ --- /work/SRC/openSUSE:Factory/setools/setools-4.7.0.tar.bz2.sha256.asc 2026-07-01 16:34:55.277477440 +0200 +++ /work/SRC/openSUSE:Factory/.setools.new.16738/setools-4.7.1.tar.bz2.sha256.asc 2026-08-09 21:34:29.040430502 +0200 @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 -149ada9f39bb2f11b2e8ae292230a6f9f9f3069dd25bc30c30fd42a8d6f8cc90 setools-4.7.0.tar.bz2 +9b414eae7f17aa6ca53248d11d74fad01582a21985c78a483fa1240e70bd3b6a setools-4.7.1.tar.bz2 -----BEGIN PGP SIGNATURE----- -iHUEARYKAB0WIQTExisWcMLfMxRI8obGNj7xyWl7FAUCajrYQAAKCRDGNj7xyWl7 -FBWaAQDe0JejtZDAeWa2TLQ7jX3FwjEhes8ju09tbW3UE7NMqQD+J+Ua07mSCQDC -24sRymOZgm8Z4y8iWue1SR0ppUtC9A4= -=7onX +iHUEARYKAB0WIQTExisWcMLfMxRI8obGNj7xyWl7FAUCamjrNwAKCRDGNj7xyWl7 +FFMcAP0Wzf1uOpTCxQpJDvmVvpHcU00SfO6BJ0U1CkUKKSnfigEAoXUPjKhOW/o4 +Ol6JAVw9zERPE9U1xr/HH6POpHoY2g0= +=xAi9 -----END PGP SIGNATURE-----
