diff options
author | Tianling Shen <cnsztl@immortalwrt.org> | 2023-06-25 17:04:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-25 17:04:14 +0800 |
commit | 7414d8c6dd5e67844665527e56695dc84360a22f (patch) | |
tree | 0c432a38830aabb2622ba4ef523942a40592952e /utils | |
parent | 534bd518f3fff6c31656a1edcd7e10922f3e06e5 (diff) | |
parent | aa4085a13f224e8bf5917aace318ae21b49adf2a (diff) |
Merge pull request #21405 from jefferyto/selinux-update
selinux: Update selinux packages to 3.5, setools to 4.4.2, reorganize packages
Diffstat (limited to 'utils')
-rw-r--r-- | utils/selinux-python/Makefile | 242 | ||||
-rw-r--r-- | utils/selinux-python/patches/0001-sepolgen-adjust-data_dir.patch | 4 | ||||
-rw-r--r-- | utils/selinux-python/patches/0003-sepolicy-no-gui.patch | 23 | ||||
-rw-r--r-- | utils/selinux-python/patches/0004-sepolicy-fix-get_os_version-except.patch | 39 | ||||
-rw-r--r-- | utils/selinux-python/patches/0005-no-translations.patch | 8 | ||||
-rw-r--r-- | utils/semodule-utils/Makefile | 64 | ||||
-rw-r--r-- | utils/setools/Makefile | 95 | ||||
-rw-r--r-- | utils/setools/patches/010-no-gui.patch | 16 | ||||
-rw-r--r-- | utils/setools/patches/030-remove-host-paths.patch | 5 |
9 files changed, 408 insertions, 88 deletions
diff --git a/utils/selinux-python/Makefile b/utils/selinux-python/Makefile index ffaa99c7f..ababbae95 100644 --- a/utils/selinux-python/Makefile +++ b/utils/selinux-python/Makefile @@ -6,18 +6,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=selinux-python -PKG_VERSION:=3.2 +PKG_VERSION:=3.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION) -PKG_HASH:=770855ea8120ef23007fdb9db94b1ed6e8cd77917b584ed8877bbee9c16e74fb +PKG_HASH:=8245bb4dae59333461f19ca0c79a829081f07972fa5e3ad4c2b2b917dd71d96b PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com> PKG_LICENSE:=GPL-2.0-only -PKG_LICENSE_FILES:=COPYING -PYTHON3_PKG_BUILD:=0 +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 +PYTHON3_PKG_BUILD:=0 include $(INCLUDE_DIR)/package.mk include ../../lang/python/python3-package.mk @@ -27,44 +29,134 @@ include ../../lang/python/python3-package.mk # define Package/selinux-python/Default + URL:=http://selinuxproject.org/page/Main_Page + DEPENDS:=+python3-light +endef + +define Package/selinux-python/Default/python +$(call Package/selinux-python/Default) + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages +endef + +define Package/selinux-python/Default/util +$(call Package/selinux-python/Default) SECTION:=utils - DEPENDS:=+python3 +python3-libselinux CATEGORY:=Utilities - URL:=http://selinuxproject.org/page/Main_Page + TITLE:=SELinux management utility endef define Package/selinux-python/Default/description - A set of SELinux tools written in python that help with - managing a system with SELinux enabled. +A set of SELinux tools written in Python that help with managing a +system with SELinux enabled. endef MAKE_VARS = \ - PYTHON=$(HOST_PYTHON3_BIN) \ - PYTHONLIBDIR=$(PYTHON3_PKG_DIR) \ - $(PYTHON3_VARS) + $(PYTHON3_VARS) \ + $(HOST_PYTHON3_PIP_VARS) \ + PYTHON_SETUP_ARGS=--no-compile define Build/Compile $(call Build/Compile/Default,all) endef # +# python3-seobject +# + +define Package/python3-seobject +$(call Package/selinux-python/Default/python) + TITLE:=SELinux seobject library + DEPENDS+= +python3-selinux +python3-semanage +python3-sepolicy +python3-setools +endef + +define Package/python3-seobject/description +$(call Package/selinux-python/Default/description) + +This package contains the seobject library. +endef + +define Py3Package/python3-seobject/filespec ++|$(PYTHON3_PKG_DIR)/seobject.py +endef + +Py3Package/python3-seobject/install:=: + +# +# python3-sepolgen +# + +define Package/python3-sepolgen +$(call Package/selinux-python/Default/python) + TITLE:=SELinux policy generation library + DEPENDS+= +python3-selinux +endef + +define Package/python3-sepolgen/description +$(call Package/selinux-python/Default/description) + +This package contains the SELinux policy generation Python library. +endef + +define Package/python3-sepolgen/conffiles +/etc/sepolgen/ +endef + +define Py3Package/python3-sepolgen/filespec ++|$(PYTHON3_PKG_DIR)/sepolgen +endef + +define Py3Package/python3-sepolgen/install + $(INSTALL_DIR) $(1)/etc/sepolgen + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/var/lib/sepolgen/perm_map $(1)/etc/sepolgen/ +endef + +# +# python3-sepolicy +# + +define Package/python3-sepolicy +$(call Package/selinux-python/Default/python) + TITLE:=SELinux Policy Analyses binding + DEPENDS+= +python3-selinux +python3-sepolgen +python3-xml +python3-setools +endef + +define Package/python3-sepolicy/description +$(call Package/selinux-python/Default/description) + +This package contains a Python binding for SELinux Policy Analyses. +endef + +define Py3Package/python3-sepolicy/filespec ++|$(PYTHON3_PKG_DIR)/sepolicy +-|$(PYTHON3_PKG_DIR)/sepolicy/gui.py +-|$(PYTHON3_PKG_DIR)/sepolicy/sedbus.py ++|$(PYTHON3_PKG_DIR)/sepolicy-$(PKG_VERSION).dist-info +endef + +Py3Package/python3-sepolicy/install:=: + +# # selinux-audit2allow # define Package/selinux-audit2allow -$(call Package/selinux-python/Default) - TITLE:=selinux-audit2allow - DEPENDS+=+python3-sepolgen +libselinux +libsepol +$(call Package/selinux-python/Default/util) + TITLE+= audit2allow + DEPENDS+= +python3-selinux +python3-sepolgen endef define Package/selinux-audit2allow/description $(call Package/selinux-python/Default/description) - This package contains the audit2allow and audit2why tools. + +This package contains the audit2allow and audit2why tools. endef define Package/selinux-audit2allow/install - $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/audit2allow DESTDIR=$(1) install - rm -rf $(1)/usr/share/man + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/audit2allow $(1)/usr/bin/ + $(LN) audit2allow $(1)/usr/bin/audit2why endef # @@ -72,88 +164,126 @@ endef # define Package/selinux-chcat -$(call Package/selinux-python/Default) - TITLE:=selinux-chcat +$(call Package/selinux-python/Default/util) + TITLE+= chcat + DEPENDS+= +python3-selinux +python3-seobject +selinux-semanage endef define Package/selinux-chcat/description $(call Package/selinux-python/Default/description) - This package contains the chcat tool. + +This package contains the chcat tool. endef define Package/selinux-chcat/install - $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/chcat DESTDIR=$(1) install - rm -rf $(1)/usr/share + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/chcat $(1)/usr/bin/ +endef + +# +# selinux-python +# + +define Package/selinux-python +$(call Package/selinux-python/Default/util) + TITLE+= meta-package + DEPENDS:= \ + +selinux-audit2allow \ + +selinux-chcat \ + +selinux-semanage \ + +selinux-sepolgen-ifgen \ + +selinux-sepolicy endef +define Package/selinux-python/description +$(call Package/selinux-python/Default/description) + +This is a meta-package that installs all of the SELinux management +utilities. +endef + +Package/selinux-python/install:=: + # # selinux-semanage # define Package/selinux-semanage -$(call Package/selinux-python/Default) - TITLE:=selinux-semanage - DEPENDS+=+python3-sepolicy +python3-libsemanage +setools +$(call Package/selinux-python/Default/util) + TITLE+= semanage + DEPENDS+= +python3-seobject endef define Package/selinux-semanage/description $(call Package/selinux-python/Default/description) - This package contains the semanage tool. + +This package contains the semanage tool. endef define Package/selinux-semanage/install - $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/semanage DESTDIR=$(1) install - rm -rf $(1)/usr/share + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/semanage $(1)/usr/sbin/ endef # -# python3-sepolgen +# selinux-sepolgen-ifgen # -define Package/python3-sepolgen -$(call Package/selinux-python/Default) - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=python3-sepolgen +define Package/selinux-sepolgen-ifgen +$(call Package/selinux-python/Default/util) + TITLE+= sepolgen-ifgen + DEPENDS+= +python3-selinux +python3-sepolgen +libselinux endef -define Package/python3-sepolgen/description +define Package/selinux-sepolgen-iften/description $(call Package/selinux-python/Default/description) - This package contains the sepolgen Python library. + +This package contains the sepolgen-ifgen tool. endef -define Package/python3-sepolgen/install - $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolgen DESTDIR=$(1) install - $(INSTALL_DIR) $(1)/usr/share/sepolgen/ - $(INSTALL_DATA) $(1)/var/lib/sepolgen/perm_map $(1)/usr/share/sepolgen/perm_map - $(RM) -rf $(1)/var +define Package/selinux-sepolgen-ifgen/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sepolgen-ifgen $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sepolgen-ifgen-attr-helper $(1)/usr/bin/ endef # -# python3-sepolicy +# selinux-sepolicy # -define Package/python3-sepolicy -$(call Package/selinux-python/Default) - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=python3-sepolicy +define Package/selinux-sepolicy +$(call Package/selinux-python/Default/util) + TITLE+= sepolicy + DEPENDS+= +python3-multiprocessing +python3-selinux +python3-sepolicy endef -define Package/python3-sepolicy/description +define Package/selinux-sepolicy/description $(call Package/selinux-python/Default/description) - This package contains the sepolicy Python library. + +This package contains the sepolicy and sepolgen tools. endef -define Package/python3-sepolicy/install - $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolicy DESTDIR=$(1) install - rm -rf $(1)/usr/share +define Package/selinux-sepolicy/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sepolicy $(1)/usr/bin/ + $(LN) sepolicy $(1)/usr/bin/sepolgen endef +$(eval $(call Py3Package,python3-seobject)) +$(eval $(call Py3Package,python3-sepolgen)) +$(eval $(call Py3Package,python3-sepolicy)) + +$(eval $(call BuildPackage,python3-seobject)) +$(eval $(call BuildPackage,python3-sepolgen)) +$(eval $(call BuildPackage,python3-sepolicy)) + +$(eval $(call BuildPackage,python3-seobject-src)) +$(eval $(call BuildPackage,python3-sepolgen-src)) +$(eval $(call BuildPackage,python3-sepolicy-src)) + $(eval $(call BuildPackage,selinux-audit2allow)) $(eval $(call BuildPackage,selinux-chcat)) +$(eval $(call BuildPackage,selinux-python)) $(eval $(call BuildPackage,selinux-semanage)) -$(eval $(call BuildPackage,python3-sepolgen)) -$(eval $(call BuildPackage,python3-sepolicy)) +$(eval $(call BuildPackage,selinux-sepolgen-ifgen)) +$(eval $(call BuildPackage,selinux-sepolicy)) diff --git a/utils/selinux-python/patches/0001-sepolgen-adjust-data_dir.patch b/utils/selinux-python/patches/0001-sepolgen-adjust-data_dir.patch index 2589f2f99..5b866f199 100644 --- a/utils/selinux-python/patches/0001-sepolgen-adjust-data_dir.patch +++ b/utils/selinux-python/patches/0001-sepolgen-adjust-data_dir.patch @@ -4,6 +4,8 @@ Date: Wed, 2 Oct 2019 12:04:24 +0200 Subject: [PATCH] sepolgen: adjust data_dir() Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> +(changed data_dir prefix from /usr/share to /etc) +Signed-off-by: Jeffery To <jeffery.to@gmail.com> --- sepolgen/src/sepolgen/defaults.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -15,7 +17,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> def data_dir(): - return "/var/lib/sepolgen" -+ return "/usr/share/sepolgen" ++ return "/etc/sepolgen" def perm_map(): return data_dir() + "/perm_map" diff --git a/utils/selinux-python/patches/0003-sepolicy-no-gui.patch b/utils/selinux-python/patches/0003-sepolicy-no-gui.patch new file mode 100644 index 000000000..a822d4c5f --- /dev/null +++ b/utils/selinux-python/patches/0003-sepolicy-no-gui.patch @@ -0,0 +1,23 @@ +--- a/sepolicy/sepolicy.py ++++ b/sepolicy/sepolicy.py +@@ -685,7 +685,6 @@ if __name__ == '__main__': + gen_booleans_args(subparsers) + gen_communicate_args(subparsers) + gen_generate_args(subparsers) +- gen_gui_args(subparsers) + gen_interface_args(subparsers) + gen_manpage_args(subparsers) + gen_network_args(subparsers) +--- a/sepolicy/setup.py ++++ b/sepolicy/setup.py +@@ -13,10 +13,5 @@ setup( + packages=[ + "sepolicy", + "sepolicy.templates", +- "sepolicy.help" + ], +- package_data={ +- 'sepolicy': ['*.glade'], +- 'sepolicy.help': ['*.txt', '*.png'] +- } + ) diff --git a/utils/selinux-python/patches/0004-sepolicy-fix-get_os_version-except.patch b/utils/selinux-python/patches/0004-sepolicy-fix-get_os_version-except.patch new file mode 100644 index 000000000..f035846d5 --- /dev/null +++ b/utils/selinux-python/patches/0004-sepolicy-fix-get_os_version-except.patch @@ -0,0 +1,39 @@ +commit 80ba6c49dec9c2c48775e70a4d4564ba5e59eea1 +Author: Jeffery To <jeffery.to@gmail.com> +Date: Mon Jun 19 14:15:45 2023 +0800 + + python/sepolicy: Fix get_os_version except clause + + This adds more exceptions to be handled by the except clause in + `get_os_version()`: + + * If the `distro` package is not installed, then `import distro` raises + a `ModuleNotFoundError` exception. + + * The distro documentation[1] lists `OSError` and `UnicodeError` as + exceptions that can be raised. + + * Older versions of distro (<= 1.6.0) may also raise + `subprocessCalledProcessError`[2]. + + [1]: https://github.com/python-distro/distro/blob/v1.8.0/src/distro/distro.py#L749-L753 + [2]: https://github.com/python-distro/distro/blob/v1.6.0/distro.py#L726-L728 + + Signed-off-by: Jeffery To <jeffery.to@gmail.com> + +--- a/sepolicy/sepolicy/__init__.py ++++ b/sepolicy/sepolicy/__init__.py +@@ -1240,11 +1240,12 @@ def boolean_desc(boolean): + + + def get_os_version(): ++ import subprocess + system_release = "" + try: + import distro + system_release = distro.name(pretty=True) +- except IOError: ++ except (ModuleNotFoundError, OSError, IOError, UnicodeError, subprocess.CalledProcessError): + system_release = "Misc" + + return system_release diff --git a/utils/selinux-python/patches/0005-no-translations.patch b/utils/selinux-python/patches/0005-no-translations.patch new file mode 100644 index 000000000..9b1cb8cfe --- /dev/null +++ b/utils/selinux-python/patches/0005-no-translations.patch @@ -0,0 +1,8 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-SUBDIRS = sepolicy audit2allow semanage sepolgen chcat po ++SUBDIRS = sepolicy audit2allow semanage sepolgen chcat + + all install relabel clean indent test: + @for subdir in $(SUBDIRS); do \ diff --git a/utils/semodule-utils/Makefile b/utils/semodule-utils/Makefile index 99ccf4d51..bfd94baac 100644 --- a/utils/semodule-utils/Makefile +++ b/utils/semodule-utils/Makefile @@ -6,46 +6,76 @@ include $(TOPDIR)/rules.mk PKG_NAME:=semodule-utils -PKG_VERSION:=3.3 +PKG_VERSION:=3.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION) -PKG_HASH:=3098ec5e5f04a1dbbf4aa569b63a4570750a9fe0d4da14ce45954aa300a17063 +PKG_HASH:=c9a550a737051ebaf2c102f665c7ec2f85e7232870980aa0067998459b414283 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> PKG_LICENSE:=GPL-2.0-only -PKG_LICENSE_FILES:=COPYING +PKG_LICENSE_FILES:=LICENSE PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 -HOST_BUILD_DEPENDS:=libsemanage/host include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/host-build.mk -define Package/semodule-utils +define Package/semodule-utils/Default SECTION:=utils CATEGORY:=Utilities DEPENDS:=+libsepol - TITLE:=SELinux policy utilities for dealing with modules + TITLE:=SELinux policy module utility URL:=http://selinuxproject.org/page/Main_Page endef +define Package/semodule-utils/Default/description +semodule-utils is a collection of utilities for dealing with policy +modules. +endef + +define Package/semodule-utils +$(call Package/semodule-utils/Default) + TITLE+= meta-package + DEPENDS:= \ + semodule-expand \ + semodule-link \ + semodule-package \ + semodule-unpackage +endef + define Package/semodule-utils/description - Semodule-utils is a collection of utilities for dealing with - policy modules. +$(call Package/semodule-utils/Default/description) + +This is a meta-package that installs all of the semodule-utils tools. endef -HOST_MAKE_FLAGS += \ - PREFIX=$(STAGING_DIR_HOSTPKG) \ - SBINDIR=$(STAGING_DIR_HOSTPKG)/sbin \ - ETCDIR=$(STAGING_DIR_HOSTPKG)/etc +Package/semodule-utils/install:=: + +define BuildUtil + define Package/semodule-$(1) + $(call Package/semodule-utils/Default) + TITLE+= semodule_$(1) + endef + + define Package/semodule-$(1)/description +$(call Package/semodule-utils/Default/description) -define Package/semodule-utils/install - $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ +This contains the semodule_$(1) tool. + endef + + define Package/semodule-$(1)/install + $$(INSTALL_DIR) $$(1)/usr/bin + $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/semodule_$(1) $$(1)/usr/bin/ + endef + + $$(eval $$(call BuildPackage,semodule-$(1))) endef -$(eval $(call HostBuild)) $(eval $(call BuildPackage,semodule-utils)) + +$(eval $(call BuildUtil,expand)) +$(eval $(call BuildUtil,link)) +$(eval $(call BuildUtil,package)) +$(eval $(call BuildUtil,unpackage)) diff --git a/utils/setools/Makefile b/utils/setools/Makefile index 2e6d3f915..2bb4c7ff4 100644 --- a/utils/setools/Makefile +++ b/utils/setools/Makefile @@ -6,36 +6,109 @@ include $(TOPDIR)/rules.mk PKG_NAME:=setools -PKG_VERSION:=4.4.0 -PKG_RELEASE:=2 +PKG_VERSION:=4.4.2 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://github.com/SELinuxProject/setools/releases/download/$(PKG_VERSION) -PKG_HASH:=f3786677e40b7f16a226f48f233dcf835e700739614a7dbed2ff61cc9607814e -PKG_BUILD_DIR:=$(BUILD_DIR)/setools +PKG_HASH:=f23e3c8635aa289096ca0218ca6f4568a4346e088bc46f374cb0917b7fb66f05 PKG_BUILD_DEPENDS:=python-cython/host # Cython>=0.27 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> -PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later +PKG_LICENSE:=GPL-2.0-only LGPL-2.1-only PKG_LICENSE_FILES:=COPYING COPYING.GPL COPYING.LGPL PKG_CPE_ID:=cpe:/a:selinuxproject:setools include $(INCLUDE_DIR)/package.mk include ../../lang/python/python3-package.mk -define Package/setools +TAR_OPTIONS+= --strip-components 1 +TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) + +define Package/setools/Default SECTION:=utils CATEGORY:=Utilities - DEPENDS:=+python3 +python3-pkg-resources +python3-networkx +libselinux +libsepol - TITLE:=Policy analysis tools for SELinux + TITLE:=SELinux policy analysis tool + URL:=http://selinuxproject.org/page/Main_Page + DEPENDS:=+python3-light +python3-logging +python3-setools +endef + +define Package/setools/Default/description +SETools is a collection of tools and libraries designed to facilitate +SELinux policy analysis. +endef + +define Package/python3-setools + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=SETools Python bindings URL:=http://selinuxproject.org/page/Main_Page + DEPENDS:=+python3-light +python3-logging +python3-pkg-resources +libselinux +libsepol +endef + +define Package/python3-setools/description +$(call Package/setools/Default/description) + +This contains the SETools Python binding. +endef + +Py3Package/python3-setools/install:=: + +define Package/setools +$(call Package/setools/Default) + TITLE+= meta-package + DEPENDS:= \ + setools-sechecker \ + setools-sediff \ + setools-sedta \ + setools-seinfo \ + setools-seinfoflow \ + setools-sesearch endef define Package/setools/description - SETools is a collection of tools and libraries designed to facilitate - SELinux policy analysis. +$(call Package/setools/Default/description) + +This is a meta-package that installs all of the SETools tools. +endef + +Package/setools/install:=: + +define BuildUtil + define Package/setools-$(1) + $(call Package/setools/Default) + TITLE+= $(1) + DEPENDS+= $(2) + endef + + define Package/setools-$(1)/description +$(call Package/setools/Default/description) + +This contains the $(1) tool. + endef + + define Py3Package/setools-$(1)/install + $$(INSTALL_DIR) $$(1)/usr/bin + $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin/ + endef + + Py3Package/setools-$(1)/filespec:= + + $$(eval $$(call Py3Package,setools-$(1))) + $$(eval $$(call BuildPackage,setools-$(1))) endef -$(eval $(call Py3Package,setools)) +$(eval $(call Py3Package,python3-setools)) +$(eval $(call BuildPackage,python3-setools)) +$(eval $(call BuildPackage,python3-setools-src)) + $(eval $(call BuildPackage,setools)) + +$(eval $(call BuildUtil,sechecker)) +$(eval $(call BuildUtil,sediff)) +$(eval $(call BuildUtil,sedta,+python3-networkx)) +$(eval $(call BuildUtil,seinfo)) +$(eval $(call BuildUtil,seinfoflow,+python3-networkx)) +$(eval $(call BuildUtil,sesearch)) diff --git a/utils/setools/patches/010-no-gui.patch b/utils/setools/patches/010-no-gui.patch new file mode 100644 index 000000000..54f03c316 --- /dev/null +++ b/utils/setools/patches/010-no-gui.patch @@ -0,0 +1,16 @@ +--- a/setup.py ++++ b/setup.py +@@ -139,10 +139,10 @@ setup(name='setools', + author_email='pebenito@ieee.org', + url='https://github.com/SELinuxProject/setools', + cmdclass={'build_qhc': QtHelpCommand, 'clean': CleanCommand}, +- packages=['setools', 'setools.checker', 'setools.diff', 'setoolsgui', 'setoolsgui.apol'], +- scripts=['apol', 'sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta', 'sechecker'], ++ 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', + 'policyrep.pyi', + 'py.typed']}, + ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'], diff --git a/utils/setools/patches/030-remove-host-paths.patch b/utils/setools/patches/030-remove-host-paths.patch index 94553004d..bec9be9d6 100644 --- a/utils/setools/patches/030-remove-host-paths.patch +++ b/utils/setools/patches/030-remove-host-paths.patch @@ -1,12 +1,11 @@ --- a/setup.py +++ b/setup.py -@@ -79,7 +79,8 @@ class QtHelpCommand(Command): +@@ -79,7 +79,7 @@ class QtHelpCommand(Command): # Library linkage -lib_dirs = ['.', '/usr/lib64', '/usr/lib', '/usr/local/lib'] -+owrt_staging_dir = os.environ["STAGING_DIR"] -+lib_dirs = ['.', owrt_staging_dir + '/usr/lib64', owrt_staging_dir + '/usr/lib', owrt_staging_dir + '/usr/local/lib' ] ++lib_dirs = ['.', os.environ["STAGING_DIR"] + '/usr/lib'] include_dirs = [] with suppress(KeyError): |