[openwrt/openwrt] busybox: add selinux variant
LEDE Commits
lede-commits at lists.infradead.org
Sun Aug 23 18:41:09 EDT 2020
dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/2e06f8ae24ec47cd1db9703ce6474bbd9304ef99
commit 2e06f8ae24ec47cd1db9703ce6474bbd9304ef99
Author: Paul Spooren <mail at aparcar.org>
AuthorDate: Wed Aug 19 11:40:27 2020 -1000
busybox: add selinux variant
This commit adds a `selinux` variant which comes with with a number of
SELinux applets and also SELinux label support.
Signed-off-by: Paul Spooren <mail at aparcar.org>
---
package/utils/busybox/Config.in | 2 +-
package/utils/busybox/Makefile | 33 +++++++++++++++++++++++++++++----
package/utils/busybox/selinux.config | 15 +++++++++++++++
3 files changed, 45 insertions(+), 5 deletions(-)
diff --git a/package/utils/busybox/Config.in b/package/utils/busybox/Config.in
index 4d87e18278..dcd027e7ee 100644
--- a/package/utils/busybox/Config.in
+++ b/package/utils/busybox/Config.in
@@ -1,4 +1,4 @@
-if PACKAGE_busybox
+if PACKAGE_busybox || PACKAGE_busybox-selinux
config BUSYBOX_CUSTOM
bool "Customize busybox options"
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index baf375eb13..4d098ac4a8 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2016 OpenWrt.org
+# Copyright (C) 2006-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.31.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -39,14 +39,27 @@ BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2))
# All files provided by busybox will serve as fallback alternatives by opkg.
# There should be no need to enumerate ALTERNATIVES entries here
-define Package/busybox
+define Package/busybox/Default
SECTION:=base
CATEGORY:=Base system
MAINTAINER:=Felix Fietkau <nbd at nbd.name>
TITLE:=Core utilities for embedded Linux
URL:=http://busybox.net/
DEPENDS:=+BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter
- MENU:=1
+endef
+
+define Package/busybox
+ $(call Package/busybox/Default)
+ CONFLICTS:=busybox-selinux
+ VARIANT:=default
+endef
+
+define Package/busybox-selinux
+ $(call Package/busybox/Default)
+ TITLE += with SELinux support
+ DEPENDS += +libselinux
+ VARIANT:=selinux
+ PROVIDES:=busybox
endef
define Package/busybox/description
@@ -62,6 +75,8 @@ ifdef CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG
define Package/busybox/conffiles
/etc/syslog.conf
endef
+
+Package/busybox-selinux/conffiiles = $(Package/busybox/conffiles)
endif
# don't create a version string containing the actual timestamp
@@ -77,6 +92,10 @@ ifeq ($(CONFIG_USE_GLIBC),y)
LDLIBS += $(call BUSYBOX_IF_ENABLED,NSLOOKUP_OPENWRT,resolv)
endif
+ifeq ($(BUILD_VARIANT),selinux)
+ LDLIBS += selinux sepol
+endif
+
TARGET_CFLAGS += -flto
TARGET_LDFLAGS += -flto=jobserver -fuse-linker-plugin
@@ -96,6 +115,9 @@ define Build/Configure
touch $(PKG_BUILD_DIR)/.config
ifeq ($(DEVICE_TYPE),nas)
echo "CONFIG_HDPARM=y" >> $(PKG_BUILD_DIR)/.config
+endif
+ifeq ($(BUILD_VARIANT),selinux)
+ cat $(TOPDIR)/$(SOURCE)/selinux.config >> $(PKG_BUILD_DIR)/.config
endif
grep 'CONFIG_BUSYBOX_$(BUSYBOX_SYM)' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_$(BUSYBOX_SYM)_\\(.*\\),\\1CONFIG_\\2,g" >> $(PKG_BUILD_DIR)/.config
yes 'n' | $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) oldconfig
@@ -125,4 +147,7 @@ endif
-rm -rf $(1)/lib64
endef
+Package/busybox-selinux/install = $(Package/busybox/install)
+
$(eval $(call BuildPackage,busybox))
+$(eval $(call BuildPackage,busybox-selinux))
diff --git a/package/utils/busybox/selinux.config b/package/utils/busybox/selinux.config
new file mode 100644
index 0000000000..ef20155814
--- /dev/null
+++ b/package/utils/busybox/selinux.config
@@ -0,0 +1,15 @@
+CONFIG_SELINUX=y
+CONFIG_FEATURE_TAR_SELINUX=y
+CONFIG_CHCON=y
+CONFIG_GETENFORCE=y
+CONFIG_GETSEBOOL=y
+CONFIG_LOAD_POLICY=y
+CONFIG_MATCHPATHCON=y
+CONFIG_RUNCON=y
+CONFIG_SELINUXENABLED=y
+CONFIG_SESTATUS=y
+CONFIG_SETFILES=y
+CONFIG_FEATURE_SETFILES_CHECK_OPTION=y
+CONFIG_RESTORECON=y
+CONFIG_SETSEBOOL=y
+CONFIG_SETENFORCE=y
More information about the lede-commits
mailing list