summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Le Bihan <eric.le.bihan.dev@free.fr>2014-04-20 20:54:03 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-04-21 12:15:45 +0200
commit773ee9797ad4c74e967ad959f6ce0677b6c66677 (patch)
treed0596a4f0697b13232b5b55c05c7fbbb54bb1cb2
parent57155c6b6a7a40523075626353375109fe159c04 (diff)
downloadbuildroot-773ee9797ad4c74e967ad959f6ce0677b6c66677.tar.gz
buildroot-773ee9797ad4c74e967ad959f6ce0677b6c66677.zip
smack: new package.
SMACK stands for Simplified Mandatory Access Control Kernel. It is a Linux Security Module which provides a Mandatory Access Control mechanism, like SELinux, but aiming towards simplicity. This package provides the tools to load/unload the policy from the kernel as well as a library allowing applications to interact with SMACK. The proper kernel options are also set. [Thomas: - fixed license to be LGPLv2.1 instead of LGPLv2.1+. Even though the debian/copyright file has the "or later" indication, none of the .c source files carry it, so I suppose LGPLv2.1 is more correct. - added !BR2_PREFER_STATIC_LIB dependency. - added dependency on host-pkgconf, since Smack configure.ac uses PKG_CHECK_MODULES.] Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--linux/linux.mk4
-rw-r--r--package/Config.in1
-rw-r--r--package/smack/Config.in32
-rw-r--r--package/smack/smack.mk17
4 files changed, 54 insertions, 0 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index e270705698..bd3f2ac293 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -200,6 +200,10 @@ define LINUX_CONFIGURE_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config))
+ $(if $(BR2_PACKAGE_SMACK),
+ $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config))
$(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig
diff --git a/package/Config.in b/package/Config.in
index 1361e9f13c..07fd166959 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1106,6 +1106,7 @@ source "package/quota/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/rsyslog/Config.in"
endif
+source "package/smack/Config.in"
source "package/supervisor/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/sysklogd/Config.in"
diff --git a/package/smack/Config.in b/package/smack/Config.in
new file mode 100644
index 0000000000..618a6807e1
--- /dev/null
+++ b/package/smack/Config.in
@@ -0,0 +1,32 @@
+config BR2_PACKAGE_SMACK
+ bool "smack"
+ depends on !BR2_PREFER_STATIC_LIB # dlfcn.h
+ help
+ User space programs and libraries for SMACK.
+
+ SMACK stands for Simplified Mandatory Access Control Kernel.
+ It is a Linux Security Module which provides a Mandatory Access
+ Control mechanism, aimed towards simplicity.
+
+ This package provides a library which allows applications to work
+ with SMACK and tools to load/unload rules from the kernel, as well
+ as query the policy.
+
+ SMACK requires the following kernel options to be enabled:
+
+ - CONFIG_SECURITY
+ - CONFIG_SECURITY_SMACK
+ - CONFIG_SECURITY_NETWORK
+
+ These options will be automatically enabled by Buildroot if it is
+ responsible for building the kernel. Otherwise, if you are building
+ your kernel outside of Buildroot, make sure these options are
+ enabled.
+
+ To activate SMACK, do not forget to add "security=smack" to your
+ kernel command line.
+
+ https://github.com/smack-team/smack
+
+comment "smack needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
diff --git a/package/smack/smack.mk b/package/smack/smack.mk
new file mode 100644
index 0000000000..2858686d86
--- /dev/null
+++ b/package/smack/smack.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# smack
+#
+################################################################################
+
+SMACK_VERSION = 1.0.4
+SMACK_SITE = $(call github,smack-team,smack,v$(SMACK_VERSION))
+SMACK_LICENSE = LGPLv2.1
+SMACK_LICENSE_FILES = COPYING
+SMACK_INSTALL_STAGING = YES
+SMACK_DEPENDENCIES = host-pkgconf
+
+# Sources from github, no configure script included.
+SMACK_AUTORECONF = YES
+
+$(eval $(autotools-package))
OpenPOWER on IntegriCloud