[PATCH v1 1/1] binman: Do not pollute source tree when build with `make O=...`

Tom Rini trini at konsulko.com
Tue Nov 30 19:52:25 CET 2021


On Tue, Nov 30, 2021 at 09:42:04PM +0300, Andy Shevchenko wrote:

> Importing libraries in Python caches the bytecode by default.
> Since we run scripts in source tree it ignores the current directory
> settings, which is $(srctree), and creates cache just in the middle
> of the source tree. Move cache to the current directory.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>  tools/binman/main.py | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/tools/binman/main.py b/tools/binman/main.py
> index 8c1e478d54ce..d5ab59948ec9 100755
> --- a/tools/binman/main.py
> +++ b/tools/binman/main.py
> @@ -16,6 +16,13 @@ import sys
>  import traceback
>  import unittest
>  
> +#
> +# Do not pollute source tree with cache files:
> +# https://stackoverflow.com/a/60024195/2511795
> +# https://bugs.python.org/issue33499
> +#
> +sys.pycache_prefix = os.path.relpath(os.path.dirname(sys.argv[0]), os.environ['srctree'])
> +
>  # Bring in the patman and dtoc libraries (but don't override the first path
>  # in PYTHONPATH)
>  our_path = os.path.dirname(os.path.realpath(__file__))

Do we need some wrapper around this so it doesn't blow up on older than
Python 3.8?  Looking over the logs, we force 3.8 to be the minimum
version, I think it's 3.6.  Which means that we aren't documenting the
minimum version well, and should.  But, 3.8 is only 2 years old and I
always get a little itchy around saying we need tools that feel to me to
be super recent still.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20211130/ff362f99/attachment.sig>


More information about the U-Boot mailing list