import UBI setools-4.4.3-1.el9

This commit is contained in:
eabdullin 2023-11-07 11:23:00 +00:00
parent 9f39071ab2
commit 8dbbc919c1
5 changed files with 20 additions and 122 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/4.4.1.tar.gz SOURCES/4.4.3.tar.gz

View File

@ -1 +1 @@
4a6c9cdfd2bfa1b4822951a6d3ffa67fbaefd827 SOURCES/4.4.1.tar.gz 6b042dc26e2956ab07ed970d73ebe39d7d568741 SOURCES/4.4.3.tar.gz

View File

@ -1,91 +0,0 @@
From 716a1d9e1db6701c0b310dd7e10dc4a10656da0f Mon Sep 17 00:00:00 2001
From: Chris PeBenito <chpebeni@linux.microsoft.com>
Date: Tue, 14 Dec 2021 14:24:20 -0500
Subject: [PATCH] Make NetworkX optional.
Content-type: text/plain
The CLI tools get installed to most distros, but sedta and seinfoflow are
not typically used or separated into a different package. This will allow
seinfo, sesearch, and sediff to function if NetworkX is missing, since they
don't require it.
Signed-off-by: Chris PeBenito <chpebeni@linux.microsoft.com>
---
setools/dta.py | 18 ++++++++++++++----
setools/infoflow.py | 17 +++++++++++++----
2 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/setools/dta.py b/setools/dta.py
index ce5a36463684..ded88ff4f615 100644
--- a/setools/dta.py
+++ b/setools/dta.py
@@ -10,8 +10,11 @@ from collections import defaultdict
from contextlib import suppress
from typing import DefaultDict, Iterable, List, NamedTuple, Optional, Union
-import networkx as nx
-from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound
+try:
+ import networkx as nx
+ from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound
+except ImportError:
+ logging.getLogger(__name__).debug("NetworkX failed to import.")
from .descriptors import EdgeAttrDict, EdgeAttrList
from .policyrep import AnyTERule, SELinuxPolicy, TERuletype, Type
@@ -73,8 +76,15 @@ class DomainTransitionAnalysis:
self.reverse = reverse
self.rebuildgraph = True
self.rebuildsubgraph = True
- self.G = nx.DiGraph()
- self.subG = self.G.copy()
+
+ try:
+ self.G = nx.DiGraph()
+ self.subG = self.G.copy()
+ except NameError:
+ self.log.critical("NetworkX is not available. This is "
+ "requried for Domain Transition Analysis.")
+ self.log.critical("This is typically in the python3-networkx package.")
+ raise
@property
def reverse(self) -> bool:
diff --git a/setools/infoflow.py b/setools/infoflow.py
index 0ef240a9993f..4b94a0c2d6dd 100644
--- a/setools/infoflow.py
+++ b/setools/infoflow.py
@@ -7,8 +7,11 @@ import logging
from contextlib import suppress
from typing import cast, Iterable, List, Mapping, Optional, Union
-import networkx as nx
-from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound
+try:
+ import networkx as nx
+ from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound
+except ImportError:
+ logging.getLogger(__name__).debug("NetworkX failed to import.")
from .descriptors import EdgeAttrIntMax, EdgeAttrList
from .permmap import PermissionMap
@@ -54,8 +57,14 @@ class InfoFlowAnalysis:
self.rebuildgraph = True
self.rebuildsubgraph = True
- self.G = nx.DiGraph()
- self.subG = self.G.copy()
+ try:
+ self.G = nx.DiGraph()
+ self.subG = self.G.copy()
+ except NameError:
+ self.log.critical("NetworkX is not available. This is "
+ "requried for Information Flow Analysis.")
+ self.log.critical("This is typically in the python3-networkx package.")
+ raise
@property
def min_weight(self) -> int:
--
2.39.1

View File

@ -1,24 +0,0 @@
From 7b73bdeda54b9c944774452bfa3b3c1f2733b3f0 Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <plautrba@redhat.com>
Date: Thu, 2 Apr 2020 16:06:14 +0200
Subject: [PATCH 2/2] Require networkx on package level
It allows us to ship python3-setools without dependency on python3-networkx
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index c593b786cc61..0551811e3fd1 100644
--- a/setup.py
+++ b/setup.py
@@ -163,5 +163,5 @@ setup(name='setools',
# setup also requires libsepol and libselinux
# C libraries and headers to compile.
setup_requires=['setuptools', 'Cython>=0.27'],
- install_requires=['setuptools', 'networkx>=2.0']
+ install_requires=['setuptools']
)
--
2.30.0

View File

@ -1,8 +1,8 @@
%global sepol_ver 3.4-1 %global sepol_ver 3.5-1
%global selinux_ver 3.4-1 %global selinux_ver 3.5-1
Name: setools Name: setools
Version: 4.4.1 Version: 4.4.3
Release: 1%{?dist} Release: 1%{?dist}
Summary: Policy analysis tools for SELinux Summary: Policy analysis tools for SELinux
@ -11,8 +11,7 @@ URL: https://github.com/SELinuxProject/setools/wiki
Source0: https://github.com/SELinuxProject/setools/archive/%{version}.tar.gz Source0: https://github.com/SELinuxProject/setools/archive/%{version}.tar.gz
Source1: setools.pam Source1: setools.pam
Source2: apol.desktop Source2: apol.desktop
Patch0001: 0001-Make-NetworkX-optional.patch
Patch1003: 1003-Require-networkx-on-package-level.patch
Obsoletes: setools < 4.0.0, setools-devel < 4.0.0 Obsoletes: setools < 4.0.0, setools-devel < 4.0.0
BuildRequires: flex, bison BuildRequires: flex, bison
BuildRequires: glibc-devel, gcc, git-core BuildRequires: glibc-devel, gcc, git-core
@ -145,6 +144,20 @@ Python modules designed to facilitate SELinux policy analysis.
%{_mandir}/ru/man1/apol* %{_mandir}/ru/man1/apol*
%changelog %changelog
* Mon Aug 14 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.3-1
- SETools 4.4.3 release
- Improve man pages
- seinfoflow: Add -r option to get flows into the source type.
- seinfoflow.1: Remove references to sepolgen permission map.
- AVRule/AVRuleXperm: Treat rules with no permissions as invalid policy.
- SELinuxPolicy: Add explicit cast for libspol message
* Wed May 10 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.2-2.1
- Disable sediff --neverallow and --neverallowxperm options
* Thu Apr 20 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.2-1
- SETools 4.4.2 release
* Mon Feb 6 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.1-1 * Mon Feb 6 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.1-1
- SETools 4.4.1 release - SETools 4.4.1 release