hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
################################################################################
#
# refpolicy
#
################################################################################
 
REFPOLICY_VERSION = 2.20180114
REFPOLICY_SOURCE = refpolicy-$(REFPOLICY_VERSION).tar.bz2
REFPOLICY_SITE = https://raw.githubusercontent.com/wiki/TresysTechnology/refpolicy/files
REFPOLICY_LICENSE = GPL-2.0
REFPOLICY_LICENSE_FILES = COPYING
REFPOLICY_INSTALL_STAGING = YES
REFPOLICY_DEPENDENCIES = \
   host-m4 \
   host-checkpolicy \
   host-policycoreutils \
   host-setools \
   host-gawk \
   policycoreutils
 
ifeq ($(BR2_PACKAGE_PYTHON3),y)
REFPOLICY_DEPENDENCIES += host-python3
else
REFPOLICY_DEPENDENCIES += host-python
endif
 
# Cannot use multiple threads to build the reference policy
REFPOLICY_MAKE = \
   TEST_TOOLCHAIN=$(HOST_DIR) \
   $(TARGET_MAKE_ENV) \
   $(MAKE1)
 
REFPOLICY_POLICY_VERSION = \
   $(call qstrip,$(BR2_PACKAGE_REFPOLICY_POLICY_VERSION))
REFPOLICY_POLICY_STATE = \
   $(call qstrip,$(BR2_PACKAGE_REFPOLICY_POLICY_STATE))
 
define REFPOLICY_CONFIGURE_CMDS
   $(SED) "/OUTPUT_POLICY/c\OUTPUT_POLICY = $(REFPOLICY_POLICY_VERSION)" \
       $(@D)/build.conf
   $(SED) "/MONOLITHIC/c\MONOLITHIC = y" $(@D)/build.conf
   $(SED) "/NAME/c\NAME = targeted" $(@D)/build.conf
endef
 
define REFPOLICY_BUILD_CMDS
   $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) bare conf
endef
 
define REFPOLICY_INSTALL_STAGING_CMDS
   $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) \
       install-src install-headers
endef
 
define REFPOLICY_INSTALL_TARGET_CMDS
   $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
   $(INSTALL) -m 0755 -D package/refpolicy/config \
       $(TARGET_DIR)/etc/selinux/config
   $(SED) "/^SELINUX=/c\SELINUX=$(REFPOLICY_POLICY_STATE)" \
       $(TARGET_DIR)/etc/selinux/config
endef
 
$(eval $(generic-package))