#!/bin/sh
echo "#################### generic-dbus-policychecker.post ####################"
-for f in /etc/dbus-1/system.d/*.conf; do
-echo
-echo "$0: Checking D-Bus policy file: $f"
-dbus-policychecker "$f"
-done
+if [ -x /usr/bin/dbuspolicy-checker ] ; then
+ fail_cnt=0
+ for f in /etc/dbus-1/system.d/*.conf; do
+ echo
+ echo "$0: Checking D-Bus policy file: $f"
+ result=$(/usr/bin/dbuspolicy-checker "$f")
+ fail=$(echo "$result" | grep FAILED | wc -l)
+ echo "$result"
+ if [ $fail -gt 0 ]; then
+ echo "Found $fail Fails"
+ echo "Remove conf file : mv $f $f.fail"
+ mv "$f" "${f}.fail"
+ fail_cnt=$(( ${fail_cnt} + 1 ))
+ fi
+ done
+ if [ $fail_cnt -gt 0 ]; then
+ echo "Error: MIC build exits due to failed cases on dbus policy checker.(${fail_cnt} errors)"
+ exit 1
+ fi
+
+fi