From: Thomas Petazzoni Date: Sat, 24 Jun 2017 19:59:36 +0000 (+0200) Subject: support/scripts/apply-patches.sh: do not apply patches with renames X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=85f11d08c387c200dbb59a8559f2ba62376689bf;p=buildroot.git 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) --- 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