summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXin Ouyang <Xin.Ouyang@windriver.com>2012-04-10 14:36:44 +0800
committerXin Ouyang <Xin.Ouyang@windriver.com>2012-04-10 14:40:08 +0800
commit1139c40cb687deefddc31c5fbc8ab61f3d50402f (patch)
tree0661608c046b8eb2c74ac1dd8f4e90df413af4f2
parente0704aaff6d4d6e239c2ffc5f5f1d062f03d674e (diff)
downloadmeta-selinux-1139c40cb687deefddc31c5fbc8ab61f3d50402f.tar.gz
refpolicy*: SELinux policy init version.
-rw-r--r--recipes-security/refpolicy/refpolicy-mls_2.20120215.bb23
-rw-r--r--recipes-security/refpolicy/refpolicy_2.20120215.bb17
-rw-r--r--recipes-security/refpolicy/refpolicy_2.20120215.inc5
-rw-r--r--recipes-security/refpolicy/refpolicy_common.inc62
4 files changed, 107 insertions, 0 deletions
diff --git a/recipes-security/refpolicy/refpolicy-mls_2.20120215.bb b/recipes-security/refpolicy/refpolicy-mls_2.20120215.bb
new file mode 100644
index 0000000..61577a9
--- /dev/null
+++ b/recipes-security/refpolicy/refpolicy-mls_2.20120215.bb
@@ -0,0 +1,23 @@
1SUMMARY = "MLS (Multi Level Security) variant of the SELinux policy"
2DESCRIPTION = "\
3This is the reference policy for SE Linux built with MLS support. \
4It allows giving data labels such as \"Top Secret\" and preventing \
5such data from leaking to processes or files with lower classification. \
6"
7
8PR = "r0"
9
10POLICY_NAME = "mls"
11POLICY_TYPE = "mls"
12POLICY_DISTRO = "redhat"
13POLICY_UNK_PERMS = "allow"
14POLICY_DIRECT_INITRC = "n"
15POLICY_MONOLITHIC = "n"
16POLICY_CUSTOM_BUILDOPT = ""
17POLICY_QUIET = "y"
18
19POLICY_MLS_SENS = "16"
20POLICY_MLS_CATS = "1024"
21POLICY_MCS_CATS = "1024"
22
23include refpolicy_${PV}.inc
diff --git a/recipes-security/refpolicy/refpolicy_2.20120215.bb b/recipes-security/refpolicy/refpolicy_2.20120215.bb
new file mode 100644
index 0000000..b64a461
--- /dev/null
+++ b/recipes-security/refpolicy/refpolicy_2.20120215.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Standard variants of the SELinux policy"
2DESCRIPTION = "\
3This is the reference policy for SELinux built with type enforcement \
4only."
5
6PR = "r0"
7
8POLICY_NAME = "standard"
9POLICY_TYPE = "standard"
10POLICY_DISTRO = "redhat"
11POLICY_UNK_PERMS = "allow"
12POLICY_DIRECT_INITRC = "n"
13POLICY_MONOLITHIC = "n"
14POLICY_CUSTOM_BUILDOPT = ""
15POLICY_QUIET = "y"
16
17include refpolicy_${PV}.inc
diff --git a/recipes-security/refpolicy/refpolicy_2.20120215.inc b/recipes-security/refpolicy/refpolicy_2.20120215.inc
new file mode 100644
index 0000000..e31db64
--- /dev/null
+++ b/recipes-security/refpolicy/refpolicy_2.20120215.inc
@@ -0,0 +1,5 @@
1SRC_URI = "http://oss.tresys.com/files/refpolicy/refpolicy-${PV}.tar.bz2;"
2SRC_URI[md5sum] = "618a24cfed3b3ee09084fb2c179de92e"
3SRC_URI[sha256sum] = "6df77faf62f73bd1f6e3bfca3fa2f77cdfd2cada94a7dcc4816ed9bbcf3545dc"
4
5include refpolicy_common.inc
diff --git a/recipes-security/refpolicy/refpolicy_common.inc b/recipes-security/refpolicy/refpolicy_common.inc
new file mode 100644
index 0000000..cdb3eb0
--- /dev/null
+++ b/recipes-security/refpolicy/refpolicy_common.inc
@@ -0,0 +1,62 @@
1SECTION = "base"
2LICENSE = "GPLv2"
3
4LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=393a5ca445f6965873eca0259a17f833"
5
6S = "${WORKDIR}/refpolicy"
7
8DEPENDS += "checkpolicy-native policycoreutils-native python-native m4-native"
9
10inherit autotools
11
12PARALLEL_MAKE = ""
13
14EXTRA_OEMAKE += "NAME=${POLICY_NAME} \
15 TYPE=${POLICY_TYPE} \
16 DISTRO=${POLICY_DISTRO} \
17 UNK_PERMS=${POLICY_UNK_PERMS} \
18 DIRECT_INITRC=${POLICY_DIRECT_INITRC} \
19 MONOLITHIC=${POLICY_MONOLITHIC} \
20 CUSTOM_BUILDOPT=${POLICY_CUSTOM_BUILDOPT} \
21 QUIET=${POLICY_QUIET} \
22 MLS_SENS=${POLICY_MLS_SENS} \
23 MLS_CATS=${POLICY_MLS_CATS} \
24 MCS_CATS=${POLICY_MCS_CATS}"
25
26EXTRA_OEMAKE += "tc_usrbindir=${STAGING_BINDIR_NATIVE}"
27EXTRA_OEMAKE += "OUTPUT_POLICY=`${STAGING_BINDIR_NATIVE}/checkpolicy -V | cut -d' ' -f1`"
28EXTRA_OEMAKE += "CC='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}'"
29
30do_compile() {
31 oe_runmake conf
32 oe_runmake policy
33}
34
35do_install() {
36 oe_runmake install \
37 DESTDIR=${D}
38
39 # Prepare to create policy store
40 mkdir -p ${D}/etc/selinux/
41 cat <<-EOF > ${D}/etc/selinux/semanage.conf
42module-store = direct
43[setfiles]
44path = ${STAGING_DIR_NATIVE}${base_sbindir_native}/setfiles
45args = -q -c \$@ \$<
46[end]
47EOF
48 mkdir -p ${D}/etc/selinux/${POLICY_NAME}/policy
49 mkdir -p ${D}/etc/selinux/${POLICY_NAME}/modules/active/modules
50 mkdir -p ${D}/etc/selinux/${POLICY_NAME}/contexts/files
51 bzip2 -c ${D}/usr/share/selinux/${POLICY_NAME}/base.pp > \
52 ${D}/etc/selinux/${POLICY_NAME}/modules/active/base.pp
53 for i in ${D}/usr/share/selinux/${POLICY_NAME}/*.pp; do
54 if [ "`basename $i`" != "base.pp" ]; then
55 bzip2 -c $i > ${D}/etc/selinux/${POLICY_NAME}/modules/active/modules/`basename $i`;
56 fi
57 done
58
59 # Create policy store and build the policy
60 semodule -p ${D} -s ${POLICY_NAME} -n -B
61 rm -f ${D}/etc/selinux/semanage.conf
62}