diff options
author | Xin Ouyang <xin.ouyang@windriver.com> | 2014-09-22 14:10:47 +0800 |
---|---|---|
committer | Xin Ouyang <xin.ouyang@windriver.com> | 2014-09-22 16:14:21 +0800 |
commit | af4937c07eadb13d829c1ef278bed6528a2603a5 (patch) | |
tree | 618e830f5b777047de3b734ac84856adedd9eb0c | |
parent | b59250d423e9938ae934c201922141886e279188 (diff) | |
download | meta-selinux-af4937c07eadb13d829c1ef278bed6528a2603a5.tar.gz |
Use compressed_policy by default, and clear distro feature
Original refpolicy install compressed policy modules to policy store,
but leave datadir ones uncompressed. After, a "compressed_policy" distro
feature is added for compressing the datadir ones.
This simple mechanism is unworthy for a distro feature, just clear it
and use compressed policy modules by default.
Signed-off-by: Xin Ouyang <xin.ouyang@windriver.com>
-rw-r--r-- | conf/distro/oe-selinux.conf | 2 | ||||
-rw-r--r-- | recipes-security/refpolicy/refpolicy-minimum_2.20140311.bb | 23 | ||||
-rw-r--r-- | recipes-security/refpolicy/refpolicy_common.inc | 28 |
3 files changed, 17 insertions, 36 deletions
diff --git a/conf/distro/oe-selinux.conf b/conf/distro/oe-selinux.conf index 5f4af87..6e55a32 100644 --- a/conf/distro/oe-selinux.conf +++ b/conf/distro/oe-selinux.conf | |||
@@ -1,4 +1,4 @@ | |||
1 | DISTRO = "oe-selinux" | 1 | DISTRO = "oe-selinux" |
2 | DISTROOVERRIDES .= ":selinux" | 2 | DISTROOVERRIDES .= ":selinux" |
3 | 3 | ||
4 | DISTRO_FEATURES_append = " acl xattr pam selinux compressed_policy" | 4 | DISTRO_FEATURES_append = " acl xattr pam selinux" |
diff --git a/recipes-security/refpolicy/refpolicy-minimum_2.20140311.bb b/recipes-security/refpolicy/refpolicy-minimum_2.20140311.bb index 0b286ac..b275821 100644 --- a/recipes-security/refpolicy/refpolicy-minimum_2.20140311.bb +++ b/recipes-security/refpolicy/refpolicy-minimum_2.20140311.bb | |||
@@ -38,20 +38,11 @@ prepare_policy_store () { | |||
38 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules | 38 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules |
39 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files | 39 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files |
40 | touch ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files/file_contexts.local | 40 | touch ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files/file_contexts.local |
41 | if ${@base_contains('DISTRO_FEATURES','compressed_policy','true','false',d)}; then | 41 | for i in ${D}${datadir}/selinux/${POLICY_NAME}/*.pp; do |
42 | for i in ${D}${datadir}/selinux/${POLICY_NAME}/*.pp; do | 42 | bzip2 -f $i && mv -f $i.bz2 $i |
43 | bzip2 $i | 43 | done |
44 | done | 44 | cp base.pp ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp |
45 | cp base.pp.bz2 ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp | 45 | for i in ${POLICY_MODULES_MIN}; do |
46 | for i in ${POLICY_MODULES_MIN}; do | 46 | cp ${i}.pp ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i.pp` |
47 | cp ${i}.pp.bz2 ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i.pp` | 47 | done |
48 | done | ||
49 | else | ||
50 | bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/base.pp > \ | ||
51 | ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp | ||
52 | for i in ${POLICY_MODULES_MIN}; do | ||
53 | bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/$i.pp > \ | ||
54 | ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/$i.pp | ||
55 | done | ||
56 | fi | ||
57 | } | 48 | } |
diff --git a/recipes-security/refpolicy/refpolicy_common.inc b/recipes-security/refpolicy/refpolicy_common.inc index fd205cf..0dc055e 100644 --- a/recipes-security/refpolicy/refpolicy_common.inc +++ b/recipes-security/refpolicy/refpolicy_common.inc | |||
@@ -13,7 +13,7 @@ S = "${WORKDIR}/refpolicy" | |||
13 | 13 | ||
14 | FILES_${PN} = " \ | 14 | FILES_${PN} = " \ |
15 | ${sysconfdir}/selinux/${POLICY_NAME}/ \ | 15 | ${sysconfdir}/selinux/${POLICY_NAME}/ \ |
16 | ${@base_contains('DISTRO_FEATURES', 'compressed_policy', '${datadir}/selinux/${POLICY_NAME}/*.pp.bz2', '${datadir}/selinux/${POLICY_NAME}/*.pp', d)} \ | 16 | ${datadir}/selinux/${POLICY_NAME}/*.pp \ |
17 | " | 17 | " |
18 | FILES_${PN}-dev =+ "${datadir}/selinux/${POLICY_NAME}/include/" | 18 | FILES_${PN}-dev =+ "${datadir}/selinux/${POLICY_NAME}/include/" |
19 | 19 | ||
@@ -69,24 +69,14 @@ prepare_policy_store () { | |||
69 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules | 69 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules |
70 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files | 70 | mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files |
71 | touch ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files/file_contexts.local | 71 | touch ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files/file_contexts.local |
72 | if ${@base_contains('DISTRO_FEATURES','compressed_policy','true','false',d)}; then | 72 | for i in ${D}${datadir}/selinux/${POLICY_NAME}/*.pp; do |
73 | for i in ${D}${datadir}/selinux/${POLICY_NAME}/*.pp; do | 73 | bzip2 -f $i && mv -f $i.bz2 $i |
74 | bzip2 $i | 74 | if [ "`basename $i`" != "base.pp" ]; then |
75 | if [ "`basename $i`" != "base.pp" ]; then | 75 | cp $i ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i` |
76 | cp ${i}.bz2 ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i` | 76 | else |
77 | else | 77 | cp $i ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/`basename $i` |
78 | cp ${i}.bz2 ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/`basename $i` | 78 | fi |
79 | fi | 79 | done |
80 | done | ||
81 | else | ||
82 | bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/base.pp >\ | ||
83 | ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp | ||
84 | for i in ${D}${datadir}/selinux/${POLICY_NAME}/*.pp; do | ||
85 | if [ "`basename $i`" != "base.pp" ]; then | ||
86 | bzip2 -c $i > ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i`; | ||
87 | fi | ||
88 | done | ||
89 | fi | ||
90 | } | 80 | } |
91 | 81 | ||
92 | rebuild_policy () { | 82 | rebuild_policy () { |