From d5ae67b4f4b4256a392997f81c9668c6809aab3b Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 5 Jul 2016 19:36:03 +0200 Subject: [PATCH] support/apply-patches: re-instate set -e MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As reported by Sébastien Szymanski [1], the apply-patches script doesn't stop if a tar command can't extract an archive. Use "set -e" to exit immediately if a command return an error. Be sure to ignore any expected error: when we check if a patch to be applied has the same basename as an already applied patch, the grep would fail when no such patch was already applied. We should not fail in this case. Signed-off-by: "Yann E. MORIN" Cc: Sébastien Szymanski Cc: Romain Naour Reviewed-by: Romain Naour Tested-by: Romain Naour Signed-off-by: Thomas Petazzoni --- support/scripts/apply-patches.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 694302d33e..7ccb39dd8f 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -31,6 +31,8 @@ # applied. The list of the patches applied is stored in '.applied_patches_list' # file in the build directory. +set -e + silent= if [ "$1" = "-s" ] ; then # add option to be used by the patch tool @@ -103,7 +105,7 @@ function apply_patch { echo "Error: missing patch file ${path}/$patch" exit 1 fi - existing="$(grep -E "/${patch}\$" ${builddir}/.applied_patches_list)" + existing="$(grep -E "/${patch}\$" ${builddir}/.applied_patches_list || true)" if [ -n "${existing}" ]; then echo "Error: duplicate filename '${patch}'" echo "Conflicting files are:"