Re: [PATCH v3 0/2] Don't create Python bytecode when building the kernel

Dmitry Baryshkov
2025-04-21T08:38:52Z

On Wed, Apr 16, 2025 at 03:51:03PM +0800, Mauro Carvalho Chehab wrote:
>
> As reported by Andy, the Kernel build system runs kernel-doc script for DRM,
> when W=1. Due to Python's normal behavior, its JIT compiler will create
> a bytecode and store it under scripts/lib/*/__pycache__.
>
> As one may be using O= and even having the sources on a read-only mount
> point, disable its creation during build time.

Would it be possible to properly support O= and create pyc / pycache
inside the object/output dir?

>
> This only solves half of the issue though, as one may be manually running
> the script by hand, without asking Python to not store any bytecode.
> This should be OK, but afterwards, git status will list the __pycache__ as
> not committed. To prevent that, add *.pyc to .gitignore.
>
> ---
>
> v3:
> - changed the order of PYTHONDONTBYTECODE;
> - patched also scripts/Makefile
>
> Mauro Carvalho Chehab (2):
> scripts/kernel-doc.py: don't create *.pyc files
> .gitignore: ignore Python compiled bytecode
>
> .gitignore | 1 +
> drivers/gpu/drm/Makefile | 2 +-
> drivers/gpu/drm/i915/Makefile | 2 +-
> include/drm/Makefile | 2 +-
> scripts/Makefile.build | 2 +-
> scripts/find-unused-docs.sh | 2 +-
> 6 files changed, 6 insertions(+), 5 deletions(-)
>
> --
> 2.49.0
>
>

--
With best wishes
Dmitry