aglsetup: Fix append_fragment fails with heredocs on Ubuntu 21.04. 28/26428/3
authorvasyl <vasyl.vavrychuk@opensynergy.com>
Mon, 14 Jun 2021 17:39:50 +0000 (20:39 +0300)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Thu, 24 Jun 2021 11:36:58 +0000 (11:36 +0000)
Looks like bash creates temporary file for heredocs and passes fd to
deleted file to command that use heredocs. Therefore, it is better not
to use '[[ -f /dev/stdin ]]' in case of heredocs.

Replaced it with more relaxed condition.

Bug-AGL: SPEC-3990
Change-Id: Ib68d1510dd6899b0f60b207071b222ef1933bf77
Signed-off-by: vasyl <vasyl.vavrychuk@opensynergy.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26428
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
scripts/.aglsetup_genconfig.bash

index b9f4e5e..cf06622 100755 (executable)
@@ -223,15 +223,15 @@ function append_fragment() {
        echo >>$basefile
        echo "# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #" >>$basefile
        echo "# fragment { " >>$basefile
-       [[ -f $f ]] && echo "# $f" >>$basefile || true
+       [[ -n $f ]] && echo "# $f" >>$basefile || true
        echo "#" >>$basefile
        [[ -n "$label" ]] && echo "$label" >>$basefile
-       [[ -f $f ]] && cat $f >>$basefile || true
+       [[ -n $f ]] && cat $f >>$basefile || true
        echo "" >>$basefile
        echo "#" >>$basefile
        echo "# }" >>$basefile
        echo "# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #" >>$basefile
-       [[ -f $f ]] && echo $f >>$BUILDDIR/conf/fragments.log || true
+       [[ -n $f ]] && echo $f >>$BUILDDIR/conf/fragments.log || true
 }
 
 function execute_setup() {