config BR2_PACKAGE_REFPOLICY bool "refpolicy" depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol # Even though libsepol is not necessary for building, we get # the policy version from libsepol, so we select it, and treat # it like a runtime dependency. select BR2_PACKAGE_LIBSEPOL help The SELinux Reference Policy project (refpolicy) is a complete SELinux policy that can be used as the system policy for a variety of systems and used as the basis for creating other policies. Reference Policy was originally based on the NSA example policy, but aims to accomplish many additional goals. The current refpolicy does not fully support Buildroot and needs modifications to work with the default system file layout. These changes should be added as patches to the refpolicy that modify a single SELinux policy. The refpolicy works for the most part in permissive mode. Only the basic set of utilities are enabled in the example policy config and some of the pathing in the policies is not correct. Individual policies would need to be tweaked to get everything functioning properly. https://github.com/TresysTechnology/refpolicy if BR2_PACKAGE_REFPOLICY choice prompt "Refpolicy version" default BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION config BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION bool "Upstream version" help Use the refpolicy as provided by Buildroot. config BR2_PACKAGE_REFPOLICY_CUSTOM_GIT bool "Custom git repository" help Allows to get the refpolicy from a custom git repository. The custom refpolicy must define the full policy explicitly, and must be a fork of the original refpolicy, to have the same build system. When this is selected, only the custom policy definition are taken into account and all the modules of the policy are built into the binary policy. endchoice if BR2_PACKAGE_REFPOLICY_CUSTOM_GIT config BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL string "URL of custom repository" config BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION string "Custom repository version" help Revision to use in the typical format used by Git. E.g. a sha id, tag, branch... endif choice prompt "SELinux default state" default BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE config BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING bool "Enforcing" help SELinux security policy is enforced config BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE bool "Permissive" help SELinux prints warnings instead of enforcing config BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED bool "Disabled" help No SELinux policy is loaded endchoice config BR2_PACKAGE_REFPOLICY_POLICY_STATE string default "permissive" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE default "enforcing" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING default "disabled" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED if BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION config BR2_REFPOLICY_EXTRA_MODULES_DIRS string "Extra modules directories" help Specify a space-separated list of directories containing SELinux modules that will be built into the SELinux policy. The modules will be automatically enabled in the policy. Each of those directories must contain the SELinux policy .fc, .if and .te files directly at the top-level, with no sub-directories. Also, you cannot have several modules with the same name in different directories. config BR2_REFPOLICY_EXTRA_MODULES string "Extra modules to enable" help List of extra SELinux modules to enable in the refpolicy. endif endif comment "refpolicy needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS