Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] utils/check-package: drop six usage
@ 2023-04-03  1:35 Vincent Fazio
  2023-04-07 17:10 ` James Knight
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Vincent Fazio @ 2023-04-03  1:35 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Fazio, Ricardo Martincoski

The shebang in check-package now defines python3. There is no longer a
need to maintain support with python 2.x.

See-also: 02b165dc71 (check-package: fix Python3 support)

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
---
 utils/check-package | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/utils/check-package b/utils/check-package
index 98a25bd0b2..46f2897b51 100755
--- a/utils/check-package
+++ b/utils/check-package
@@ -6,7 +6,6 @@ import inspect
 import magic
 import os
 import re
-import six
 import sys
 
 import checkpackagelib.base
@@ -218,12 +217,9 @@ def check_file_using_lib(fname):
         if fail > 0:
             failed.add(name)
         nwarnings += warn
-    if six.PY3:
-        f = open(fname, "r", errors="surrogateescape")
-    else:
-        f = open(fname, "r")
+
     lastline = ""
-    for lineno, text in enumerate(f.readlines()):
+    for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):
         nlines += 1
         for name, cf in objects:
             if cf.disable.search(lastline):
@@ -233,7 +229,7 @@ def check_file_using_lib(fname):
                 failed.add(name)
             nwarnings += warn
         lastline = text
-    f.close()
+
     for name, cf in objects:
         warn, fail = print_warnings(cf.after(), name in xfail)
         if fail > 0:
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] utils/check-package: drop six usage
  2023-04-03  1:35 [Buildroot] [PATCH] utils/check-package: drop six usage Vincent Fazio
@ 2023-04-07 17:10 ` James Knight
  2023-04-10 17:44 ` Yann E. MORIN
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: James Knight @ 2023-04-07 17:10 UTC (permalink / raw)
  To: Vincent Fazio; +Cc: Ricardo Martincoski, buildroot

On Sun, Apr 2, 2023 at 9:35 PM Vincent Fazio <vfazio@gmail.com> wrote:
>
> The shebang in check-package now defines python3. There is no longer a
> need to maintain support with python 2.x.

Tested-by: James Knight <james.d.knight@live.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] utils/check-package: drop six usage
  2023-04-03  1:35 [Buildroot] [PATCH] utils/check-package: drop six usage Vincent Fazio
  2023-04-07 17:10 ` James Knight
@ 2023-04-10 17:44 ` Yann E. MORIN
  2023-04-10 19:11   ` Arnout Vandecappelle
  2023-04-10 19:04 ` Yann E. MORIN
  2023-04-22 21:10 ` Peter Korsgaard
  3 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2023-04-10 17:44 UTC (permalink / raw)
  To: Vincent Fazio; +Cc: Ricardo Martincoski, buildroot

On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
> The shebang in check-package now defines python3. There is no longer a
> need to maintain support with python 2.x.
> 
> See-also: 02b165dc71 (check-package: fix Python3 support)
> 
> Signed-off-by: Vincent Fazio <vfazio@gmail.com>
> ---
>  utils/check-package | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/utils/check-package b/utils/check-package
> index 98a25bd0b2..46f2897b51 100755
> --- a/utils/check-package
> +++ b/utils/check-package
> @@ -6,7 +6,6 @@ import inspect
>  import magic
>  import os
>  import re
> -import six
>  import sys
>  
>  import checkpackagelib.base
> @@ -218,12 +217,9 @@ def check_file_using_lib(fname):
>          if fail > 0:
>              failed.add(name)
>          nwarnings += warn
> -    if six.PY3:
> -        f = open(fname, "r", errors="surrogateescape")
> -    else:
> -        f = open(fname, "r")
> +
>      lastline = ""
> -    for lineno, text in enumerate(f.readlines()):
> +    for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):

Err.. This leaks a file object, no?

Even if the script is short-lived, it is better to properly close()
files once they are unused.

Here, I believe using a context manager is adequate (and relatively easy
now that we do no longer have to deal with two ways if opening the
file):

    with open(fname, "r", errors="surrogateescape") as f:
        for lineno, text in enumerate(f.readlines()):
            ...

Regards,
Yann E. MORIN.

>          nlines += 1
>          for name, cf in objects:
>              if cf.disable.search(lastline):
> @@ -233,7 +229,7 @@ def check_file_using_lib(fname):
>                  failed.add(name)
>              nwarnings += warn
>          lastline = text
> -    f.close()
> +
>      for name, cf in objects:
>          warn, fail = print_warnings(cf.after(), name in xfail)
>          if fail > 0:
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] utils/check-package: drop six usage
  2023-04-03  1:35 [Buildroot] [PATCH] utils/check-package: drop six usage Vincent Fazio
  2023-04-07 17:10 ` James Knight
  2023-04-10 17:44 ` Yann E. MORIN
@ 2023-04-10 19:04 ` Yann E. MORIN
  2023-04-22 21:10 ` Peter Korsgaard
  3 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2023-04-10 19:04 UTC (permalink / raw)
  To: Vincent Fazio; +Cc: Ricardo Martincoski, buildroot

Vincent, All,

On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
> The shebang in check-package now defines python3. There is no longer a
> need to maintain support with python 2.x.
> 
> See-also: 02b165dc71 (check-package: fix Python3 support)
> 
> Signed-off-by: Vincent Fazio <vfazio@gmail.com>

Applied to master, thanks.

> ---
>  utils/check-package | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/utils/check-package b/utils/check-package
> index 98a25bd0b2..46f2897b51 100755
> --- a/utils/check-package
> +++ b/utils/check-package
> @@ -6,7 +6,6 @@ import inspect
>  import magic
>  import os
>  import re
> -import six
>  import sys
>  
>  import checkpackagelib.base
> @@ -218,12 +217,9 @@ def check_file_using_lib(fname):
>          if fail > 0:
>              failed.add(name)
>          nwarnings += warn
> -    if six.PY3:
> -        f = open(fname, "r", errors="surrogateescape")
> -    else:
> -        f = open(fname, "r")
> +
>      lastline = ""
> -    for lineno, text in enumerate(f.readlines()):
> +    for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):

As seen on IRC: it does not leak a fileobject: it is not bound to a
variable, so the object is garbage-collected as soon as it is no longer
referenced, i.e. right after the function call ends.

Regards,
Yann E. MORIN.

>          nlines += 1
>          for name, cf in objects:
>              if cf.disable.search(lastline):
> @@ -233,7 +229,7 @@ def check_file_using_lib(fname):
>                  failed.add(name)
>              nwarnings += warn
>          lastline = text
> -    f.close()
> +
>      for name, cf in objects:
>          warn, fail = print_warnings(cf.after(), name in xfail)
>          if fail > 0:
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] utils/check-package: drop six usage
  2023-04-10 17:44 ` Yann E. MORIN
@ 2023-04-10 19:11   ` Arnout Vandecappelle
  0 siblings, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2023-04-10 19:11 UTC (permalink / raw)
  To: Yann E. MORIN, Vincent Fazio; +Cc: Ricardo Martincoski, buildroot



On 10/04/2023 19:44, Yann E. MORIN wrote:
> On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
>> The shebang in check-package now defines python3. There is no longer a
>> need to maintain support with python 2.x.
>>
>> See-also: 02b165dc71 (check-package: fix Python3 support)
>>
>> Signed-off-by: Vincent Fazio <vfazio@gmail.com>
>> ---
>>   utils/check-package | 10 +++-------
>>   1 file changed, 3 insertions(+), 7 deletions(-)
>>
>> diff --git a/utils/check-package b/utils/check-package
>> index 98a25bd0b2..46f2897b51 100755
>> --- a/utils/check-package
>> +++ b/utils/check-package
>> @@ -6,7 +6,6 @@ import inspect
>>   import magic
>>   import os
>>   import re
>> -import six
>>   import sys
>>   
>>   import checkpackagelib.base
>> @@ -218,12 +217,9 @@ def check_file_using_lib(fname):
>>           if fail > 0:
>>               failed.add(name)
>>           nwarnings += warn
>> -    if six.PY3:
>> -        f = open(fname, "r", errors="surrogateescape")
>> -    else:
>> -        f = open(fname, "r")
>> +
>>       lastline = ""
>> -    for lineno, text in enumerate(f.readlines()):
>> +    for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):
> 
> Err.. This leaks a file object, no?
> 
> Even if the script is short-lived, it is better to properly close()
> files once they are unused.

  It doesn't leak. It just doesn't close the file until some unspecified time in 
the flow. In this case it's actually pretty well specified: it closes after the 
readlines() call ends because the file object has no more references.

  So no, a context manager isn't really needed here.

  Regards,
  Arnout

> 
> Here, I believe using a context manager is adequate (and relatively easy
> now that we do no longer have to deal with two ways if opening the
> file):
> 
>      with open(fname, "r", errors="surrogateescape") as f:
>          for lineno, text in enumerate(f.readlines()):
>              ...
> 
> Regards,
> Yann E. MORIN.
> 
>>           nlines += 1
>>           for name, cf in objects:
>>               if cf.disable.search(lastline):
>> @@ -233,7 +229,7 @@ def check_file_using_lib(fname):
>>                   failed.add(name)
>>               nwarnings += warn
>>           lastline = text
>> -    f.close()
>> +
>>       for name, cf in objects:
>>           warn, fail = print_warnings(cf.after(), name in xfail)
>>           if fail > 0:
>> -- 
>> 2.25.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH] utils/check-package: drop six usage
  2023-04-03  1:35 [Buildroot] [PATCH] utils/check-package: drop six usage Vincent Fazio
                   ` (2 preceding siblings ...)
  2023-04-10 19:04 ` Yann E. MORIN
@ 2023-04-22 21:10 ` Peter Korsgaard
  3 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2023-04-22 21:10 UTC (permalink / raw)
  To: Vincent Fazio; +Cc: Ricardo Martincoski, buildroot

>>>>> "Vincent" == Vincent Fazio <vfazio@gmail.com> writes:

 > The shebang in check-package now defines python3. There is no longer a
 > need to maintain support with python 2.x.

 > See-also: 02b165dc71 (check-package: fix Python3 support)

 > Signed-off-by: Vincent Fazio <vfazio@gmail.com>

Committed to 2023.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2023-04-22 21:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-03  1:35 [Buildroot] [PATCH] utils/check-package: drop six usage Vincent Fazio
2023-04-07 17:10 ` James Knight
2023-04-10 17:44 ` Yann E. MORIN
2023-04-10 19:11   ` Arnout Vandecappelle
2023-04-10 19:04 ` Yann E. MORIN
2023-04-22 21:10 ` Peter Korsgaard

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