1 ################################################################################
5 ################################################################################
7 POLICYCOREUTILS_VERSION = 2.5
8 POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20160223
9 POLICYCOREUTILS_LICENSE = GPLv2
10 POLICYCOREUTILS_LICENSE_FILES = COPYING
12 POLICYCOREUTILS_DEPENDENCIES = libsemanage libcap-ng
14 ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
15 POLICYCOREUTILS_DEPENDENCIES += linux-pam
16 POLICYCOREUTILS_MAKE_OPTS += NAMESPACE_PRIV=y
17 define POLICYCOREUTILS_INSTALL_TARGET_LINUX_PAM_CONFS
18 $(INSTALL) -D -m 0644 $(@D)/newrole/newrole-lspp.pamd $(TARGET_DIR)/etc/pam.d/newrole
19 $(INSTALL) -D -m 0644 $(@D)/run_init/run_init.pamd $(TARGET_DIR)/etc/pam.d/run_init
23 ifeq ($(BR2_PACKAGE_AUDIT),y)
24 POLICYCOREUTILS_DEPENDENCIES += audit
25 POLICYCOREUTILS_MAKE_OPTS += AUDIT_LOG_PRIV=y
28 # Enable LSPP_PRIV if both audit and linux pam are enabled
29 ifeq ($(BR2_PACKAGE_LINUX_PAM)$(BR2_PACKAGE_AUDIT),yy)
30 POLICYCOREUTILS_MAKE_OPTS += LSPP_PRIV=y
33 # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
35 # See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information
36 POLICYCOREUTILS_MAKE_OPTS += \
37 $(TARGET_CONFIGURE_OPTS) \
38 CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \
39 CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS" \
42 POLICYCOREUTILS_MAKE_DIRS = \
43 load_policy newrole run_init \
44 secon semodule semodule_deps \
45 semodule_expand semodule_link \
46 semodule_package sepolgen-ifgen \
47 sestatus setfiles setsebool
49 ifeq ($(BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND),y)
50 POLICYCOREUTILS_MAKE_DIRS += restorecond
52 # We need to pass DESTDIR at build time because it's used by
53 # policycoreutils build system to find headers and libraries.
54 define POLICYCOREUTILS_BUILD_CMDS
55 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS),
56 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \
57 DESTDIR=$(STAGING_DIR) all
61 define POLICYCOREUTILS_INSTALL_TARGET_CMDS
62 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS),
63 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \
64 DESTDIR=$(TARGET_DIR) install
68 HOST_POLICYCOREUTILS_DEPENDENCIES = \
69 host-libsemanage host-dbus-glib \
70 host-sepolgen host-setools
72 # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
74 # See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information
75 HOST_POLICYCOREUTILS_MAKE_OPTS = \
76 $(HOST_CONFIGURE_OPTS) \
77 CFLAGS="$(HOST_CFLAGS) -U_FILE_OFFSET_BITS" \
78 CPPFLAGS="$(HOST_CPPFLAGS) -U_FILE_OFFSET_BITS" \
79 PYTHON="$(HOST_DIR)/usr/bin/python" \
80 PYTHON_INSTALL_ARGS="$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS)" \
83 ifeq ($(BR2_PACKAGE_PYTHON3),y)
84 HOST_POLICYCOREUTILS_DEPENDENCIES += host-python3
85 HOST_POLICYCOREUTILS_MAKE_OPTS += \
86 PYLIBVER="python$(PYTHON3_VERSION_MAJOR)"
88 HOST_POLICYCOREUTILS_DEPENDENCIES += host-python
89 HOST_POLICYCOREUTILS_MAKE_OPTS += \
90 PYLIBVER="python$(PYTHON_VERSION_MAJOR)"
93 # Note: We are only building the programs required by the refpolicy build
94 HOST_POLICYCOREUTILS_MAKE_DIRS = \
95 load_policy semodule semodule_deps \
96 semodule_expand semodule_link \
97 semodule_package setfiles restorecond \
98 audit2allow scripts semanage sepolicy
100 # We need to pass DESTDIR at build time because it's used by
101 # policycoreutils build system to find headers and libraries.
102 define HOST_POLICYCOREUTILS_BUILD_CMDS
103 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS),
104 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \
105 DESTDIR=$(HOST_DIR) all
109 define HOST_POLICYCOREUTILS_INSTALL_CMDS
110 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS),
111 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \
112 DESTDIR=$(HOST_DIR) install
115 $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/audit2allow
116 $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/sepolgen-ifgen
117 $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/sepolicy
120 $(eval $(generic-package))
121 $(eval $(host-generic-package))