[Buildroot] [PATCH] support/apply-patches: re-instate set -e

Romain Naour romain.naour at gmail.com
Wed Jul 6 12:46:16 UTC 2016


Hi Yann,

Le 05/07/2016 à 19:36, Yann E. MORIN a écrit :
> 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.

Thanks for the respin!

Sorry about the mess in the autobuilder yesterday.. lesson learned :)

> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Sébastien Szymanski <sebastien.szymanski at armadeus.com>
> Cc: Romain Naour <romain.naour at openwide.fr>
> 
> ---
> Tested with:
>     make defconfig
>     make allyespackageconfig
>     [remove luainterpreter to avoid multiple providers for
>      luainterpreter; disable qemu-user; disable tar rootfs]
>     make source
>     make $(make -s show-targets |sed -r -e 's/ |$/-patch /g')

Reviewed-by: Romain Naour <romain.naour at gmail.com>

Tested with the commands above.
Tested-by: Romain Naour <romain.naour at gmail.com>

Best regards,
Romain


> ---
>  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 694302d..7ccb39d 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:"
> 



More information about the buildroot mailing list