1 ################################################################################
5 ################################################################################
7 POLICYCOREUTILS_VERSION = 2.6
8 POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014
9 POLICYCOREUTILS_LICENSE = GPL-2.0
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
51 POLICYCOREUTILS_DEPENDENCIES += libglib2
54 ifeq ($(BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW),y)
55 ifeq ($(BR2_PACKAGE_PYTHON3),y)
56 POLICYCOREUTILS_DEPENDENCIES += python3
57 POLICYCOREUTILS_MAKE_OPTS += PYLIBVER="python$(PYTHON3_VERSION_MAJOR)"
59 POLICYCOREUTILS_DEPENDENCIES += python
60 POLICYCOREUTILS_MAKE_OPTS += PYLIBVER="python$(PYTHON_VERSION_MAJOR)"
63 POLICYCOREUTILS_DEPENDENCIES += sepolgen checkpolicy
64 POLICYCOREUTILS_MAKE_DIRS += audit2allow
67 # We need to pass DESTDIR at build time because it's used by
68 # policycoreutils build system to find headers and libraries.
69 define POLICYCOREUTILS_BUILD_CMDS
70 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS),
71 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \
72 DESTDIR=$(STAGING_DIR) all
76 define POLICYCOREUTILS_INSTALL_TARGET_CMDS
77 $(foreach d,$(POLICYCOREUTILS_MAKE_DIRS),
78 $(MAKE) -C $(@D)/$(d) $(POLICYCOREUTILS_MAKE_OPTS) \
79 DESTDIR=$(TARGET_DIR) install
83 HOST_POLICYCOREUTILS_DEPENDENCIES = \
84 host-libsemanage host-dbus-glib \
85 host-sepolgen host-setools
87 # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
89 # See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information
90 HOST_POLICYCOREUTILS_MAKE_OPTS = \
91 $(HOST_CONFIGURE_OPTS) \
92 CFLAGS="$(HOST_CFLAGS) -U_FILE_OFFSET_BITS" \
93 CPPFLAGS="$(HOST_CPPFLAGS) -U_FILE_OFFSET_BITS" \
94 PYTHON="$(HOST_DIR)/bin/python" \
95 PYTHON_INSTALL_ARGS="$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS)" \
98 ifeq ($(BR2_PACKAGE_PYTHON3),y)
99 HOST_POLICYCOREUTILS_DEPENDENCIES += host-python3
100 HOST_POLICYCOREUTILS_MAKE_OPTS += \
101 PYLIBVER="python$(PYTHON3_VERSION_MAJOR)"
103 HOST_POLICYCOREUTILS_DEPENDENCIES += host-python
104 HOST_POLICYCOREUTILS_MAKE_OPTS += \
105 PYLIBVER="python$(PYTHON_VERSION_MAJOR)"
108 # Note: We are only building the programs required by the refpolicy build
109 HOST_POLICYCOREUTILS_MAKE_DIRS = \
110 load_policy semodule semodule_deps \
111 semodule_expand semodule_link \
112 semodule_package setfiles restorecond \
113 audit2allow scripts semanage sepolicy
115 # We need to pass DESTDIR at build time because it's used by
116 # policycoreutils build system to find headers and libraries.
117 define HOST_POLICYCOREUTILS_BUILD_CMDS
118 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS),
119 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \
120 DESTDIR=$(HOST_DIR) all
124 define HOST_POLICYCOREUTILS_INSTALL_CMDS
125 $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS),
126 $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \
127 DESTDIR=$(HOST_DIR) install
130 $(SED) 's%/usr/bin/%$(HOST_DIR)/bin/%g' $(HOST_DIR)/bin/audit2allow
131 $(SED) 's%/usr/bin/%$(HOST_DIR)/bin/%g' $(HOST_DIR)/bin/sepolgen-ifgen
132 $(SED) 's%/usr/bin/%$(HOST_DIR)/bin/%g' $(HOST_DIR)/bin/sepolicy
135 $(eval $(generic-package))
136 $(eval $(host-generic-package))