diff options
Diffstat (limited to 'meta-agl/meta-agl-basesystem/classes/agl-basesystem-capability.bbclass')
-rw-r--r-- | meta-agl/meta-agl-basesystem/classes/agl-basesystem-capability.bbclass | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-agl/meta-agl-basesystem/classes/agl-basesystem-capability.bbclass b/meta-agl/meta-agl-basesystem/classes/agl-basesystem-capability.bbclass new file mode 100644 index 00000000..3170cc9c --- /dev/null +++ b/meta-agl/meta-agl-basesystem/classes/agl-basesystem-capability.bbclass @@ -0,0 +1,32 @@ +pkg_postinst_ontarget_${PN}_append () { +df / --exclude-type=nfs > /dev/null +IS_EMMC_BOOT=$? + +if [ $IS_EMMC_BOOT -eq 0 ]; then + CAPVARS="${CAPABILITY}" + IFS=" " + for cap in $CAPVARS; do + capability=`echo $cap | cut -f 1 -d ":"` + file=`echo $cap | cut -f 2 -d ":"` + setcap $capability $D$file + done +else + CAPVARS="${CAPABILITY}" + IFS=" " + for cap in $CAPVARS; do + capability=`echo $cap | cut -f 1 -d ":"` + file=`echo $cap | cut -f 2 -d ":"` + TCAP_NAME="/tmp/${file##*/}" + if [ ! -L ${file} ]; then + cp -a ${file} ${TCAP_NAME} + mv ${file} ${file}.org + ln -fs ${TCAP_NAME} ${file} + else + cp -a ${file}.org ${TCAP_NAME} + fi + setcap ${capability} ${TCAP_NAME} + done +fi +} +#RDEPENDS_${PN} += "libcap-bin" +PACKAGE_WRITE_DEPS = "libcap-native" |