[Buildroot] [PATCH] package/libapparmor: new package

Angelo Compagnucci angelo at amarulasolutions.com
Mon May 28 15:35:11 UTC 2018


This patch adds libapparmor and it's related tools.

Signed-off-by: Angelo Compagnucci <angelo at amarulasolutions.com>
---
 package/Config.in                    |  1 +
 package/libapparmor/Config.in        | 57 ++++++++++++++++++++++++++++++++++++
 package/libapparmor/libapparmor.hash |  2 ++
 package/libapparmor/libapparmor.mk   | 53 +++++++++++++++++++++++++++++++++
 4 files changed, 113 insertions(+)
 create mode 100644 package/libapparmor/Config.in
 create mode 100644 package/libapparmor/libapparmor.hash
 create mode 100644 package/libapparmor/libapparmor.mk

diff --git a/package/Config.in b/package/Config.in
index ecee493..834e898 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1590,6 +1590,7 @@ endif
 endmenu
 
 menu "Security"
+	source "package/libapparmor/Config.in"
 	source "package/libselinux/Config.in"
 	source "package/libsemanage/Config.in"
 	source "package/libsepol/Config.in"
diff --git a/package/libapparmor/Config.in b/package/libapparmor/Config.in
new file mode 100644
index 0000000..edc624b
--- /dev/null
+++ b/package/libapparmor/Config.in
@@ -0,0 +1,57 @@
+config BR2_PACKAGE_LIBAPPARMOR
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_USE_WCHAR
+	bool "libapparmor"
+	help
+	  AppArmor is an effective and easy-to-use Linux application
+	  security system. AppArmor proactively protects the operating
+	  system and applications from external or internal threats,
+	  even zero-day attacks, by enforcing good behavior and
+	  preventing even unknown application flaws from being exploited.
+	  AppArmor security policies completely define what system
+	  resources individual applications can access, and with what
+	  privileges. A number of default policies are included with
+	  AppArmor, and using a combination of advanced static analysis
+	  and learning-based tools, AppArmor policies for even very
+	  complex applications can be deployed successfully in a
+	  matter of hours.
+
+	  http://wiki.apparmor.net
+
+comment "AppArmor needs a glibc w/ wchar"
+	depends on !BR2_USE_WCHAR
+	depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+if BR2_PACKAGE_LIBAPPARMOR
+
+config BR2_PACKAGE_LIBAPPARMOR_APACHE
+	depends on BR2_PACKAGE_APACHE
+	bool "Apache mod_apparmor"
+	help
+	  AppArmor module for Apache
+
+config BR2_PACKAGE_LIBAPPARMOR_BINUTILS
+	bool "AppArmor binutils"
+	default y
+	help
+	  AppArmor binary utilities
+
+config BR2_PACKAGE_LIBAPPARMOR_PAM
+	depends on BR2_PACKAGE_LINUX_PAM
+	bool "AppArmor PAM"
+	help
+	  AppArmor module for Linux PAM
+
+config BR2_PACKAGE_LIBAPPARMOR_PROFILES
+	bool "AppArmor profiles"
+	default y
+	help
+	  Apparmor profiles
+
+config BR2_PACKAGE_LIBAPPARMOR_UTILS
+	bool "AppArmor utils"
+	default y
+	help
+	  AppArmor utilities
+
+endif
diff --git a/package/libapparmor/libapparmor.hash b/package/libapparmor/libapparmor.hash
new file mode 100644
index 0000000..f19a13c
--- /dev/null
+++ b/package/libapparmor/libapparmor.hash
@@ -0,0 +1,2 @@
+# locally computed
+sha256  49f0b65a60c1eb5b7b4316023811bf1785875567e0e0c4c8a26cb1f1c3ac5858  apparmor-2.13.tar.gz
diff --git a/package/libapparmor/libapparmor.mk b/package/libapparmor/libapparmor.mk
new file mode 100644
index 0000000..73a2adb
--- /dev/null
+++ b/package/libapparmor/libapparmor.mk
@@ -0,0 +1,53 @@
+################################################################################
+#
+# libapparmor
+#
+################################################################################
+
+LIBAPPARMOR_BASE_VERSION = 2.13
+LIBAPPARMOR_VERSION = $(LIBAPPARMOR_BASE_VERSION).0
+LIBAPPARMOR_SOURCE = apparmor-$(LIBAPPARMOR_BASE_VERSION).tar.gz
+LIBAPPARMOR_SITE = https://launchpad.net/apparmor/$(LIBAPPARMOR_BASE_VERSION)/$(LIBAPPARMOR_VERSION)/+download
+LIBAPPARMOR_LICENSE = GPL-2.0
+LIBAPPARMOR_LICENSE_FILES = LICENSE
+LIBAPPARMOR_SUBDIR = libraries/libapparmor
+LIBAPPARMOR_AUTORECONF = YES
+LIBAPPARMOR_INSTALL_STAGING = YES
+LIBAPPARMOR_CONF_OPTS = --enable-static --enable-man-pages=no
+
+LIBAPPARMOR_DEPENDENCIES += \
+	$(if $(BR2_PACKAGE_APPARMOR_APACHE),apache) \
+	$(if $(BR2_PACKAGE_APPARMOR_PAM),linux-pam) \
+
+APPARMOR_DIRS = parser \
+	$(if $(BR2_PACKAGE_APPARMOR_APACHE),changehat/mod_apparmor) \
+	$(if $(BR2_PACKAGE_APPARMOR_BINUTILS),binutils) \
+	$(if $(BR2_PACKAGE_APPARMOR_PAM),changehat/pam_apparmor) \
+	$(if $(BR2_PACKAGE_APPARMOR_PROFILES),profiles) \
+	$(if $(BR2_PACKAGE_APPARMOR_UTILS),utils)
+
+APPARMOR_BUILD_OPTS += \
+	$(if $(BR2_PACKAGE_APPARMOR_APACHE),APXS=$(STAGING_DIR)/usr/bin/apxs)
+
+define APPARMOR_BUILD_CMDS
+	$(foreach d,$(APPARMOR_DIRS),
+		### AppArmor building $d ###
+		$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
+		$(LIBAPPARMOR_MAKE) -C $(@D)/$(d) $(APPARMOR_BUILD_OPTS)
+	)
+endef
+
+LIBAPPARMOR_POST_INSTALL_STAGING_HOOKS += APPARMOR_BUILD_CMDS
+
+define APPARMOR_INSTALL_TARGET_CMDS
+	$(foreach d,$(APPARMOR_DIRS),
+		### AppArmor installing $d ###
+		$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
+		$(LIBAPPARMOR_MAKE) -C $(@D)/$(d) DESTDIR=$(TARGET_DIR) \
+		$(APPARMOR_BUILD_OPTS) install
+	)
+endef
+
+LIBAPPARMOR_POST_INSTALL_TARGET_HOOKS += APPARMOR_INSTALL_TARGET_CMDS
+
+$(eval $(autotools-package))
-- 
2.7.4



More information about the buildroot mailing list