[Buildroot] [PATCH 06/13 v7] core/apply-patches: store full path of applied patches

Arnout Vandecappelle arnout at mind.be
Sat May 7 20:09:27 UTC 2016


On 05/07/16 18:14, Yann E. MORIN wrote:
> Currently, we only store the filename of the applied patches.
>
> However, we are soon to want to install those patches in the legal-info
> directory, so we'll have to know where those patches come from.
>
> Instead of duplicating the logic to find the patches (bundled,
> downloaded, from a global patch dir...), just store the full path to
> each of those patches so we can retrieve them more easily later on.
>
> Also always create the list-file, even if empty, so that we need not
> test for its existence before reading it.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Luca Ceresoli <luca at lucaceresoli.net>
> Reviewed-by: Luca Ceresoli <luca at lucaceresoli.net>
> [Tested only with patches in the Buildroot sources]
> Tested-by: Luca Ceresoli <luca at lucaceresoli.net>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

  Small question...

>
> ---
> Changes v1 -> v2:
>   - do not duplicate '/' in paths  (Luca)
> ---
>  support/scripts/apply-patches.sh | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
> index 201278d..20a1552 100755
> --- a/support/scripts/apply-patches.sh
> +++ b/support/scripts/apply-patches.sh
> @@ -63,8 +63,12 @@ find ${builddir}/ '(' -name '*.rej' -o -name '.*.rej' ')' -print0 | \
>      xargs -0 -r rm -f
>
>  function apply_patch {
> -    path=$1
> -    patch=$2
> +    path="${1%%/}"
> +    patch="${2}"
> +    case "${path}" in
> +        /*) ;;
> +        *)  path="$(pwd)/${path}";;

  Is there a particular reason to prefer $(pwd) over $PWD?

  Regards,
  Arnout

> +    esac
>      if [ "$3" ]; then
>          type="series"; uncomp="cat"
>      else
> @@ -99,7 +103,7 @@ function apply_patch {
>          echo "Error: missing patch file ${path}/$patch"
>          exit 1
>      fi
> -    echo $patch >> ${builddir}/.applied_patches_list
> +    echo "${path}/${patch}" >> ${builddir}/.applied_patches_list
>      ${uncomp} "${path}/$patch" | patch -g0 -p1 -E -d "${builddir}" -t -N $silent
>      if [ $? != 0 ] ; then
>          echo "Patch failed!  Please fix ${patch}!"
> @@ -141,6 +145,7 @@ function scan_patchdir {
>      fi
>  }
>
> +touch ${builddir}/.applied_patches_list
>  scan_patchdir "$patchdir" "$patchpattern"
>
>  # Check for rejects...
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF



More information about the buildroot mailing list