summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@free.fr>2016-05-07 18:14:31 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-06-24 15:58:38 +0200
commita3165461bb0af6b3fdea436efeb7207779aa8f20 (patch)
treedecc5c52831f2ecfc0f66d538105daadf21fac56 /support
parent4ebd6ffbd691ec08021fee89dc55df5e377d8513 (diff)
core/apply-patches: store full path of applied patches
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@free.fr> Cc: Luca Ceresoli <luca@lucaceresoli.net> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> [Tested only with patches in the Buildroot sources] Tested-by: Luca Ceresoli <luca@lucaceresoli.net> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Thomas: used $PWD instead of $(pwd), as suggested by Arnout.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'support')
-rwxr-xr-xsupport/scripts/apply-patches.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
index 201278dde..85f51b7d1 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}";;
+ 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...