* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
@ 2017-06-24 19:59 Thomas Petazzoni
2017-06-24 22:08 ` Arnout Vandecappelle
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2017-06-24 19:59 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v1:
- Use "&&" for the "grep -q && grep -q" condition, as noticed by Yann
E. Morin.
---
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 7ccb39d..0c24175 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.9.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
2017-06-24 19:59 [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames Thomas Petazzoni
@ 2017-06-24 22:08 ` Arnout Vandecappelle
2017-06-25 8:42 ` Yann E. MORIN
2017-09-19 21:01 ` Arnout Vandecappelle
2 siblings, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2017-06-24 22:08 UTC (permalink / raw)
To: buildroot
On 24-06-17 21:59, Thomas Petazzoni wrote:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Perhaps add to the commit message why you don't just grep for '^rename':
Since the patch commit message may contain the words "rename from" or
"rename to" as well, the grep expression is made as accurate as possible,
checking both.
Ideally the test should start from the first ^diff, but that makes things a lot
more complicated...
An alternative would be to do
patch --dry-run -i ${path}/${patch} | grep "(renamed from"
but I can't guarantee that that works with all patch versions that understand
rename. This the current patch is OK.
Regards,
Arnout
> ---
> Changes since v1:
> - Use "&&" for the "grep -q && grep -q" condition, as noticed by Yann
> E. Morin.
> ---
> 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 7ccb39d..0c24175 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
>
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
2017-06-24 19:59 [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames Thomas Petazzoni
2017-06-24 22:08 ` Arnout Vandecappelle
@ 2017-06-25 8:42 ` Yann E. MORIN
2017-09-19 21:01 ` Arnout Vandecappelle
2 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2017-06-25 8:42 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2017-06-24 21:59 +0200, Thomas Petazzoni spake thusly:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A small nit below...
> ---
> Changes since v1:
> - Use "&&" for the "grep -q && grep -q" condition, as noticed by Yann
> E. Morin.
> ---
> 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 7ccb39d..0c24175 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
This file a space-leading, but here you have a tab...
Otherwise:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> + fi
> echo "${path}/${patch}" >> ${builddir}/.applied_patches_list
> ${uncomp} "${path}/$patch" | patch -g0 -p1 -E -d "${builddir}" -t -N $silent
> if [ $? != 0 ] ; then
> --
> 2.9.4
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
2017-06-24 19:59 [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames Thomas Petazzoni
2017-06-24 22:08 ` Arnout Vandecappelle
2017-06-25 8:42 ` Yann E. MORIN
@ 2017-09-19 21:01 ` Arnout Vandecappelle
2017-09-19 21:07 ` Yann E. MORIN
2 siblings, 1 reply; 6+ messages in thread
From: Arnout Vandecappelle @ 2017-09-19 21:01 UTC (permalink / raw)
To: buildroot
On 24-06-17 21:59, Thomas Petazzoni wrote:
> 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.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Applied to master after incorporating Yann's and my suggestions, thanks.
Regards,
Arnout
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
2017-09-19 21:01 ` Arnout Vandecappelle
@ 2017-09-19 21:07 ` Yann E. MORIN
2017-09-20 17:14 ` Peter Korsgaard
0 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2017-09-19 21:07 UTC (permalink / raw)
To: buildroot
Peter, Bernd, All,
On 2017-09-19 23:01 +0200, Arnout Vandecappelle spake thusly:
> On 24-06-17 21:59, Thomas Petazzoni wrote:
> > 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.
> >
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
> Applied to master after incorporating Yann's and my suggestions, thanks.
Which leaves the tree with a single patch that contains renames, which
was added by 74a56295 (softether: don't download patch from Github) by
Peter. ;-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames
2017-09-19 21:07 ` Yann E. MORIN
@ 2017-09-20 17:14 ` Peter Korsgaard
0 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2017-09-20 17:14 UTC (permalink / raw)
To: buildroot
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
>> Applied to master after incorporating Yann's and my suggestions, thanks.
> Which leaves the tree with a single patch that contains renames, which
> was added by 74a56295 (softether: don't download patch from Github) by
> Peter. ;-)
Ups, fixed now.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-09-20 17:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-24 19:59 [Buildroot] [PATCH v2] support/scripts/apply-patches.sh: do not apply patches with renames Thomas Petazzoni
2017-06-24 22:08 ` Arnout Vandecappelle
2017-06-25 8:42 ` Yann E. MORIN
2017-09-19 21:01 ` Arnout Vandecappelle
2017-09-19 21:07 ` Yann E. MORIN
2017-09-20 17:14 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox