Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:cahu:security:SELinux:policytest2
setools
0001-Make-networkx-optional-again-Fixes-125.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Make-networkx-optional-again-Fixes-125.patch of Package setools
From b1ec8b7b2abe77e996f8272881f1d0887d09a4d5 Mon Sep 17 00:00:00 2001 From: Cathy Hu <cathy.hu@suse.com> Date: Thu, 18 Apr 2024 14:31:46 +0200 Subject: [PATCH] Make networkx optional again (Fixes #125) The 5.6.0 update contains a refactoring, which makes the networkx dependency necessary again for other commands, such as sesearch and seinfo. This leads to issues when packaging for distributions that do not provide networkx and want to use setools in a minimal fashion. Signed-off-by: Cathy Hu <cathy.hu@suse.com> --- setools/__init__.py | 13 ++++++++----- setools/dta.py | 8 ++------ setools/infoflow.py | 8 ++------ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/setools/__init__.py b/setools/__init__.py index 1efd2cc..2cc5e47 100644 --- a/setools/__init__.py +++ b/setools/__init__.py @@ -76,13 +76,16 @@ from .pirqconquery import PirqconQuery from .pcideviceconquery import PcideviceconQuery from .devicetreeconquery import DevicetreeconQuery -# Information Flow Analysis -from .infoflow import * +# Information Flow and Domain Transition Analysis +try: + import networkx +except ImportError: + logging.getLogger(__name__).debug("NetworkX failed to import, disabling infoflow and dta.") +else: + from .infoflow import * + from .dta import * from .permmap import PermissionMap, RuleWeight, Mapping -# Domain Transition Analysis -from .dta import * - # Policy difference from .diff import PolicyDifference diff --git a/setools/dta.py b/setools/dta.py index 5ce50f4..554c545 100644 --- a/setools/dta.py +++ b/setools/dta.py @@ -13,12 +13,8 @@ from dataclasses import dataclass, InitVar import typing import warnings -try: - import networkx as nx - from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound - -except ImportError as iex: - logging.getLogger(__name__).debug(f"{iex.name} failed to import.") +import networkx as nx +from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound from . import exception from .descriptors import CriteriaDescriptor, EdgeAttrDict, EdgeAttrList diff --git a/setools/infoflow.py b/setools/infoflow.py index 0d48bbe..0086f4c 100644 --- a/setools/infoflow.py +++ b/setools/infoflow.py @@ -11,12 +11,8 @@ from dataclasses import dataclass, InitVar import typing import warnings -try: - import networkx as nx - from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound - -except ImportError as iex: - logging.getLogger(__name__).debug(f"{iex.name} failed to import.") +import networkx as nx +from networkx.exception import NetworkXError, NetworkXNoPath, NodeNotFound from . import exception from .descriptors import CriteriaDescriptor, EdgeAttrIntMax, EdgeAttrList -- 2.44.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor