1################################################################################ 2# 3# policycoreutils 4# 5################################################################################ 6 7POLICYCOREUTILS_VERSION = 3.2 8POLICYCOREUTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(POLICYCOREUTILS_VERSION) 9POLICYCOREUTILS_LICENSE = GPL-2.0 10POLICYCOREUTILS_LICENSE_FILES = COPYING 11POLICYCOREUTILS_CPE_ID_VENDOR = selinuxproject 12 13POLICYCOREUTILS_DEPENDENCIES = libsemanage libcap-ng $(TARGET_NLS_DEPENDENCIES) 14POLICYCOREUTILS_MAKE_OPTS = LDLIBS=$(TARGET_NLS_LIBS) 15 16ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 17POLICYCOREUTILS_DEPENDENCIES += linux-pam 18POLICYCOREUTILS_MAKE_OPTS += NAMESPACE_PRIV=y 19define POLICYCOREUTILS_INSTALL_TARGET_LINUX_PAM_CONFS 20 $(INSTALL) -D -m 0644 $(@D)/newrole/newrole-lspp.pamd $(TARGET_DIR)/etc/pam.d/newrole 21 $(INSTALL) -D -m 0644 $(@D)/run_init/run_init.pamd $(TARGET_DIR)/etc/pam.d/run_init 22endef 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 35# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h 36# large file support. 37# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information 38POLICYCOREUTILS_MAKE_OPTS += \ 39 $(TARGET_CONFIGURE_OPTS) \ 40 CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \ 41 CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS" 42 43POLICYCOREUTILS_MAKE_DIRS = \ 44 load_policy newrole run_init \ 45 secon semodule sestatus setfiles \ 46 setsebool scripts 47 48# We need to pass DESTDIR at build time because it's used by 49# policycoreutils build system to find headers and libraries. 50define POLICYCOREUTILS_BUILD_CMDS 51 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS), 52 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \ 53 DESTDIR=$(STAGING_DIR) all 54 ) 55endef 56 57define POLICYCOREUTILS_INSTALL_TARGET_CMDS 58 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS), 59 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \ 60 DESTDIR=$(TARGET_DIR) install 61 ) 62endef 63 64HOST_POLICYCOREUTILS_DEPENDENCIES = host-libsemanage 65 66# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h 67# large file support. 68# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information 69# We also need to pass PREFIX because it defaults to $(DESTDIR)/usr 70HOST_POLICYCOREUTILS_MAKE_OPTS = \ 71 $(HOST_CONFIGURE_OPTS) \ 72 CFLAGS="$(HOST_CFLAGS) -U_FILE_OFFSET_BITS" \ 73 CPPFLAGS="$(HOST_CPPFLAGS) -U_FILE_OFFSET_BITS" \ 74 PREFIX=$(HOST_DIR) \ 75 ETCDIR=$(HOST_DIR)/etc \ 76 SBINDIR=$(HOST_DIR)/sbin 77 78# Note: We are only building the programs required by the refpolicy build 79HOST_POLICYCOREUTILS_MAKE_DIRS = \ 80 load_policy newrole run_init \ 81 secon semodule sestatus setfiles \ 82 setsebool 83 84define HOST_POLICYCOREUTILS_BUILD_CMDS 85 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), 86 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) all 87 ) 88endef 89 90define HOST_POLICYCOREUTILS_INSTALL_CMDS 91 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), 92 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) install 93 ) 94endef 95 96$(eval $(generic-package)) 97$(eval $(host-generic-package)) 98