mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-15 18:03:30 +00:00

* package: sync with upstream Removed: package/libs/libselinux/bcm27xx-userland (Already in package/utils/bcm27xx-userland) Signed-off-by: Linhui Liu <liulinhui36@gmail.com> * uclibc++: remove No package here depends on it. Furthermore, uClibc++ is a fairly buggy C++ library and seems to be relatively inactive upstream. It also lacks proper support for modern C++11 features. The main benefit of it is size: 66.6 KB vs 287.3 KB on mips24kc. Static linking and LTO can help bring the size down of packages that need it. Added warning message to uclibc++.mk Signed-off-by: Rosen Penev <rosenp@gmail.com> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> * target: sync with upstream Signed-off-by: Linhui Liu <liulinhui36@gmail.com> * toolchain: gcc: Remove gcc 10.x support This compiler is old and was never used by default in OpenWrt. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * ucode: update to latest Git HEAD 46d93c9 tests: fixup testcases 4c654df types: adjust double printing format eac2add compiler: fix bytecode for logical assignments of properties 3903b18 fs: add `realpath()` function 8366102 math: add isnan() function eef83d3 tests: relax sleep() test 394e901 lib: uc_json(): accept trailing whitespace when parsing strings 1867c8b uloop: terminate parent uloop in task child processes d2cc003 uci: auto-load package in `ctx.foreach()` and `ctx.get_first()` 6c5ee53 compiler: ensure that arrow functions with block bodies return no value fdc9b6a compiler: fix `??=`, `||=` and `&&=` logical assignment semantics 88dcca7 add cmake to install requires for debian Signed-off-by: Jo-Philipp Wich <jo@mein.io> * firewall4: update to latest Git HEAD 700a925 fw4: prevent null access when no ipsets are defined 6443ec7 config: drop input traffic by default 119ee1a ruleset: drop ctstate invalid traffic for masq-enabled zones Signed-off-by: Jo-Philipp Wich <jo@mein.io> * ustream-ssl: update to Git version 2022-12-07 9217ab4 ustream-openssl: Disable renegotiation in TLSv1.2 and earlier 2ce1d48 ci: fix building with i.MX6 SDK 584f1f6 ustream-openssl: wolfSSL: provide detailed information in debug builds aa8c48e cmake: add a possibility to set library version Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * tools/mpfr: import patch fixing macro bug Co-authored-by: Nick Hainke <vincent@systemli.org> Signed-off-by: Linhui Liu <liulinhui36@gmail.com> Signed-off-by: Linhui Liu <liulinhui36@gmail.com> Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Jo-Philipp Wich <jo@mein.io> Co-authored-by: Rosen Penev <rosenp@gmail.com> Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de> Co-authored-by: Jo-Philipp Wich <jo@mein.io> Co-authored-by: Nick Hainke <vincent@systemli.org>
160 lines
4.1 KiB
Makefile
160 lines
4.1 KiB
Makefile
#
|
|
# 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.3
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
|
|
PKG_HASH:=acfdee27633d2496508c28727c3d41d3748076f66d42fccde2e6b9f3463a7057
|
|
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_CPE_ID:=cpe:/a:selinuxproject:libselinux
|
|
|
|
HOST_BUILD_DEPENDS:=libsepol/host musl-fts/host pcre/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 +libpcre +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 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 \
|
|
FTS_LDLIBS=-lfts
|
|
|
|
ifeq ($(CONFIG_USE_MUSL),y)
|
|
MAKE_FLAGS += FTS_LDLIBS=-lfts
|
|
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))))
|