summaryrefslogtreecommitdiff
path: root/app-admin/setools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-09-25 20:21:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-09-25 20:21:45 +0100
commitc719fdcee603a5a706a45d10cb598762d56a727d (patch)
tree620cbf137661399a3fb1eff92914204f9a970713 /app-admin/setools
parentcc4618c9ba3d974948ebf340b542d8cb01db2f55 (diff)
gentoo resync : 25.09.2021
Diffstat (limited to 'app-admin/setools')
-rw-r--r--app-admin/setools/Manifest7
-rw-r--r--app-admin/setools/files/0001-__init__.py-Make-NetworkX-dep-optional.patch62
-rw-r--r--app-admin/setools/metadata.xml3
-rw-r--r--app-admin/setools/setools-4.4.0-r2.ebuild (renamed from app-admin/setools/setools-4.4.0.ebuild)7
-rw-r--r--app-admin/setools/setools-9999.ebuild4
5 files changed, 75 insertions, 8 deletions
diff --git a/app-admin/setools/Manifest b/app-admin/setools/Manifest
index f409451fd945..554ccae607be 100644
--- a/app-admin/setools/Manifest
+++ b/app-admin/setools/Manifest
@@ -1,8 +1,9 @@
+AUX 0001-__init__.py-Make-NetworkX-dep-optional.patch 2242 BLAKE2B 63815b66a6b5051ca084fcb265a6eb573f4738288376dada16c86c04ae3dbf4d58ff33583ff323d1096b321f0d410ae3b956b9e82caf710f78baf82db1a769fb SHA512 eac87e9335643b5e2f0de05b6e03c03d250c799e994edd52368b3a50e201beeebfbf40b7bf016200648fadf9c3d5c3708ac94ff158ea327cf2ea73f773ac8653
AUX setools-4.3.0-remove-gui.patch 879 BLAKE2B d8c61405d96466fbd2f1704477dfbe64477b7cb26f2a8aae66c6d7ca0ac73c4a6372ce02917ef2ef424bb8faa2175bcad7c2eeca1c84d292005d5426eb3db004 SHA512 de125a4bd4fa8aa1aca98b33449d9b11746b2aa6ccfa202ed9711b253a9da98c1200b075e7b31a27b00fe3277557d29c1be8971a5fc079be572d61c25b64bec6
AUX setools-4.4.0-remove-gui.patch 1015 BLAKE2B f81872b140107337466e1d57bfd3c1935adca838756a0c1a2c4f2d0f42b7ae0ecb60d5c6db0889998bca96d46c08979d03e989a79461bb6ceb3c7bd4ee6fa56f SHA512 6e2b3d0dafbb4b0966f04cd592fc14800755ea4f585ab4d1bf0516cd25f16185b0923045762ce88df47f7264481fb9dd6588efc38d7280e14b5f015192f12924
DIST setools-4.3.0.tar.bz2 249694 BLAKE2B 03d689f0f7dcc5ad7cf1ed114b7466aa0add96b70aa4b4a0a563805ad58cd1bde5651b155d202835e238aee9f07bf7595bfb09c20d2984ef6b921866ac1dca2e SHA512 f2ef045e76223918f16d8b0d8365166d6afa320558269be96f3a8875189607253056179092fb8134aaa2e50a5d0862f246c0aa0f8d33060919f4bc1257c109d8
DIST setools-4.4.0.tar.bz2 275218 BLAKE2B f716a78dd628e0309d3802f2155ef3a045dd8ebee7dec42be9f8b5fc0069b0df4e3d827b0a0cc03f7f02f5a3dff1d7ab7e4eee0d83d6cf4c87af82fe756a9321 SHA512 2ec92d7a6e30261549b6a8d2f17175d4a7d8313ef0cd81f4a19a91c53fe0107bac9a89c19dd67a4c534ee51ec520590795b4312f9e03e69fdf1763b0c35291f8
EBUILD setools-4.3.0.ebuild 1261 BLAKE2B 2bab4af1c52f47255c6b54fb533084022005c875c7c7dd73738d60c4a8510d3e37467a11a19e5d3380ec2e677e8e2d65b4ba9c12ed51a8502cb2709be48ff308 SHA512 8ef6976367724748118cd44c4c1c8ee1de6d2f993e78193a45163ec7647c6949bf1226eea600d5a9e4f0fb12ac17ec4e6a33feaf5e10f5bd14662823d22f1d09
-EBUILD setools-4.4.0.ebuild 1340 BLAKE2B 141a159a43a8e665794f8a5eae69553407672740a4f79c02e156d93694a1890af29faed372fec687bd28d7befad94f2fffa2eee48c52ad31cc893729b18c67ee SHA512 0a22277a938f769cfe2b9b0b9b3fceaaf146727e3e511a4a2eef9f518021ee0c6b3962bb95f23f022c9f94e1d4958d39c68c58d6a229ceafb6fc65b2bcd6b26d
-EBUILD setools-9999.ebuild 1342 BLAKE2B 8fa289b9c6e405f27cb8eb402a955f89483aa30ef4b3fea57f99bc313067204836a57c017c00736cc0bd9002f2bb6c1275bbe868aa8109c9d68116304cf7b49b SHA512 61a36c4eb0c09ec23aa84728f917e30730d25e0cab7063163e05b3354cf5d61933d571849fe4e256aa0c532cb15c416d958432b46aa660dba8f5a62461c614a1
-MISC metadata.xml 335 BLAKE2B 81a7604472415bdf249d90f69e80a7a7c66f23597cba3005fc1fc825012ffdeb29bcb3f8f8b028ee35e0a076fe4863c25d79077718b28d5f658e68df2a703c5b SHA512 9115e12f13e78b8f63ec90a2ed71c5c731781415a77c2fd06bba358240261bf83183f14f2d38e5e9ffcafaee56de4df224b517afceb536d8e1e6af6f1eaa0938
+EBUILD setools-4.4.0-r2.ebuild 1441 BLAKE2B 8be0a3e114117d067678990094abef9dd22eaac53b2673fa92ac8ecb6189e51e42d6204712ff64d97c78244a7921491adff4598dc5346429d32fda367060ca5a SHA512 a65fd8a947f02b46f7048853cb80fe80b63c23f1b74087888f1f014bf30ae99fd82c143fca7af4795456ee52ce899565dcc7985c0f050475eb895be77f236856
+EBUILD setools-9999.ebuild 1365 BLAKE2B 127420df824469dc42686a5d13915b98e23fa82174b8cab2a98ae66764437acf8f4cc1e074359b5e1b8f747cf58d859bb13a7d7df1c9556178b90d4fcdadb34c SHA512 80d58742b61e04fbc35b87da9259efd27c609d4fadcf44b3aadd2f1dea948fee0672e7f2ee8c9c3ccbb42dc82434f9b1cc3c500083a3e31e12add281e65cc751
+MISC metadata.xml 440 BLAKE2B 5ff05dac3cb6a27d99c7ebb2e4425afaef2275aaff5e109feff6870e2e51c55c27dd8baa3d6ad3a2a9a292a20ece18dfb2f0ad61e30cd1dc7b74afaf20d0104c SHA512 f61bdc193e411a635c35e7244fad44b68061c56fa26a1b995f79fb46784d09f52bd85bcbc8caec5043390a72d8548fb4ac0dd84cd4a613dbbdb5fd49e3efa71f
diff --git a/app-admin/setools/files/0001-__init__.py-Make-NetworkX-dep-optional.patch b/app-admin/setools/files/0001-__init__.py-Make-NetworkX-dep-optional.patch
new file mode 100644
index 000000000000..3137f1a89f9a
--- /dev/null
+++ b/app-admin/setools/files/0001-__init__.py-Make-NetworkX-dep-optional.patch
@@ -0,0 +1,62 @@
+From 32eed2ae8fcd868179a317d48cfd61d828c834df Mon Sep 17 00:00:00 2001
+From: Jason Zaman <jason@perfinion.com>
+Date: Sun, 19 Sep 2021 14:12:44 +0200
+Subject: [PATCH] __init__.py: Make NetworkX dep optional
+
+selinux commit ba23ba068364ab11ff51f52bd1e20e3c63798a62
+"python: Import specific modules from setools for less deps"
+Makes userspace tools only need specific parts of setools so that the
+NetworkX dep can be dropped for minimal installations.
+Unfortunately the __init__ still imports the parts which require
+NetworkX. Wrap them in try except to guard for missing NetworkX.
+
+$ semanage export
+Traceback (most recent call last):
+ File "/usr/lib/python-exec/python3.9/semanage", line 29, in <module>
+ import seobject
+ File "/usr/lib/python3.9/site-packages/seobject.py", line 33, in <module>
+ import sepolicy
+ File "/usr/lib/python3.9/site-packages/sepolicy/__init__.py", line 15, in <module>
+ from setools.boolquery import BoolQuery
+ File "/usr/lib/python3.9/site-packages/setools/__init__.py", line 94, in <module>
+ from .infoflow import InfoFlowAnalysis
+ File "/usr/lib/python3.9/site-packages/setools/infoflow.py", line 24, in <module>
+ import networkx as nx
+ModuleNotFoundError: No module named 'networkx'
+
+Bug: https://bugs.gentoo.org/809038
+Signed-off-by: Jason Zaman <jason@perfinion.com>
+---
+ setools/__init__.py | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/setools/__init__.py b/setools/__init__.py
+index d72d343..e583737 100644
+--- a/setools/__init__.py
++++ b/setools/__init__.py
+@@ -91,11 +91,20 @@ from .pcideviceconquery import PcideviceconQuery
+ from .devicetreeconquery import DevicetreeconQuery
+
+ # Information Flow Analysis
+-from .infoflow import InfoFlowAnalysis
++try:
++ from .infoflow import InfoFlowAnalysis
++except ImportError:
++ # NetworkX is optional
++ pass
++
+ from .permmap import PermissionMap, RuleWeight, Mapping
+
+ # Domain Transition Analysis
+-from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition
++try:
++ from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition
++except ImportError:
++ # NetworkX is optional
++ pass
+
+ # Policy difference
+ from .diff import PolicyDifference
+--
+2.32.0
+
diff --git a/app-admin/setools/metadata.xml b/app-admin/setools/metadata.xml
index 2367a4105f5c..9e77647c601c 100644
--- a/app-admin/setools/metadata.xml
+++ b/app-admin/setools/metadata.xml
@@ -5,6 +5,9 @@
<email>selinux@gentoo.org</email>
<name>SELinux Team</name>
</maintainer>
+ <use>
+ <flag name="infoflow">Depend on <pkg>dev-python/networkx</pkg> to use seinfoflow</flag>
+ </use>
<upstream>
<remote-id type="github">SELinuxProject/setools</remote-id>
</upstream>
diff --git a/app-admin/setools/setools-4.4.0.ebuild b/app-admin/setools/setools-4.4.0-r2.ebuild
index fccf62f23698..54c34d2b8fc1 100644
--- a/app-admin/setools/setools-4.4.0.ebuild
+++ b/app-admin/setools/setools-4.4.0-r2.ebuild
@@ -20,15 +20,15 @@ fi
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-IUSE="X test"
+IUSE="test infoflow X"
RESTRICT="!test? ( test )"
S="${WORKDIR}/${PN}"
RDEPEND="${PYTHON_DEPS}
- >=dev-python/networkx-2.0[${PYTHON_USEDEP}]
dev-python/setuptools
>=sys-libs/libsepol-2.8:=
>=sys-libs/libselinux-2.8:=
+ infoflow? ( >=dev-python/networkx-2.0[${PYTHON_USEDEP}] )
X? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)"
@@ -44,7 +44,8 @@ python_prepare_all() {
sed -i "s@^lib_dirs = .*@lib_dirs = ['${ROOT:-/}usr/$(get_libdir)']@" "${S}"/setup.py || \
die "failed to set lib_dirs"
- use X || local PATCHES=( "${FILESDIR}"/setools-4.4.0-remove-gui.patch )
+ local PATCHES=( "${FILESDIR}"/0001-__init__.py-Make-NetworkX-dep-optional.patch )
+ use X || PATCHES+=( "${FILESDIR}"/setools-4.4.0-remove-gui.patch )
distutils-r1_python_prepare_all
}
diff --git a/app-admin/setools/setools-9999.ebuild b/app-admin/setools/setools-9999.ebuild
index 61a5b78a19c1..affa52ecfc52 100644
--- a/app-admin/setools/setools-9999.ebuild
+++ b/app-admin/setools/setools-9999.ebuild
@@ -20,15 +20,15 @@ fi
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-IUSE="X test"
+IUSE="test infoflow X"
RESTRICT="!test? ( test )"
S="${WORKDIR}/${PN}"
RDEPEND="${PYTHON_DEPS}
- >=dev-python/networkx-2.0[${PYTHON_USEDEP}]
dev-python/setuptools
>=sys-libs/libsepol-2.8:=
>=sys-libs/libselinux-2.8:=
+ infoflow? ( >=dev-python/networkx-2.0[${PYTHON_USEDEP}] )
X? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)"