diff options
Diffstat (limited to 'app-admin/setools')
-rw-r--r-- | app-admin/setools/Manifest | 4 | ||||
-rw-r--r-- | app-admin/setools/files/setools-4.3.0-remove-gui.patch | 16 | ||||
-rw-r--r-- | app-admin/setools/files/setools-4.4.1-cython3.patch | 43 | ||||
-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.xml | 2 | ||||
-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.ebuild | 32 |
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 } |