Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch
@ 2016-03-10 11:19 yegorslists at googlemail.com
  2016-03-10 13:37 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: yegorslists at googlemail.com @ 2016-03-10 11:19 UTC (permalink / raw)
  To: buildroot

From: Yegor Yefremov <yegorslists@googlemail.com>

Handle both *.patch and default cases as *.patch. This is needed
in order to handle downloaded patches generated by for example
cgit, that have no file name extension.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 support/scripts/apply-patches.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
index 201278d..e4cccf5 100755
--- a/support/scripts/apply-patches.sh
+++ b/support/scripts/apply-patches.sh
@@ -83,12 +83,8 @@ function apply_patch {
             type="compress"; uncomp="uncompress -c"; ;;
             *.diff*)
             type="diff"; uncomp="cat"; ;;
-            *.patch*)
+            *.patch*|*)
             type="patch"; uncomp="cat"; ;;
-            *)
-            echo "Unsupported file type for ${path}/${patch}, skipping";
-            return 0
-            ;;
         esac
     fi
     if [ -z "$silent" ] ; then
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch
  2016-03-10 11:19 [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch yegorslists at googlemail.com
@ 2016-03-10 13:37 ` Thomas Petazzoni
  2016-03-10 22:44   ` Arnout Vandecappelle
  2016-03-12 23:22   ` Yann E. MORIN
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-03-10 13:37 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 10 Mar 2016 12:19:49 +0100, yegorslists at googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
> 
> Handle both *.patch and default cases as *.patch. This is needed
> in order to handle downloaded patches generated by for example
> cgit, that have no file name extension.
> 
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
>  support/scripts/apply-patches.sh | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
> index 201278d..e4cccf5 100755
> --- a/support/scripts/apply-patches.sh
> +++ b/support/scripts/apply-patches.sh
> @@ -83,12 +83,8 @@ function apply_patch {
>              type="compress"; uncomp="uncompress -c"; ;;
>              *.diff*)
>              type="diff"; uncomp="cat"; ;;
> -            *.patch*)
> +            *.patch*|*)
>              type="patch"; uncomp="cat"; ;;
> -            *)
> -            echo "Unsupported file type for ${path}/${patch}, skipping";
> -            return 0
> -            ;;

Unfortunately, this might break some existing use cases. Today, you can
point to a directory of patches, and only the *.patch* or *.diff* files
will be applied, other files will be ignored and not applied.

With your change, if there is any other file in the directory, it will
also attempt to apply it.

Maybe we need to have a different behavior depending on whether we pass
a directory to apply-patches.sh, or a file. If we specify a file, then
we really want that file to be applied, regardless of its extension.
However, if it's a directory, then we don't want to apply all files.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch
  2016-03-10 13:37 ` Thomas Petazzoni
@ 2016-03-10 22:44   ` Arnout Vandecappelle
  2016-03-12 23:22   ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2016-03-10 22:44 UTC (permalink / raw)
  To: buildroot

On 03/10/16 14:37, Thomas Petazzoni wrote:
> Hello,
>
> On Thu, 10 Mar 2016 12:19:49 +0100, yegorslists at googlemail.com wrote:
>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>
>> Handle both *.patch and default cases as *.patch. This is needed
>> in order to handle downloaded patches generated by for example
>> cgit, that have no file name extension.
>>
>> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
>> ---
>>   support/scripts/apply-patches.sh | 6 +-----
>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
>> index 201278d..e4cccf5 100755
>> --- a/support/scripts/apply-patches.sh
>> +++ b/support/scripts/apply-patches.sh
>> @@ -83,12 +83,8 @@ function apply_patch {
>>               type="compress"; uncomp="uncompress -c"; ;;
>>               *.diff*)
>>               type="diff"; uncomp="cat"; ;;
>> -            *.patch*)
>> +            *.patch*|*)
>>               type="patch"; uncomp="cat"; ;;
>> -            *)
>> -            echo "Unsupported file type for ${path}/${patch}, skipping";
>> -            return 0
>> -            ;;
>
> Unfortunately, this might break some existing use cases. Today, you can
> point to a directory of patches, and only the *.patch* or *.diff* files
> will be applied, other files will be ignored and not applied.
>
> With your change, if there is any other file in the directory, it will
> also attempt to apply it.
>
> Maybe we need to have a different behavior depending on whether we pass
> a directory to apply-patches.sh, or a file. If we specify a file, then
> we really want that file to be applied, regardless of its extension.
> However, if it's a directory, then we don't want to apply all files.

  Actually, we already do that, because apply-patches is always called with a 
pattern parameter. So this will only be a problem if there would be a directory 
called foo.patch.

  Yegor, can you check if that is true for all cases?

  Regards,
  Arnout


>
> Best regards,
>
> Thomas
>


-- 
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] 5+ messages in thread

* [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch
  2016-03-10 13:37 ` Thomas Petazzoni
  2016-03-10 22:44   ` Arnout Vandecappelle
@ 2016-03-12 23:22   ` Yann E. MORIN
  2016-03-13 21:48     ` Arnout Vandecappelle
  1 sibling, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2016-03-12 23:22 UTC (permalink / raw)
  To: buildroot

Yegor, Thomas, All,

On 2016-03-10 14:37 +0100, Thomas Petazzoni spake thusly:
> On Thu, 10 Mar 2016 12:19:49 +0100, yegorslists at googlemail.com wrote:
> > From: Yegor Yefremov <yegorslists@googlemail.com>
> > 
> > Handle both *.patch and default cases as *.patch. This is needed
> > in order to handle downloaded patches generated by for example
> > cgit, that have no file name extension.
> > 
> > Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> > ---
> >  support/scripts/apply-patches.sh | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
> > index 201278d..e4cccf5 100755
> > --- a/support/scripts/apply-patches.sh
> > +++ b/support/scripts/apply-patches.sh
> > @@ -83,12 +83,8 @@ function apply_patch {
> >              type="compress"; uncomp="uncompress -c"; ;;
> >              *.diff*)
> >              type="diff"; uncomp="cat"; ;;
> > -            *.patch*)
> > +            *.patch*|*)
> >              type="patch"; uncomp="cat"; ;;
> > -            *)
> > -            echo "Unsupported file type for ${path}/${patch}, skipping";
> > -            return 0
> > -            ;;
> 
> Unfortunately, this might break some existing use cases. Today, you can
> point to a directory of patches, and only the *.patch* or *.diff* files
> will be applied, other files will be ignored and not applied.

And that's especially usefull for our conditional patches, like, say,
for gcc, for which we manual apply condiotnal patches depending on our
configuration.

Regards,
Yann E. MORIN.

> With your change, if there is any other file in the directory, it will
> also attempt to apply it.
> 
> Maybe we need to have a different behavior depending on whether we pass
> a directory to apply-patches.sh, or a file. If we specify a file, then
> we really want that file to be applied, regardless of its extension.
> However, if it's a directory, then we don't want to apply all files.
> 
> Best regards,
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 5+ messages in thread

* [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch
  2016-03-12 23:22   ` Yann E. MORIN
@ 2016-03-13 21:48     ` Arnout Vandecappelle
  0 siblings, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2016-03-13 21:48 UTC (permalink / raw)
  To: buildroot

On 03/13/16 00:22, Yann E. MORIN wrote:
> Yegor, Thomas, All,
>
> On 2016-03-10 14:37 +0100, Thomas Petazzoni spake thusly:
>> On Thu, 10 Mar 2016 12:19:49 +0100, yegorslists at googlemail.com wrote:
>>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>>
>>> Handle both *.patch and default cases as *.patch. This is needed
>>> in order to handle downloaded patches generated by for example
>>> cgit, that have no file name extension.
>>>
>>> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
>>> ---
>>>   support/scripts/apply-patches.sh | 6 +-----
>>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
>>> index 201278d..e4cccf5 100755
>>> --- a/support/scripts/apply-patches.sh
>>> +++ b/support/scripts/apply-patches.sh
>>> @@ -83,12 +83,8 @@ function apply_patch {
>>>               type="compress"; uncomp="uncompress -c"; ;;
>>>               *.diff*)
>>>               type="diff"; uncomp="cat"; ;;
>>> -            *.patch*)
>>> +            *.patch*|*)
>>>               type="patch"; uncomp="cat"; ;;
>>> -            *)
>>> -            echo "Unsupported file type for ${path}/${patch}, skipping";
>>> -            return 0
>>> -            ;;
>>
>> Unfortunately, this might break some existing use cases. Today, you can
>> point to a directory of patches, and only the *.patch* or *.diff* files
>> will be applied, other files will be ignored and not applied.
>
> And that's especially usefull for our conditional patches, like, say,
> for gcc, for which we manual apply condiotnal patches depending on our
> configuration.

  As I wrote in my reply to Thomas: since a pattern is always passed (except for 
explicit _PATCH files), this is not a problem. Just to be sure, I tested it with 
gcc.

  However, it is a problem when the patches are in a tarball. Take any package 
that uses the debian patch tarball.

  I think the pattern should be passed when scanning subdirectories as well.

  Regards,
  Arnout

>
> Regards,
> Yann E. MORIN.
>
>> With your change, if there is any other file in the directory, it will
>> also attempt to apply it.
>>
>> Maybe we need to have a different behavior depending on whether we pass
>> a directory to apply-patches.sh, or a file. If we specify a file, then
>> we really want that file to be applied, regardless of its extension.
>> However, if it's a directory, then we don't want to apply all files.
>>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Free Electrons
>> Embedded Linux, Kernel and Android engineering
>> http://free-electrons.com
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
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] 5+ messages in thread

end of thread, other threads:[~2016-03-13 21:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-10 11:19 [Buildroot] [PATCH] apply-patches.sh: handle any file name as *.patch yegorslists at googlemail.com
2016-03-10 13:37 ` Thomas Petazzoni
2016-03-10 22:44   ` Arnout Vandecappelle
2016-03-12 23:22   ` Yann E. MORIN
2016-03-13 21:48     ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox