1################################################################################ 2# 3# policycoreutils 4# 5################################################################################ 6 7POLICYCOREUTILS_VERSION = 3.6 8POLICYCOREUTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(POLICYCOREUTILS_VERSION) 9POLICYCOREUTILS_LICENSE = GPL-2.0 10POLICYCOREUTILS_LICENSE_FILES = LICENSE 11POLICYCOREUTILS_CPE_ID_VENDOR = selinuxproject 12 13POLICYCOREUTILS_DEPENDENCIES = libsemanage libsepol libcap-ng $(TARGET_NLS_DEPENDENCIES) 14POLICYCOREUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) LDLIBS=$(TARGET_NLS_LIBS) 15 16ifeq ($(BR2_PACKAGE_LIBXCRYPT),y) 17POLICYCOREUTILS_DEPENDENCIES += libxcrypt 18endif 19 20ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 21POLICYCOREUTILS_DEPENDENCIES += linux-pam 22POLICYCOREUTILS_MAKE_OPTS += NAMESPACE_PRIV=y 23endif 24 25ifeq ($(BR2_PACKAGE_AUDIT),y) 26POLICYCOREUTILS_DEPENDENCIES += audit 27POLICYCOREUTILS_MAKE_OPTS += AUDIT_LOG_PRIV=y USE_AUDIT=y 28endif 29 30# Enable LSPP_PRIV if both audit and linux pam are enabled 31ifeq ($(BR2_PACKAGE_LINUX_PAM)$(BR2_PACKAGE_AUDIT),yy) 32POLICYCOREUTILS_MAKE_OPTS += LSPP_PRIV=y 33endif 34 35POLICYCOREUTILS_MAKE_DIRS = \ 36 load_policy newrole run_init \ 37 secon semodule sestatus setfiles \ 38 setsebool scripts 39 40# We need to pass DESTDIR at build time because it's used by 41# policycoreutils build system to find headers and libraries. 42define POLICYCOREUTILS_BUILD_CMDS 43 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS), 44 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \ 45 DESTDIR=$(STAGING_DIR) all 46 ) 47endef 48 49define POLICYCOREUTILS_INSTALL_TARGET_CMDS 50 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS), 51 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \ 52 DESTDIR=$(TARGET_DIR) install 53 ) 54endef 55 56HOST_POLICYCOREUTILS_DEPENDENCIES = host-libsemanage 57 58# We need to pass PREFIX because it defaults to $(DESTDIR)/usr 59HOST_POLICYCOREUTILS_MAKE_OPTS = \ 60 $(HOST_CONFIGURE_OPTS) \ 61 PREFIX=$(HOST_DIR) \ 62 ETCDIR=$(HOST_DIR)/etc \ 63 SBINDIR=$(HOST_DIR)/sbin 64 65# Note: We are only building the programs required by the refpolicy build 66HOST_POLICYCOREUTILS_MAKE_DIRS = \ 67 load_policy newrole run_init \ 68 secon semodule sestatus setfiles \ 69 setsebool 70 71define HOST_POLICYCOREUTILS_BUILD_CMDS 72 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), 73 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) all 74 ) 75endef 76 77define HOST_POLICYCOREUTILS_INSTALL_CMDS 78 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), 79 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) install 80 ) 81endef 82 83$(eval $(generic-package)) 84$(eval $(host-generic-package)) 85