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