Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libselinux for openSUSE:Factory checked in at 2026-07-13 14:25:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libselinux (Old) and /work/SRC/openSUSE:Factory/.libselinux.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libselinux" Mon Jul 13 14:25:23 2026 rev:92 rq:1364575 version:3.11 Changes: -------- --- /work/SRC/openSUSE:Factory/libselinux/libselinux-bindings.changes 2026-05-16 19:24:14.101324780 +0200 +++ /work/SRC/openSUSE:Factory/.libselinux.new.1991/libselinux-bindings.changes 2026-07-13 14:25:26.774040818 +0200 @@ -1,0 +2,19 @@ +Mon Jul 6 12:52:44 UTC 2026 - Cathy Hu <[email protected]> + +- Update to version 3.11 + https://github.com/SELinuxProject/selinux/releases/tag/3.11 + - Development-relevant changes: + - Reformatted entire tree based on .clang-format and added new + check-format/format make targets to check and/or reformat code to match. + This is now a requirement for new patches. + - libselinux and python use system Python3 build module + - Updated pywrap build targets for modern python builds using the Python3 build + module. + - Build shared libraries with -fPIC for LTO. +- Packaging changes: + - Add python-build as BuildRequires + - Drop python3.6 build in 15.7, as python-build is not available for python3.6 + - Add workaround in Makefile as python multi build does not work + with the combined dist/ folder from upstream + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/libselinux/libselinux.changes 2026-06-03 20:20:33.096531783 +0200 +++ /work/SRC/openSUSE:Factory/.libselinux.new.1991/libselinux.changes 2026-07-13 14:25:26.918045741 +0200 @@ -1,0 +2,33 @@ +Mon Jul 6 12:40:16 UTC 2026 - Cathy Hu <[email protected]> + +- Update to version 3.11 + https://github.com/SELinuxProject/selinux/releases/tag/3.11 + - User-visible changes: + - Several security improvements in libselinux + - Rewrote libselinux selinux_restorecon(3) to eliminate TOCTOU issues in file + relabeling if /proc is available + - Fixed libselinux constructor to not clobber errno (#445). + - Fixed libselinux selabel_partial_match(3) to correctly find partial matches. + - Fixed libselinux selinux_init_policy_load() to still try to mount selinuxfs on + /sys/fs/selinux even if the mount of sysfs on /sys fails - this can occur + legitimately within a user namespace. + - Improved restorecon related functionality in libselinux + - Development-relevant changes: + - Reformatted entire tree based on .clang-format and added new + check-format/format make targets to check and/or reformat code to match. + This is now a requirement for new patches. + - Fixed libselinux build for non-pthread builds. + - Multiple fixes for musl/llvm-based builds, including adding a new + EXTRA_LD_FLAGS variable that can be set for libselinux builds to pass + --undefined-version through to lld (#511 thru #515). + - Fixed uclibc build failure (#435). + - Build shared libraries with -fPIC for LTO. + - Notable bug fixes: + - libselinux: avoid out-of-bounds access on zero-length lines +- Packaging changes: + - Drop patch restorecon-Only-log-error-on-readonly-fs-bsc-1232226.patch + as it was accepted upstream + - Rewrite skip_cycles.patch since the code path has been rewritten entirely + upstream + +------------------------------------------------------------------- Old: ---- libselinux-3.10.tar.gz libselinux-3.10.tar.gz.asc restorecon-Only-log-error-on-readonly-fs-bsc-1232226.patch New: ---- libselinux-3.11.tar.gz libselinux-3.11.tar.gz.asc ----------(Old B)---------- Old:/work/SRC/openSUSE:Factory/.libselinux.new.1991/libselinux.changes-- Packaging changes: /work/SRC/openSUSE:Factory/.libselinux.new.1991/libselinux.changes: - Drop patch restorecon-Only-log-error-on-readonly-fs-bsc-1232226.patch /work/SRC/openSUSE:Factory/.libselinux.new.1991/libselinux.changes- as it was accepted upstream ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libselinux-bindings.spec ++++++ --- /var/tmp/diff_new_pack.UMamET/_old 2026-07-13 14:25:28.062084856 +0200 +++ /var/tmp/diff_new_pack.UMamET/_new 2026-07-13 14:25:28.062084856 +0200 @@ -16,12 +16,12 @@ # -%{?sle15allpythons} +%{?sle15_python_module_pythons} %define python_subpackage_only 1 -%define libsepol_ver 3.10 +%define libsepol_ver 3.11 %define upname libselinux Name: libselinux-bindings -Version: 3.10 +Version: 3.11 Release: 0 Summary: SELinux runtime library and utilities License: LicenseRef-SUSE-Public-Domain @@ -39,6 +39,7 @@ # Make linking working even when default pkg-config doesn’t provide -lpython<ver> Patch6: python3.8-compat.patch Patch7: swig4_moduleimport.patch +BuildRequires: %{python_module build} BuildRequires: %{python_module devel} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} @@ -93,6 +94,16 @@ %prep %autosetup -p1 -n %{upname}-%{version} +# Workaround for python multi python versions +# Add --outdir parameter to wheel generation so that dist/$(PYTHON)/ is used instead of dist/ for .whl, otherwise +# all wheels for all python version will end up in dist/ which causes conflicts. +# https://github.com/SELinuxProject/selinux/blob/2233a23a4d4f1bf29054037babec13f30d038e65/libselinux/src/Makefile#L154 +sed -i 's|--wheel \.|--wheel --outdir dist/$(PYTHON) \.|g' src/Makefile +# Use only current python version folder +# https://github.com/SELinuxProject/selinux/blob/2233a23a4d4f1bf29054037babec13f30d038e65/libselinux/src/Makefile#L154 +sed -i 's|dist/\*.whl|dist/$(PYTHON)/*.whl|g' src/Makefile +# end Workaround + %build %{python_expand : %make_build LIBDIR="%{_libdir}" CFLAGS="%{optflags} -fno-semantic-interposition" swigify USE_PCRE2=y PYTHON=$python ++++++ libselinux.spec ++++++ --- /var/tmp/diff_new_pack.UMamET/_old 2026-07-13 14:25:28.098086087 +0200 +++ /var/tmp/diff_new_pack.UMamET/_new 2026-07-13 14:25:28.102086224 +0200 @@ -16,9 +16,9 @@ # -%define libsepol_ver 3.10 +%define libsepol_ver 3.11 Name: libselinux -Version: 3.10 +Version: 3.11 Release: 0 Summary: SELinux runtime library and utilities License: LicenseRef-SUSE-Public-Domain @@ -37,8 +37,6 @@ Patch6: python3.8-compat.patch Patch7: swig4_moduleimport.patch Patch8: man_selinux_disabled_mismatch_kernel_config.patch -# PATCH-FIX-UPSTREAM restorecon-Only-log-error-on-readonly-fs-bsc-1232226.patch bsc#1232226 -- based on commit fd411d50ba1cb3e8ad5f8ce4e3c9bc7fcbe4340c -- [email protected] -Patch9: restorecon-Only-log-error-on-readonly-fs-bsc-1232226.patch BuildRequires: fdupes BuildRequires: libsepol-devel >= %{libsepol_ver} BuildRequires: libsepol-devel-static >= %{libsepol_ver} ++++++ libselinux-3.10.tar.gz -> libselinux-3.11.tar.gz ++++++ ++++ 16281 lines of diff (skipped) ++++++ skip_cycles.patch ++++++ --- /var/tmp/diff_new_pack.UMamET/_old 2026-07-13 14:25:28.598103183 +0200 +++ /var/tmp/diff_new_pack.UMamET/_new 2026-07-13 14:25:28.598103183 +0200 @@ -1,15 +1,21 @@ -Index: libselinux-3.4-rc3/src/selinux_restorecon.c +Index: libselinux-3.11/src/selinux_restorecon.c =================================================================== ---- libselinux-3.4-rc3.orig/src/selinux_restorecon.c -+++ libselinux-3.4-rc3/src/selinux_restorecon.c -@@ -871,7 +871,8 @@ loop_body: - errno = ELOOP; - state->error = -1; - state->abort = true; -- goto finish; -+ fts_set(fts, ftsent, FTS_SKIP); -+ continue; - case FTS_DP: - continue; - case FTS_DNR: +--- libselinux-3.11.orig/src/selinux_restorecon.c ++++ libselinux-3.11/src/selinux_restorecon.c +@@ -1374,11 +1374,10 @@ static void *selinux_restorecon_thread(v + "Directory cycle on %s.\n", + ent_path); + close(ent_fd); +- close(rd_fd); +- errno = ELOOP; +- state->error = -1; +- state->abort = true; +- goto finish; ++ if (rd_fd >= 0) ++ close(rd_fd); ++ prune_pathbuf(state); ++ continue; + } + + if (state->sfsb.f_type == SYSFS_MAGIC &&
