[openwrt/openwrt] libselinux: add new package

LEDE Commits lede-commits at lists.infradead.org
Thu Aug 13 04:32:27 EDT 2020


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a0df664531325ab8603b1b5d2c1b8c99303138c7

commit a0df664531325ab8603b1b5d2c1b8c99303138c7
Author: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
AuthorDate: Tue Aug 11 18:48:33 2020 -0500

    libselinux: add new package
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
    [rebase, update to 3.1]
    Signed-off-by: W. Michael Petullo <mike at flyn.org>
---
 package/libs/libselinux/Makefile | 79 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/package/libs/libselinux/Makefile b/package/libs/libselinux/Makefile
new file mode 100644
index 0000000000..893476f5de
--- /dev/null
+++ b/package/libs/libselinux/Makefile
@@ -0,0 +1,79 @@
+#
+# 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.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
+PKG_HASH:=ea5dcbb4d859e3f999c26a13c630da2f16dff9462e3cc8cb7b458ac157d112e7
+HOST_BUILD_DEPENDS:=libsepol/host pcre/host
+
+PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni at bootlin.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libselinux
+  SECTION:=libs
+  DEPENDS:=+libsepol +libpcre +musl-fts + at KERNEL_SECURITY + at KERNEL_SECURITY_NETWORK + at KERNEL_SECURITY_SELINUX
+  CATEGORY:=Libraries
+  TITLE:=Runtime SELinux library
+  URL:=http://selinuxproject.org/page/Main_Page
+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
+
+include $(INCLUDE_DIR)/host-build.mk
+
+# Needed to link libselinux utilities, which link against
+# libselinux.so, which indirectly depends on libpcre.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
+
+MAKE_FLAGS += \
+	FTS_LDLIBS=-lfts \
+	SHLIBDIR=/usr/lib \
+
+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
+
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,libselinux))



More information about the lede-commits mailing list