From: Wenzong Fan <[email protected]>

Signed-off-by: Wenzong Fan <[email protected]>
---
 .../refpolicy/refpolicy-minimum_2.20130424.bb      |   26 ++++++++++++++------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/recipes-security/refpolicy/refpolicy-minimum_2.20130424.bb 
b/recipes-security/refpolicy/refpolicy-minimum_2.20130424.bb
index ae9cb43..d9539f3 100644
--- a/recipes-security/refpolicy/refpolicy-minimum_2.20130424.bb
+++ b/recipes-security/refpolicy/refpolicy-minimum_2.20130424.bb
@@ -30,19 +30,29 @@ EXTRA_POLICY_MODULES += "mta"
 
 POLICY_MODULES_MIN = "${CORE_POLICY_MODULES} ${EXTRA_POLICY_MODULES}"
 
+# re-write the same func from refpolicy_common.inc
 prepare_policy_store () {
-       oe_runmake install \
-               DESTDIR=${D}
+       oe_runmake 'DESTDIR=${D}' 'prefix=${D}${prefix}' install
 
        # Prepare to create policy store
        mkdir -p ${D}${sysconfdir}/selinux/
        mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/policy
        mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules
        mkdir -p ${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files
-       bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/base.pp  > \
-               ${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp
-       for i in ${POLICY_MODULES_MIN}; do
-               bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/$i.pp > \
-                       
${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/$i.pp
-       done
+       touch 
${D}${sysconfdir}/selinux/${POLICY_NAME}/contexts/files/file_contexts.local
+       if  
${@base_contains('DISTRO_FEATURES','compressed_policy','true','false',d)}; then
+               bzip2 base.pp
+               cp base.pp.bz2 
${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp
+               for i in ${POLICY_MODULES_MIN}; do
+                       bzip2 $i
+                       cp ${i}.bz2 
${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/`basename $i`
+               done
+       else
+               bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/base.pp  > \
+                       
${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/base.pp
+               for i in ${POLICY_MODULES_MIN}; do
+                       bzip2 -c ${D}${datadir}/selinux/${POLICY_NAME}/$i.pp > \
+                               
${D}${sysconfdir}/selinux/${POLICY_NAME}/modules/active/modules/$i.pp
+               done
+       fi
 }
-- 
1.7.9.5

-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to