diff options
author | Ronan Le Martret <ronan.lemartret@iot.bzh> | 2017-07-04 10:08:40 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2017-07-07 14:25:54 +0000 |
commit | 81637817b4dcba5c96d8db625aa5738d03757fc5 (patch) | |
tree | e843dd94f538ac4911678f3b0ea00a13d96f9cd8 | |
parent | b2f32e7a4ebfbbe0878ed89d4a8370e130de53ed (diff) |
Handle error during run-agl-postinsts
* do not remove post install script if failed
Bug-AGL: SPEC-700
Change-Id: I1b45670ecbe3915a69cfa659031ac877eb794571
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10025
Reviewed-by: José Bollo <jobol@nonadev.net>
Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
(cherry picked from commit 0c28379c6d8ab33f3c902b6617503ca634b8c90e)
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10091
-rwxr-xr-x | meta-agl/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts | 12 | ||||
-rw-r--r-- | meta-app-framework/classes/aglwgt.bbclass | 6 |
2 files changed, 15 insertions, 3 deletions
diff --git a/meta-agl/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts b/meta-agl/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts index 7c2effa70..87ec0e13b 100755 --- a/meta-agl/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts +++ b/meta-agl/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts @@ -23,10 +23,16 @@ exec_postinst_scriptlets() { [ "$POSTINST_LOGGING" = "1" ] && eval echo "Running postinst $i..." $append_log if [ -x $i ]; then eval sh -c $i $append_log - rm $i + if [ $? -eq 0 ]; then + rm $i + else + echo "ERROR: postinst $i failed." + [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log + remove_agl_pi_dir=0 + fi else - echo "ERROR: postinst $i failed." - [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log + echo "ERROR: postinst $i do not exists or do not have execute permission." + [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i do not exists or do not have execute permission." $append_log remove_agl_pi_dir=0 fi done diff --git a/meta-app-framework/classes/aglwgt.bbclass b/meta-app-framework/classes/aglwgt.bbclass index afe9a5516..37638e666 100644 --- a/meta-app-framework/classes/aglwgt.bbclass +++ b/meta-app-framework/classes/aglwgt.bbclass @@ -46,11 +46,17 @@ do_aglwgt_deploy() { install -d ${D}/${sysconfdir}/agl-postinsts cat > ${D}/${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT} <<EOF #!/bin/sh -e +INSTALL_RESULT=0 for file in ${APP_FILES}; do /usr/bin/afm-install install /usr/AGL/apps/\$file + if [ $? -ne 0 ]; then + echo "Application \$file failed to install" + INSTALL_RESULT=1 + fi done sync ${EXTRA_WGT_POSTINSTALL} +exit $INSTALL_RESULT EOF chmod a+x ${D}/${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT} } |