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>
This commit is contained in:
Eric Le Bihan 2014-04-20 20:54:03 +02:00 committed by Thomas Petazzoni
parent 57155c6b6a
commit 773ee9797a
4 changed files with 54 additions and 0 deletions

View File

@ -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

View File

@ -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"

32
package/smack/Config.in Normal file
View File

@ -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

17
package/smack/smack.mk Normal file
View File

@ -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))