libselinux: split utility packages and add PKG_LICENSE

Split utility packages similar to coreutils in packages feed, adding
ALTERNATIVES for those which are also provided by busybox-selinux.
Also add missing license information.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
master
Daniel Golle 2020-09-21 13:47:57 +01:00
parent 1c6d45644a
commit 81d895d1f1
1 changed files with 74 additions and 15 deletions

View File

@ -7,26 +7,71 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libselinux PKG_NAME:=libselinux
PKG_VERSION:=3.1 PKG_VERSION:=3.1
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710 PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
PKG_HASH:=ea5dcbb4d859e3f999c26a13c630da2f16dff9462e3cc8cb7b458ac157d112e7 PKG_HASH:=ea5dcbb4d859e3f999c26a13c630da2f16dff9462e3cc8cb7b458ac157d112e7
HOST_BUILD_DEPENDS:=libsepol/host pcre/host HOST_BUILD_DEPENDS:=libsepol/host pcre/host
PKG_LICENSE:=libselinux-1.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com> PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/host-build.mk
define Package/libselinux LIBSELINUX_UTILS := \
SECTION:=libs avcstat \
DEPENDS:=+libsepol +libpcre +musl-fts compute_av \
CATEGORY:=Libraries compute_create \
compute_member \
compute_relabel \
getconlist \
getdefaultcon \
getenforce \
getfilecon \
getpidcon \
getsebool \
getseuser \
matchpathcon \
policyvers \
sefcontext_compile \
selabel_digest \
selabel_get_digests_all_partial_matches \
selabel_lookup \
selabel_lookup_best_match \
selabel_partial_match \
selinux_check_access \
selinux_check_securetty_context \
selinuxenabled \
selinuxexeccon \
setenforce \
setfilecon \
togglesebool \
validatetrans
LIBSELINUX_ALTS := \
getenforce \
getsebool \
matchpathcon \
selinuxenabled \
setenforce
$(eval $(foreach a,$(LIBSELINUX_ALTS),ALTS_$(a):=300:/usr/sbin/$(a):/usr/sbin/libselinux-$(a)$(newline)))
define Package/libselinux/Default
TITLE:=Runtime SELinux library TITLE:=Runtime SELinux library
URL:=http://selinuxproject.org/page/Main_Page URL:=http://selinuxproject.org/page/Main_Page
endef endef
define Package/libselinux
$(call Package/libselinux/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libsepol +libpcre +musl-fts
endef
define Package/libselinux/description define Package/libselinux/description
libselinux is the runtime SELinux library that provides libselinux is the runtime SELinux library that provides
interfaces (e.g. library functions for the SELinux kernel interfaces (e.g. library functions for the SELinux kernel
@ -37,14 +82,24 @@ define Package/libselinux/description
older version supported by the kernel) when loading policy. older version supported by the kernel) when loading policy.
endef endef
define Package/libselinux-utils define GenUtilPkg
SECTION:=utils define Package/$(1)
DEPENDS:=+libselinux $(call Package/libselinux/Default)
CATEGORY:=Utilities TITLE+= $(2) utility
TITLE:=Runtime SELinux utilities SECTION:=utils
URL:=http://selinuxproject.org/page/Main_Page DEPENDS:=+libselinux
CATEGORY:=Utilities
SUBMENU:=libselinux tools
ALTERNATIVES:=$(ALTS_$(2))
endef
define Package/$(1)/description
libselinux version of the $(2) utility.
endef
endef endef
$(foreach a,$(LIBSELINUX_UTILS),$(eval $(call GenUtilPkg,libselinux-$(a),$(a))))
# Needed to link libselinux utilities, which link against # Needed to link libselinux utilities, which link against
# libselinux.so, which indirectly depends on libpcre.so, installed in # libselinux.so, which indirectly depends on libpcre.so, installed in
# $(STAGING_DIR_HOSTPKG). # $(STAGING_DIR_HOSTPKG).
@ -83,11 +138,15 @@ define Package/libselinux/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libselinux.so.* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libselinux.so.* $(1)/usr/lib/
endef endef
define Package/libselinux-utils/install define BuildUtil
$(INSTALL_DIR) $(1)/usr/sbin define Package/$(1)/install
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin $(INSTALL_DIR) $$(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/$(2) $$(1)/usr/sbin/$(if $(ALTS_$(2)),libselinux-$(2),$(2))
endef
$$(eval $$(call BuildPackage,$(1)))
endef endef
$(eval $(call HostBuild)) $(eval $(call HostBuild))
$(eval $(call BuildPackage,libselinux)) $(eval $(call BuildPackage,libselinux))
$(eval $(call BuildPackage,libselinux-utils)) $(foreach a,$(LIBSELINUX_UTILS),$(eval $(call BuildUtil,libselinux-$(a),$(a))))