• L
    scripts/check-config.sh: fix "command not found" error handling · f69dce50
    Luca Ceresoli 提交于
    scripts/check-config.sh exits successfully and silently without doing
    any checks when the 'comm' command is not found.
    
    The problem triggers from the command around line 39:
    
      comm -23 ${suspects} ${ok} >${new_adhoc}
    
    This statement fails when 'comm' is not in $PATH, creating an empty
    ${new_adhoc} file. But the script continues and the following line,
    which is supposed to detect an error:
    
      if [ -s ${new_adhoc} ]; then
    
    will always be false since the file is empty, and the script will exit
    successfully as if everything were OK.
    
    The case where 'comm' in not in $PATH is not theoretical. It used to
    happen on yocto until a recent fix [0], and still happens on the
    current stable branch (rocko).
    
    Fix by setting the errexit flag to exit with error when a statement
    fails, so that at least the problem is noticed.
    
    For additional safety also set the nounset flag to detect expansion
    errors.
    
    [0] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=fe0b4cb5b48580d4a3f3c0eb82bfa6f1b13801e4Signed-off-by: NLuca Ceresoli <luca@lucaceresoli.net>
    Reviewed-by: NSimon Glass <sjg@chromium.org>
    f69dce50
check-config.sh 1.5 KB