diff --git a/SOURCES/1003-Do-not-use-NoteNotFound-as-it-s-not-implemented-in-n.patch b/SOURCES/1003-Do-not-use-NoteNotFound-as-it-s-not-implemented-in-n.patch new file mode 100644 index 0000000..741c5a7 --- /dev/null +++ b/SOURCES/1003-Do-not-use-NoteNotFound-as-it-s-not-implemented-in-n.patch @@ -0,0 +1,93 @@ +From acfb532e781d600271e5ab1ebc5d9d6d6ea3a7f8 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Tue, 30 Jul 2019 17:13:44 +0200 +Subject: [PATCH] Do not use NoteNotFound as it's not implemented in networkx-1 + +--- + setools/dta.py | 8 ++++---- + setools/infoflow.py | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/setools/dta.py b/setools/dta.py +index 3239d2d..e15d8b8 100644 +--- a/setools/dta.py ++++ b/setools/dta.py +@@ -24,7 +24,7 @@ from collections import defaultdict, namedtuple + from contextlib import suppress + + import networkx as nx +-from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound ++from networkx.exception import NetworkXError, NetworkXNoPath + + from .descriptors import EdgeAttrDict, EdgeAttrList + from .policyrep import TERuletype +@@ -111,7 +111,7 @@ class DomainTransitionAnalysis: + + self.log.info("Generating one domain transition path from {0} to {1}...".format(s, t)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. excluded + # NetworkXNoPath: no paths or the target type is + # not in the graph +@@ -146,7 +146,7 @@ class DomainTransitionAnalysis: + self.log.info("Generating all domain transition paths from {0} to {1}, max length {2}...". + format(s, t, maxlen)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. excluded + # NetworkXNoPath: no paths or the target type is + # not in the graph +@@ -177,7 +177,7 @@ class DomainTransitionAnalysis: + self.log.info("Generating all shortest domain transition paths from {0} to {1}...". + format(s, t)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. excluded + # NetworkXNoPath: no paths or the target type is + # not in the graph +diff --git a/setools/infoflow.py b/setools/infoflow.py +index 1b88efa..4fbe682 100644 +--- a/setools/infoflow.py ++++ b/setools/infoflow.py +@@ -21,7 +21,7 @@ import logging + from contextlib import suppress + + import networkx as nx +-from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound ++from networkx.exception import NetworkXError, NetworkXNoPath + + from .descriptors import EdgeAttrIntMax, EdgeAttrList + from .policyrep import TERuletype +@@ -118,7 +118,7 @@ class InfoFlowAnalysis: + self.log.info("Generating one shortest information flow path from {0} to {1}...". + format(s, t)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. + # excluded or disconnected due to min weight + # NetworkXNoPath: no paths or the target type is +@@ -157,7 +157,7 @@ class InfoFlowAnalysis: + self.log.info("Generating all information flow paths from {0} to {1}, max length {2}...". + format(s, t, maxlen)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. + # excluded or disconnected due to min weight + # NetworkXNoPath: no paths or the target type is +@@ -191,7 +191,7 @@ class InfoFlowAnalysis: + self.log.info("Generating all shortest information flow paths from {0} to {1}...". + format(s, t)) + +- with suppress(NetworkXNoPath, NodeNotFound): ++ with suppress(NetworkXNoPath): + # NodeNotFound: the type is valid but not in graph, e.g. + # excluded or disconnected due to min weight + # NetworkXNoPath: no paths or the target type is +-- +2.22.0 + diff --git a/SPECS/setools.spec b/SPECS/setools.spec index 209c4ca..09026c0 100644 --- a/SPECS/setools.spec +++ b/SPECS/setools.spec @@ -4,11 +4,11 @@ %global sepol_ver 2.9-1 %global selinux_ver 2.9-1 -%bcond_with networkx +%bcond_without networkx Name: setools Version: 4.2.2 -Release: 1%{?setools_pre_ver:.%{setools_pre_ver}}%{?dist} +Release: 2%{?setools_pre_ver:.%{setools_pre_ver}}%{?dist} Summary: Policy analysis tools for SELinux License: GPLv2 @@ -18,6 +18,7 @@ Source1: setools.pam Source2: apol.desktop Patch1001: 1001-Do-not-use-Werror-during-build.patch Patch1002: 1002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch +Patch1003: 1003-Do-not-use-NoteNotFound-as-it-s-not-implemented-in-n.patch Obsoletes: setools < 4.0.0, setools-devel < 4.0.0 BuildRequires: flex, bison @@ -162,6 +163,9 @@ rm -rf %{buildroot}%{_bindir}/apol %{buildroot}%{python3_sitearch}/setoolsgui \ %endif %changelog +* Sat Nov 30 2019 Petr Lautrbach - 4.2.2-2 +- Build setools-console-analyses and setools-gui (#1731519) + * Mon Jul 08 2019 Vit Mojzis - 4.2.2-1 - SETools 4.2.2 release