diff options
Diffstat (limited to 'rootdir/system')
-rwxr-xr-x | rootdir/system/bin/credmgrfirstboot.sh | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/rootdir/system/bin/credmgrfirstboot.sh b/rootdir/system/bin/credmgrfirstboot.sh index 9d9c837..4c21a83 100755 --- a/rootdir/system/bin/credmgrfirstboot.sh +++ b/rootdir/system/bin/credmgrfirstboot.sh @@ -1,9 +1,22 @@ #!/system/bin/sh CREDFOLDER=/data/credmgr +# simple error function +F_ERR(){ + ERR="$1" + MSG="$2" + if [ $ERR -ne 0 ];then + system/bin/toybox echo "CREDINIT: $MSG failed!" >> /dev/kmsg + exit $ERR + else + system/bin/toybox echo "CREDINIT: $MSG finished successfully" >> /dev/kmsg + fi +} + # If credmgrd data doesn't match our +CREDMGRCNT=$(find $CREDFOLDER -group credmgr_client -type f -name "credmgr.db" | wc -l ) -if [ $(find $CREDFOLDER -group credmgr_client -type f -name "credmgr.db" | wc -l ) -eq 0 ]; then +if [ "$CREDMGRCNT" == "0" ]; then # If /data/credmgr exist remove it /system/bin/logwrapper /system/bin/toybox echo "CREDINIT: Dont match" if [ -d "$CREDFOLDER" ]; then @@ -12,16 +25,18 @@ if [ $(find $CREDFOLDER -group credmgr_client -type f -name "credmgr.db" | wc -l fi # Put binary into /cache /system/bin/logwrapper mkdir $CREDFOLDER + F_ERR $? "mkdir $CREDFOLDER" /system/bin/logwrapper chown system:credmgr_client $CREDFOLDER + F_ERR $? "chown $CREDFOLDER" /system/bin/logwrapper chcon u:object_r:credmgrd_data_file:s0 $CREDFOLDER + F_ERR $? "chcon $CREDFOLDER" /system/bin/logwrapper /system/bin/toybox echo "CREDINIT: cp initial file" /system/bin/logwrapper cp -v /system/vendor/CredentialManagerData /cache/CredentialManagerData -fi - -if [ $? -eq 0 ]; then - # Tell init we are ready - /system/bin/setprop sys.credmgrdready true + F_ERR $? "copy CredentialManagerData" else - /system/bin/toybox echo "CREDINIT: Something goes wrong at credmgrd init!" + F_ERR 0 "credmgr found already. no preparation required." fi +# Tell init we are ready +/system/bin/setprop sys.credmgrdready true +F_ERR $? "setting property" |