summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/setools')
-rw-r--r--app-admin/setools/Manifest4
-rw-r--r--app-admin/setools/files/setools-4.3.0-remove-gui.patch16
-rw-r--r--app-admin/setools/files/setools-4.4.1-cython3.patch43
-rw-r--r--app-admin/setools/files/setools-4.4.2-remove-gui.patch (renamed from app-admin/setools/files/setools-4.4.0-remove-gui.patch)12
-rw-r--r--app-admin/setools/metadata.xml2
-rw-r--r--app-admin/setools/setools-4.4.2.ebuild (renamed from app-admin/setools/setools-4.4.0.ebuild)40
-rw-r--r--app-admin/setools/setools-4.4.4.ebuild (renamed from app-admin/setools/setools-4.3.0.ebuild)31
-rw-r--r--app-admin/setools/setools-9999.ebuild32
8 files changed, 114 insertions, 66 deletions
diff --git a/app-admin/setools/Manifest b/app-admin/setools/Manifest
index 8e30ccb5acea..2e475c76c75d 100644
--- a/app-admin/setools/Manifest
+++ b/app-admin/setools/Manifest
@@ -1,2 +1,2 @@
-DIST setools-4.3.0.tar.bz2 249694 BLAKE2B 03d689f0f7dcc5ad7cf1ed114b7466aa0add96b70aa4b4a0a563805ad58cd1bde5651b155d202835e238aee9f07bf7595bfb09c20d2984ef6b921866ac1dca2e SHA512 f2ef045e76223918f16d8b0d8365166d6afa320558269be96f3a8875189607253056179092fb8134aaa2e50a5d0862f246c0aa0f8d33060919f4bc1257c109d8
-DIST setools-4.4.0.tar.bz2 275218 BLAKE2B f716a78dd628e0309d3802f2155ef3a045dd8ebee7dec42be9f8b5fc0069b0df4e3d827b0a0cc03f7f02f5a3dff1d7ab7e4eee0d83d6cf4c87af82fe756a9321 SHA512 2ec92d7a6e30261549b6a8d2f17175d4a7d8313ef0cd81f4a19a91c53fe0107bac9a89c19dd67a4c534ee51ec520590795b4312f9e03e69fdf1763b0c35291f8
+DIST setools-4.4.2.tar.bz2 261962 BLAKE2B 7c8e47d8c15f1eb72d93da5d3ae1a64e857ed0a75e1a47bbad9e4b0d11180581d9e4705ebe942e460acbc4d68261f06f9b03a8c4af1516cc388c201e30dca75e SHA512 4e8cba61ca28459387d862136a2d8ee0914c4bcd254a6d39792cbfcbbf7e58cb82223c05d66c114b08aebbd75c11cef11517c51f674ddb3c1913dc85414546c1
+DIST setools-4.4.4.tar.bz2 262867 BLAKE2B d64605ef050a2d51531e2a180bff086da536aa8d5e5c8cb96a81e137f575d089f9e9ec117cf0de9864f07174d92258b27ebf8fbc462714ef50bbd6d9f80d0a60 SHA512 ef72a7244ba0c724c4aea3afc40d71427e9c0592715f81cccaa8917e96836a88807ea78039c11c261dd3b4d72294accd76ab4bd37447cd500772030245db3c6e
diff --git a/app-admin/setools/files/setools-4.3.0-remove-gui.patch b/app-admin/setools/files/setools-4.3.0-remove-gui.patch
deleted file mode 100644
index 85abbf5a7aa3..000000000000
--- a/app-admin/setools/files/setools-4.3.0-remove-gui.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -146,10 +146,10 @@ setup(name='setools',
- author_email='pebenito@ieee.org',
- url='https://github.com/SELinuxProject/setools',
- cmdclass={'build_qhc': QtHelpCommand, 'clean': CleanCommand},
-- packages=['setools', 'setools.diff', 'setoolsgui', 'setoolsgui.apol'],
-- scripts=['apol', 'sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta'],
-+ packages=['setools', 'setools.diff'],
-+ scripts=['sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta'],
- data_files=installed_data,
-- package_data={'': ['*.ui', '*.qhc', '*.qch'], 'setools': ['perm_map']},
-+ package_data={'setools': ['perm_map']},
- ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'],
- annotate=cython_annotate,
- compiler_directives={"language_level": 3,
diff --git a/app-admin/setools/files/setools-4.4.1-cython3.patch b/app-admin/setools/files/setools-4.4.1-cython3.patch
new file mode 100644
index 000000000000..386b92f44576
--- /dev/null
+++ b/app-admin/setools/files/setools-4.4.1-cython3.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/898664
+https://github.com/SELinuxProject/setools/pull/105/commits/fc443b5a0379f3644e071a458e996ea6115ccba3
+(cherry-picked from https://github.com/SELinuxProject/setools/commit/31e104c3a9ca97038e09d3a4549fe2b8c8df36e8)
+
+From fc443b5a0379f3644e071a458e996ea6115ccba3 Mon Sep 17 00:00:00 2001
+From: Chris PeBenito <chpebeni@linux.microsoft.com>
+Date: Mon, 17 Jul 2023 16:08:21 -0400
+Subject: [PATCH] SELinuxPolicy: Add explicit cast for libspol message
+ callback.
+
+Cython 3.0 is more strict. The change fixes this issue:
+
+setools/policyrep/selinuxpolicy.pxi:685:46: Cannot assign type 'void (void *, sepol_handle_t *, const char *, ...) except *' to 'msg_callback'
+
+Additionally, the msg_callback is not typedef-ed in sepol/debug.h, so it must
+be explicitly defined in sepol.pxd for the casting to work.
+
+Signed-off-by: Chris PeBenito <chpebeni@linux.microsoft.com>
+--- a/setools/policyrep/selinuxpolicy.pxi
++++ b/setools/policyrep/selinuxpolicy.pxi
+@@ -668,7 +668,7 @@ cdef class SELinuxPolicy:
+ if self.sh == NULL:
+ raise MemoryError
+
+- sepol.sepol_msg_set_callback(self.sh, sepol_logging_callback, self.handle)
++ sepol.sepol_msg_set_callback(self.sh, <sepol.msg_callback>sepol_logging_callback, self.handle)
+
+ if sepol.sepol_policydb_create(&self.handle) < 0:
+ raise MemoryError
+--- a/setools/policyrep/sepol.pxd
++++ b/setools/policyrep/sepol.pxd
+@@ -16,8 +16,10 @@ cdef extern from "<sepol/handle.h>":
+ void sepol_handle_destroy(sepol_handle_t *sh)
+
+
++ctypedef void (*msg_callback)(void *varg, sepol_handle_t *handle, const char *fmt, ...)
++
++
+ cdef extern from "<sepol/debug.h>":
+- ctypedef void (*msg_callback)(void *varg, sepol_handle_t *handle, const char *fmt, ...)
+ void sepol_msg_set_callback(sepol_handle * handle, msg_callback cb, void *cb_arg)
+
+
diff --git a/app-admin/setools/files/setools-4.4.0-remove-gui.patch b/app-admin/setools/files/setools-4.4.2-remove-gui.patch
index 01b40adb29db..49d16ec66b56 100644
--- a/app-admin/setools/files/setools-4.4.0-remove-gui.patch
+++ b/app-admin/setools/files/setools-4.4.2-remove-gui.patch
@@ -1,6 +1,6 @@
---- a/setup.py 2021-03-17 22:56:42.016632635 +0000
-+++ b/setup.py 2021-03-17 23:02:33.625713629 +0000
-@@ -139,10 +139,10 @@ setup(name='setools',
+--- a/setup.py
++++ b/setup.py
+@@ -139,12 +139,10 @@ setup(name='setools',
author_email='pebenito@ieee.org',
url='https://github.com/SELinuxProject/setools',
cmdclass={'build_qhc': QtHelpCommand, 'clean': CleanCommand},
@@ -9,8 +9,10 @@
+ packages=['setools', 'setools.checker', 'setools.diff'],
+ scripts=['sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta', 'sechecker'],
data_files=installed_data,
-- package_data={'': ['*.ui', '*.qhc', '*.qch'], 'setools': ['perm_map']},
-+ package_data={'setools': ['perm_map']},
+- package_data={'': ['*.ui', '*.qhc', '*.qch'], 'setools': ['perm_map',
+- 'policyrep.pyi',
+- 'py.typed']},
++ package_data={'setools': ['perm_map', 'policyrep.pyi', 'py.typed']},
ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'],
annotate=cython_annotate,
compiler_directives={"language_level": 3,
diff --git a/app-admin/setools/metadata.xml b/app-admin/setools/metadata.xml
index 8b667b0a7682..2367a4105f5c 100644
--- a/app-admin/setools/metadata.xml
+++ b/app-admin/setools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>selinux@gentoo.org</email>
diff --git a/app-admin/setools/setools-4.4.0.ebuild b/app-admin/setools/setools-4.4.2.ebuild
index bab448134a71..a0fdba4cdd9d 100644
--- a/app-admin/setools/setools-4.4.0.ebuild
+++ b/app-admin/setools/setools-4.4.2.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python{3_7,3_8,3_9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI="8"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
@@ -13,41 +15,47 @@ HOMEPAGE="https://github.com/SELinuxProject/setools/wiki"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/SELinuxProject/setools.git"
+ S="${WORKDIR}/${P}"
else
SRC_URI="https://github.com/SELinuxProject/setools/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 arm arm64 x86"
+ S="${WORKDIR}/${PN}"
fi
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-IUSE="X test"
+IUSE="test 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:=
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/libsepol-3.2:=
+ >=sys-libs/libselinux-3.2:=
X? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-python/cython-0.27
- dev-python/setuptools
+BDEPEND=">=dev-python/cython-0.27[${PYTHON_USEDEP}]
test? (
+ >=dev-python/networkx-2.0[${PYTHON_USEDEP}]
sys-apps/checkpolicy
)"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.1-cython3.patch
+)
+
+distutils_enable_tests pytest
+
python_prepare_all() {
- sed -i "s/'-Werror', //" "${S}"/setup.py || die "failed to remove Werror"
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 )
+ use X || PATCHES+=( "${FILESDIR}"/setools-4.4.2-remove-gui.patch )
distutils-r1_python_prepare_all
}
python_test() {
- esetup.py test
+ rm -rf setools || die
+ epytest
}
diff --git a/app-admin/setools/setools-4.3.0.ebuild b/app-admin/setools/setools-4.4.4.ebuild
index 19992dacb4a2..d74e1d12b4bf 100644
--- a/app-admin/setools/setools-4.3.0.ebuild
+++ b/app-admin/setools/setools-4.4.4.ebuild
@@ -1,8 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python{3_7,3_8,3_9} )
+EAPI="8"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -12,39 +15,43 @@ HOMEPAGE="https://github.com/SELinuxProject/setools/wiki"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/SELinuxProject/setools.git"
+ S="${WORKDIR}/${P}"
else
SRC_URI="https://github.com/SELinuxProject/setools/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="amd64 ~arm ~arm64 x86"
+ KEYWORDS="amd64 arm arm64 x86"
+ S="${WORKDIR}/${PN}"
fi
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-IUSE="X test"
+IUSE="test X"
RESTRICT="!test? ( test )"
-S="${WORKDIR}/${PN}"
RDEPEND="${PYTHON_DEPS}
>=dev-python/networkx-2.0[${PYTHON_USEDEP}]
- >=sys-libs/libsepol-2.8:=
- >=sys-libs/libselinux-2.8:=
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/libsepol-3.2:=
+ >=sys-libs/libselinux-3.2:=
X? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-python/cython-0.27
+BDEPEND=">=dev-python/cython-0.27[${PYTHON_USEDEP}]
test? (
sys-apps/checkpolicy
)"
+distutils_enable_tests pytest
+
python_prepare_all() {
- sed -i "s/'-Werror', //" "${S}"/setup.py || die "failed to remove Werror"
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.3.0-remove-gui.patch )
+ use X || PATCHES+=( "${FILESDIR}"/setools-4.4.2-remove-gui.patch )
distutils-r1_python_prepare_all
}
python_test() {
- esetup.py test
+ rm -rf setools || die
+ epytest
}
diff --git a/app-admin/setools/setools-9999.ebuild b/app-admin/setools/setools-9999.ebuild
index 61a5b78a19c1..ec3d11050109 100644
--- a/app-admin/setools/setools-9999.ebuild
+++ b/app-admin/setools/setools-9999.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python{3_7,3_8,3_9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI="8"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -13,41 +15,43 @@ HOMEPAGE="https://github.com/SELinuxProject/setools/wiki"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/SELinuxProject/setools.git"
+ S="${WORKDIR}/${P}"
else
SRC_URI="https://github.com/SELinuxProject/setools/releases/download/${PV}/${P}.tar.bz2"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ S="${WORKDIR}/${PN}"
fi
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-IUSE="X test"
+IUSE="test 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:=
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/libsepol-3.2:=
+ >=sys-libs/libselinux-3.2:=
X? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-python/cython-0.27
- dev-python/setuptools
+BDEPEND=">=dev-python/cython-0.27[${PYTHON_USEDEP}]
test? (
sys-apps/checkpolicy
)"
+distutils_enable_tests pytest
+
python_prepare_all() {
- sed -i "s/'-Werror', //" "${S}"/setup.py || die "failed to remove Werror"
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 )
+ use X || PATCHES+=( "${FILESDIR}"/setools-4.4.2-remove-gui.patch )
distutils-r1_python_prepare_all
}
python_test() {
- esetup.py test
+ rm -rf setools || die
+ epytest
}