SELinux userspace 3.11 release

Resolves: RHEL-192086
This commit is contained in:
Petr Lautrbach 2026-07-01 21:36:01 +02:00 committed by Vit Mojzis
parent 3f45e18e90
commit 646f7027a0
8 changed files with 503 additions and 319 deletions

2
.gitignore vendored
View File

@ -246,3 +246,5 @@ libselinux-2.0.96.tgz
/libselinux-3.9.tar.gz.asc
/libselinux-3.10.tar.gz
/libselinux-3.10.tar.gz.asc
/libselinux-3.11.tar.gz
/libselinux-3.11.tar.gz.asc

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
From eeb5dbe746492dd4722745c5cf7ba2b46ac0a805 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
Date: Fri, 10 Jul 2026 13:20:24 +0200
Subject: [PATCH] Revert "libselinux,python: Use system Python3 build module"
This reverts commit e11e59675f6981e8b7cf990478887c9147b2b20a.
python3-build is not available in RHEL-10
---
libselinux/src/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
index fde55cd6..a5bb06d0 100644
--- a/libselinux/src/Makefile
+++ b/libselinux/src/Makefile
@@ -151,6 +151,7 @@ all: $(LIBSO)
endif
pywrap: all selinuxswig_python_exception.i
+ $(PYTHON) -m pip install build wheel
CFLAGS="$(CPPFLAGS) $(CFLAGS) $(SWIG_CFLAGS)" $(PYTHON) -m build --no-isolation --wheel .
rubywrap: all $(SWIGRUBYSO)
--
2.53.0

View File

@ -1,39 +0,0 @@
From a7cbb5f2d9d0248d53e942c96343153936337997 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
Date: Fri, 30 Jan 2026 16:32:10 +0100
Subject: [PATCH] libselinux: Ignore directories removed during relabeling
Extend 54c79a74f5b9154762abaadf8194665598b24115 to directories, since
users will expect them to be ignored as well.
In case ignore_noent is specified, ignore directories removed during
relabeling (race condition between directory read and removal after
parent directory read).
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
---
libselinux/src/selinux_restorecon.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_restorecon.c
index 28749ee2..05044cc3 100644
--- a/libselinux/src/selinux_restorecon.c
+++ b/libselinux/src/selinux_restorecon.c
@@ -942,9 +942,10 @@ loop_body:
case FTS_DNR:
error = errno;
errno = ftsent->fts_errno;
- selinux_log(SELINUX_ERROR,
- "Could not read %s: %m.\n",
- ftsent->fts_path);
+ if (!state->flags.ignore_noent || errno != ENOENT)
+ selinux_log(SELINUX_ERROR,
+ "Could not read %s: %m.\n",
+ ftsent->fts_path);
errno = error;
fts_set(fts, ftsent, FTS_SKIP);
continue;
--
2.53.0

View File

@ -0,0 +1,60 @@
From 17e8cfb4af093ee0913adacf0c4473465ce05520 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
Date: Fri, 10 Jul 2026 13:31:01 +0200
Subject: [PATCH] Revert "libselinux: update pywrap targets for modern python
builds"
This reverts commit dfedefffbbdde609a7aacb1ef570c7ca1bb70915.
'pip install build' fails on systems without network and python3-build
is not available in RHEL-10
---
libselinux/src/.gitignore | 1 -
libselinux/src/Makefile | 8 ++++----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/libselinux/src/.gitignore b/libselinux/src/.gitignore
index 5413ccf0..94400e81 100644
--- a/libselinux/src/.gitignore
+++ b/libselinux/src/.gitignore
@@ -2,4 +2,3 @@ selinux.py
selinuxswig_python_wrap.c
selinuxswig_ruby_wrap.c
selinux.egg-info/
-dist/
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
index a5bb06d0..0688f7d0 100644
--- a/libselinux/src/Makefile
+++ b/libselinux/src/Makefile
@@ -151,8 +151,7 @@ all: $(LIBSO)
endif
pywrap: all selinuxswig_python_exception.i
- $(PYTHON) -m pip install build wheel
- CFLAGS="$(CPPFLAGS) $(CFLAGS) $(SWIG_CFLAGS)" $(PYTHON) -m build --no-isolation --wheel .
+ CFLAGS="$(CPPFLAGS) $(CFLAGS) $(SWIG_CFLAGS)" $(PYTHON) setup.py build_ext
rubywrap: all $(SWIGRUBYSO)
@@ -197,7 +196,7 @@ ifneq ($(DISABLE_SHARED),y)
endif
install-pywrap: pywrap
- $(PYTHON) -m pip install --no-build-isolation --force-reinstall --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR) --ignore-installed --no-deps` dist/*.whl
+ CFLAGS="$(CPPFLAGS) $(CFLAGS) $(SWIG_CFLAGS)" $(PYTHON) -m pip install --no-build-isolation --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR) --ignore-installed --no-deps` $(PYTHON_SETUP_ARGS) .
install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYTHONLIBDIR)/selinux/__init__.py
ln -sf --relative $(DESTDIR)$(PYTHONLIBDIR)/selinux/_selinux$(PYCEXT) $(DESTDIR)$(PYTHONLIBDIR)/_selinux$(PYCEXT)
@@ -210,7 +209,8 @@ relabel:
clean-pywrap:
-rm -f $(SWIGLOBJ) $(SWIGSO) $(AUDIT2WHYLOBJ) $(AUDIT2WHYSO)
- -rm -rf build dist *.egg-info *~ \#* *pyc .#*
+ $(PYTHON) setup.py clean
+ -rm -rf build *~ \#* *pyc .#* selinux.egg-info/
clean-rubywrap:
-rm -f $(SWIGRUBYLOBJ) $(SWIGRUBYSO)
--
2.53.0

View File

@ -1,3 +1,6 @@
* Wed Jul 01 2026 Petr Lautrbach <lautrbach@redhat.com> - 3.11-1
- SELinux userspace 3.11 release
* Tue May 05 2026 Vit Mojzis <vmojzis@redhat.com> - 3.10-2
- Ignore directories removed during relabeling (RHEL-110181)

View File

@ -1,30 +1,32 @@
%define ruby_inc %(pkg-config --cflags ruby)
%define libsepolver 3.10-1
%define libsepolver 3.11-1
Summary: SELinux library and simple utilities
Name: libselinux
Version: 3.10
Release: 2%{?dist}
Version: 3.11
Release: 1%{?dist}
License: LicenseRef-Fedora-Public-Domain
# https://github.com/SELinuxProject/selinux/wiki/Releases
Source0: https://github.com/SELinuxProject/selinux/releases/download/%{version}/libselinux-%{version}.tar.gz
Source1: https://github.com/SELinuxProject/selinux/releases/download/%{version}/libselinux-%{version}.tar.gz.asc
Source2: https://github.com/perfinion.gpg
Source2: https://github.com/bachradsusi.gpg
Source3: selinuxconlist.8
Source4: selinuxdefcon.8
Url: https://github.com/SELinuxProject/selinux/wiki
# $ git clone https://github.com/fedora-selinux/selinux.git
# $ cd selinux
# $ git format-patch -N 3.10 -- libselinux
# $ git format-patch -N 3.11 -- libselinux
# $ i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
# Patch list start
Patch0001: 0001-Use-SHA-2-instead-of-SHA-1.patch
Patch0002: 0002-libselinux-Ignore-directories-removed-during-relabel.patch
Patch0002: 0002-Revert-libselinux-python-Use-system-Python3-build-mo.patch
Patch0003: 0003-Revert-libselinux-update-pywrap-targets-for-modern-p.patch
# Patch list end
BuildRequires: gcc make
BuildRequires: ruby-devel ruby libsepol-static >= %{libsepolver} swig pcre2-devel
BuildRequires: python3 python3-devel python3-setuptools python3-wheel python3-pip
BuildRequires: python3 python3-devel python3-setuptools python3-pip
BuildRequires: (python3-wheel if python3-setuptools < 71)
BuildRequires: systemd
BuildRequires: gnupg2
Requires: libsepol%{?_isa} >= %{libsepolver} pcre2

View File

@ -1,2 +1,2 @@
SHA512 (libselinux-3.10.tar.gz) = 5783f737675eb94e0bdff082013589e5bddfa0669a357df185eb89f4f88cec8b90779e86c4b17b58f5c248175da0208c80cc2642046e348c7384dd799f1ba4c1
SHA512 (libselinux-3.10.tar.gz.asc) = 6e0a18eb77b810eb7cbf756dcd82f57fa71d7c8d066ea99f754760d9e61db8f22e776c729a7387b01638249dacc270da7a5eb6a7ed38377ba858bebcd090cce6
SHA512 (libselinux-3.11.tar.gz) = 49eb0b180b77b4b61505117ecd98ab9fdd79a36801b6d2216813ea370a02ba4f58a0f87a18e92a2d4eeffc11d9df67e4692d2d8f5d3ee77a2abd3f606196aaad
SHA512 (libselinux-3.11.tar.gz.asc) = fa950a332a353dfbb7959b785956076d0547b6cf5387ecbaeeb11f8171a4fc3679772707364dee4bf8db76232eb2ea6a8f0280674a8351dcf98074892c3100de