2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
6 include $(TOPDIR
)/rules.mk
8 PKG_NAME
:=policycoreutils
12 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
13 PKG_SOURCE_URL
:=https
://github.com
/SELinuxProject
/selinux
/releases
/download
/20200710
14 PKG_HASH
:=c889f62ee80f8b6a369469a9b8af51f5b797975aeaa291f5c5960cc12eed1934
16 HOST_BUILD_DEPENDS
:=libsemanage
/host
17 PKG_BUILD_DEPENDS
:=BUSYBOX_CONFIG_PAM
:libpam
19 PKG_MAINTAINER
:=Thomas Petazzoni
<thomas.petazzoni@bootlin.com
>
20 PKG_CPE_ID
:=cpe
:/a
:selinuxproject
:policycoreutils
21 PKG_LICENSE
:=GPL-2.0
-or-later
22 PKG_LICENSE_FILES
:=COPYING
24 include $(INCLUDE_DIR
)/package.mk
25 include $(INCLUDE_DIR
)/nls.mk
26 include $(INCLUDE_DIR
)/host-build.mk
63 TARGET_LDFLAGS
+= $(INTL_LDFLAGS
) $(if
$(INTL_FULL
),-lintl
)
66 PAMH
=$(CONFIG_BUSYBOX_CONFIG_PAM
)
69 PAMH
=$(CONFIG_BUSYBOX_CONFIG_PAM
) \
70 PREFIX
=$(STAGING_DIR_HOSTPKG
) \
71 SBINDIR
=$(STAGING_DIR_HOSTPKG
)/sbin \
72 ETCDIR
=$(STAGING_DIR_HOSTPKG
)/etc
74 $(eval
$(foreach a
,$(DIR_SBIN
),ALTS_
$(a
):=300:/sbin
/$(a
):/sbin
/policycoreutils-
$(a
)$(newline
)))
75 $(eval
$(foreach a
,$(DIR_USR_BIN
),ALTS_
$(a
):=300:/usr
/bin
/$(a
):/usr
/bin
/policycoreutils-
$(a
)$(newline
)))
76 $(eval
$(foreach a
,$(DIR_USR_SBIN
),ALTS_
$(a
):=300:/usr
/sbin
/$(a
):/usr
/sbin
/policycoreutils-
$(a
)$(newline
)))
78 DEPENDS_genhomedircon
:=+libsemanage
$(INTL_DEPENDS
)
79 DEPENDS_load_policy
:=+libselinux
$(INTL_DEPENDS
)
80 DEPENDS_newrole
:=+libselinux
+libaudit
+BUSYBOX_CONFIG_PAM
:libpam
$(INTL_DEPENDS
)
81 DEPENDS_open_init_pty
:=$(INTL_DEPENDS
)
82 DEPENDS_pp
:=+libsepol
$(INTL_DEPENDS
)
83 DEPENDS_restorecon_xattr
:=+libselinux
+libsepol
+libaudit
$(INTL_DEPENDS
)
84 DEPENDS_restorecon
:=+libselinux
+libsepol
+libaudit
$(INTL_DEPENDS
)
85 DEPENDS_run_init
:=+libselinux
+libaudit
+BUSYBOX_CONFIG_PAM
:libpam
$(INTL_DEPENDS
)
86 DEPENDS_secon
:=+libselinux
$(INTL_DEPENDS
)
87 DEPENDS_semanage
:=+libsemanage
88 DEPENDS_semodule
:=+libsemanage
$(INTL_DEPENDS
)
89 DEPENDS_sestatus
:=+libselinux
$(INTL_DEPENDS
)
90 DEPENDS_setfiles
:=+libselinux
+libsepol
+libaudit
$(INTL_DEPENDS
)
91 DEPENDS_setsebool
:=+libsemanage
$(INTL_DEPENDS
)
93 define Package
/policycoreutils
/Default
96 TITLE
:=SELinux policy utility
97 URL
:=http
://selinuxproject.org
/page
/Main_Page
100 define Package
/policycoreutils
101 $(call Package
/policycoreutils
/Default
)
108 $(call Package
/policycoreutils
/Default
)
109 DEPENDS
+= policycoreutils
$(DEPENDS_
$(2))
111 ALTERNATIVES
:=$(ALTS_
$(2))
114 define Package
/$(1)/description
115 Policycoreutils is a collection of policy utilities
116 (originally the
"core" set of utilities needed to use
117 SELinux
, although it has grown a bit over time
).
119 This package provides the
$(2) utility.
123 $(foreach a
,$(LIBEXEC_UTILS
) $(SBIN_UTILS
) $(USR_BIN_UTILS
) $(USR_SBIN_UTILS
),$(eval
$(call GenUtilPkg
,policycoreutils-
$(a
),$(a
))))
125 define Package
/policycoreutils
/install
126 $(INSTALL_DIR
) $(1)/etc
127 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/sestatus.conf
$(1)/etc
128 ifdef CONFIG_BUSYBOX_CONFIG_PAM
129 $(INSTALL_DIR
) $(1)/etc
/pam.d
130 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/pam.d
/run_init
$(1)/etc
/pam.d
131 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/pam.d
/newrole
$(1)/etc
/pam.d
136 define Package
/$(1)/install
137 $(INSTALL_DIR
) $$(1)$(2)
138 $(INSTALL_BIN
) $$(PKG_INSTALL_DIR
)$(2)/$(3) $$(1)$(2)
141 $$(eval
$$(call BuildPackage
,$(1)))
144 $(eval
$(call BuildPackage
,policycoreutils
))
145 $(foreach a
,$(SBIN_UTILS
),$(eval
$(call BuildUtil
,policycoreutils-
$(a
),/sbin
,$(a
))))
146 $(foreach a
,$(USR_BIN_UTILS
),$(eval
$(call BuildUtil
,policycoreutils-
$(a
),/usr
/bin
,$(a
))))
147 $(foreach a
,$(USR_SBIN_UTILS
),$(eval
$(call BuildUtil
,policycoreutils-
$(a
),/usr
/sbin
,$(a
))))
148 $(foreach a
,$(LIBEXEC_UTILS
),$(eval
$(call BuildUtil
,policycoreutils-
$(a
),/usr
/libexec
/selinux
/hll
,$(a
))))
149 $(eval
$(call HostBuild
))