From 85f11d08c387c200dbb59a8559f2ba62376689bf Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 24 Jun 2017 21:59:36 +0200 Subject: [PATCH] support/scripts/apply-patches.sh: do not apply patches with renames Patches with renames apply properly with patch >= 2.7, but not with older patch versions. Since "git format-patch" by default generates patches with renames, Buildroot developers often don't realize that their patches will not apply properly on build machines that have patch < 2.7. In order to prevent such a situation from happening again, this commit adds some logic in apply-patches.sh to refuse applying patches that contain renames. Note that just searching for '^rename' is not sufficient, since the patch commit message may contain the words "rename from" or "rename to" as well. Therefore, the grep expression is made as accurate as possible, checking both. Signed-off-by: Thomas Petazzoni Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: "Yann E. MORIN" [Arnout: spaces instead of tabs (suggested by Yann); extend commit message.] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- support/scripts/apply-patches.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 7ccb39dd8f..66fef262ee 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -113,6 +113,11 @@ function apply_patch { echo " to be applied : ${path}/${patch}" exit 1 fi + if grep -q "^rename from" ${path}/${patch} && \ + grep -q "^rename to" ${path}/${patch} ; then + echo "Error: patch contains some renames, not supported by old patch versions" + exit 1 + fi echo "${path}/${patch}" >> ${builddir}/.applied_patches_list ${uncomp} "${path}/$patch" | patch -g0 -p1 -E -d "${builddir}" -t -N $silent if [ $? != 0 ] ; then -- 2.30.2