Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
161
package/libs/libselinux/Makefile
Normal file
161
package/libs/libselinux/Makefile
Normal file
@@ -0,0 +1,161 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libselinux
|
||||
PKG_VERSION:=3.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
|
||||
PKG_HASH:=9a3a3705ac13a2ccca2de6d652b6356fead10f36fb33115c185c5ccdf29eec19
|
||||
|
||||
PKG_LICENSE:=libselinux-1.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
PKG_CPE_ID:=cpe:/a:selinuxproject:libselinux
|
||||
|
||||
PKG_BUILD_FLAGS:=no-lto
|
||||
|
||||
HOST_BUILD_DEPENDS:=libsepol/host musl-fts/host pcre2/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
LIBSELINUX_UTILS := \
|
||||
avcstat \
|
||||
compute_av \
|
||||
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
|
||||
URL:=http://selinuxproject.org/page/Main_Page
|
||||
endef
|
||||
|
||||
define Package/libselinux
|
||||
$(call Package/libselinux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+libsepol +libpcre2 +USE_MUSL:musl-fts
|
||||
endef
|
||||
|
||||
define Package/libselinux/description
|
||||
libselinux is the runtime SELinux library that provides
|
||||
interfaces (e.g. library functions for the SELinux kernel
|
||||
APIs like getcon(), other support functions like
|
||||
getseuserbyname()) to SELinux-aware applications. libselinux
|
||||
may use the shared libsepol to manipulate the binary policy
|
||||
if necessary (e.g. to downgrade the policy format to an
|
||||
older version supported by the kernel) when loading policy.
|
||||
endef
|
||||
|
||||
define GenUtilPkg
|
||||
define Package/$(1)
|
||||
$(call Package/libselinux/Default)
|
||||
TITLE+= $(2) utility
|
||||
SECTION:=utils
|
||||
DEPENDS:=+libselinux
|
||||
CATEGORY:=Utilities
|
||||
SUBMENU:=libselinux tools
|
||||
ALTERNATIVES:=$(ALTS_$(2))
|
||||
endef
|
||||
|
||||
define Package/$(1)/description
|
||||
libselinux version of the $(2) utility.
|
||||
endef
|
||||
endef
|
||||
|
||||
$(foreach a,$(LIBSELINUX_UTILS),$(eval $(call GenUtilPkg,libselinux-$(a),$(a))))
|
||||
|
||||
# Needed to link libselinux utilities, which link against
|
||||
# libselinux.so, which indirectly depends on libpcre2.so, installed in
|
||||
# $(STAGING_DIR_HOSTPKG).
|
||||
HOST_LDFLAGS += -Wl,-rpath="$(STAGING_DIR_HOSTPKG)/lib"
|
||||
|
||||
HOST_MAKE_FLAGS += \
|
||||
PREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
SHLIBDIR=$(STAGING_DIR_HOSTPKG)/lib \
|
||||
FTS_LDLIBS=-lfts
|
||||
|
||||
ifeq ($(CONFIG_USE_MUSL),y)
|
||||
MAKE_FLAGS += FTS_LDLIBS=-lfts
|
||||
TARGET_CFLAGS += -D_LARGEFILE64_SOURCE
|
||||
endif
|
||||
|
||||
MAKE_FLAGS += \
|
||||
SHLIBDIR=/usr/lib \
|
||||
OS=Linux
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,all)
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
$(call Build/Install/Default,install)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libselinux.pc $(1)/usr/lib/pkgconfig/
|
||||
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libselinux.pc
|
||||
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libselinux.pc
|
||||
endef
|
||||
|
||||
define Package/libselinux/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libselinux.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define BuildUtil
|
||||
define Package/$(1)/install
|
||||
$(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
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,libselinux))
|
||||
$(foreach a,$(LIBSELINUX_UTILS),$(eval $(call BuildUtil,libselinux-$(a),$(a))))
|
||||
Reference in New Issue
Block a user