Makefile 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:=policycoreutils
  7. PKG_VERSION:=3.1
  8. PKG_RELEASE:=1
  9. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  10. PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
  11. PKG_HASH:=c889f62ee80f8b6a369469a9b8af51f5b797975aeaa291f5c5960cc12eed1934
  12. PKG_INSTALL:=1
  13. HOST_BUILD_DEPENDS:=libsemanage/host
  14. PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
  15. PKG_MAINTAINER:=Thomas Petazzoni <[email protected]>
  16. PKG_CPE_ID:=cpe:/a:selinuxproject:policycoreutils
  17. PKG_LICENSE:=GPL-2.0-or-later
  18. PKG_LICENSE_FILES:=COPYING
  19. include $(INCLUDE_DIR)/package.mk
  20. define Package/policycoreutils
  21. SECTION:=utils
  22. CATEGORY:=Utilities
  23. DEPENDS:= +libsemanage +libcap-ng +BUSYBOX_CONFIG_PAM:libpam $(INTL_DEPENDS)
  24. TITLE:=SELinux policy utilities
  25. URL:=http://selinuxproject.org/page/Main_Page
  26. ALTERNATIVES:=\
  27. 300:/sbin/restorecon:policycoreutils-restorecon \
  28. 300:/sbin/setfiles:policycoreutils-setfiles \
  29. 300:/usr/sbin/load_policy:policycoreutils-load_policy \
  30. 300:/usr/sbin/sestatus:policycoreutils-sestatus \
  31. 300:/usr/sbin/setsebool:policycoreutils-setsebool
  32. endef
  33. define Package/policycoreutils/description
  34. Policycoreutils is a collection of policy utilities
  35. (originally the "core" set of utilities needed to use
  36. SELinux, although it has grown a bit over time), which have
  37. different dependencies. sestatus, secon, run_init, and
  38. newrole only use libselinux. load_policy and setfiles only
  39. use libselinux and libsepol. semodule and semanage use
  40. libsemanage (and thus bring in dependencies on libsepol and
  41. libselinux as well). setsebool uses libselinux to make
  42. non-persistent boolean changes (via the kernel interface)
  43. and uses libsemanage to make persistent boolean changes.
  44. endef
  45. include $(INCLUDE_DIR)/host-build.mk
  46. HOST_MAKE_FLAGS += \
  47. PAMH=$(CONFIG_BUSYBOX_CONFIG_PAM) \
  48. PREFIX=$(STAGING_DIR_HOSTPKG) \
  49. SBINDIR=$(STAGING_DIR_HOSTPKG)/sbin \
  50. ETCDIR=$(STAGING_DIR_HOSTPKG)/etc
  51. MAKE_FLAGS += \
  52. PAMH=$(CONFIG_BUSYBOX_CONFIG_PAM)
  53. define Package/policycoreutils/install
  54. $(INSTALL_DIR) $(1)/sbin
  55. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/restorecon_xattr $(1)/sbin/restorecon_xattr
  56. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/restorecon $(1)/sbin/policycoreutils-restorecon
  57. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/setfiles $(1)/sbin/policycoreutils-setfiles
  58. $(INSTALL_DIR) $(1)/usr/sbin
  59. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fixfiles $(1)/usr/sbin/
  60. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/genhomedircon $(1)/usr/sbin/
  61. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/open_init_pty $(1)/usr/sbin/
  62. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/run_init $(1)/usr/sbin/
  63. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/semodule $(1)/usr/sbin/
  64. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/load_policy $(1)/usr/sbin/policycoreutils-load_policy
  65. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sestatus $(1)/usr/sbin/policycoreutils-sestatus
  66. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/setsebool $(1)/usr/sbin/policycoreutils-setsebool
  67. $(INSTALL_DIR) $(1)/usr/bin
  68. $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
  69. endef
  70. $(eval $(call HostBuild))
  71. $(eval $(call BuildPackage,policycoreutils))