diff --git a/ChangeLog b/ChangeLog index d5d8a334..bc02ee54 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +*setools-4.5.1 (01 May 2024) + + * Correct annotations of NetworkX types to make it optional again. + * Fix packaging issue for apol's style sheet (apol.css). + *setools-4.5.0 (21 Mar 2024) * Rework apol to fully generate the UI programmatically. diff --git a/setools/dta.py b/setools/dta.py index 5ce50f44..2232b91a 100644 --- a/setools/dta.py +++ b/setools/dta.py @@ -282,7 +282,7 @@ def results(self) -> Iterable[DTAPath] | Iterable[DomainTransition]: case _: raise ValueError(f"Unknown analysis mode: {self.mode}") - def graphical_results(self) -> nx.DiGraph: + def graphical_results(self) -> "nx.DiGraph": """ Return the results of the analysis as a NetworkX directed graph. @@ -846,7 +846,7 @@ class Edge(NetworkXGraphEdge): The default is False. """ - G: nx.DiGraph + G: "nx.DiGraph" source: Type target: Type create: InitVar[bool] = False diff --git a/setools/infoflow.py b/setools/infoflow.py index 0d48bbed..a3500269 100644 --- a/setools/infoflow.py +++ b/setools/infoflow.py @@ -207,7 +207,7 @@ def results(self) -> Iterable[InfoFlowPath] | Iterable["InfoFlowStep"]: case _: raise ValueError(f"Unknown analysis mode: {self.mode}") - def graphical_results(self) -> nx.DiGraph: + def graphical_results(self) -> "nx.DiGraph": """ Return the results of the analysis as a NetworkX directed graph. @@ -590,7 +590,7 @@ class InfoFlowStep(NetworkXGraphEdge): The default is False. """ - G: nx.DiGraph + G: "nx.DiGraph" source: Type target: Type create: InitVar[bool] = False diff --git a/setup.py b/setup.py index a18c523d..b2245ac7 100644 --- a/setup.py +++ b/setup.py @@ -65,7 +65,7 @@ installed_data.append((join('share/man', lang, 'man1'), glob.glob(join("man", lang, "*.1")))) setup(name='setools', - version='4.5.0', + version='4.5.1', description='SELinux policy analysis tools.', author='Chris PeBenito', author_email='pebenito@ieee.org', @@ -75,7 +75,7 @@ 'setoolsgui.widgets.models', 'setoolsgui.widgets.views'], scripts=['apol', 'sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta', 'sechecker'], data_files=installed_data, - package_data={'': ['*.html'], + package_data={'': ['*.css', '*.html'], 'setools': ['perm_map', 'policyrep.pyi', 'py.typed']}, ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'], annotate=cython_annotate, diff --git a/tox.ini b/tox.ini index 551ce15c..d69225ea 100644 --- a/tox.ini +++ b/tox.ini @@ -41,7 +41,9 @@ commands = mypy -p setools -p setoolsgui -p tests -p tests-gui [testenv:install] deps = {[testenv]deps} -commands = {envpython} -m pip install --use-pep517 . +allowlist_externals = find +commands = {envpython} -m pip install --use-pep517 --root {envtmpdir}/setools . + find {envtmpdir}/setools [testenv] passenv = USERSPACE_SRC