Message ID | 432f17b785d35122753d4b210874d78ee84e1bb5.1744786420.git.mchehab+huawei@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Don't create Python bytecode when building the kernel | expand |
On Wed, Apr 16, 2025 at 02:57:38PM +0800, Mauro Carvalho Chehab wrote: > As reported by Andy, kernel-doc.py is creating a __pycache__ > directory at build time. > > Disable creation of __pycache__ for the libraries used by > kernel-doc.py, when excecuted via the build system or via > scripts/find-unused-docs.sh. Nope, still have it. I used today's Linux Next with some local code patches (unrelated to any scripts or kernel doc or python). To confirm, I even done again a clean build.
On Wed, 16 Apr 2025, Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: > As reported by Andy, kernel-doc.py is creating a __pycache__ > directory at build time. > > Disable creation of __pycache__ for the libraries used by > kernel-doc.py, when excecuted via the build system or via > scripts/find-unused-docs.sh. > > Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com> > Closes: https://lore.kernel.org/linux-doc/Z_zYXAJcTD-c3xTe@black.fi.intel.com/ > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> > --- > drivers/gpu/drm/Makefile | 2 +- > drivers/gpu/drm/i915/Makefile | 2 +- > include/drm/Makefile | 2 +- > scripts/find-unused-docs.sh | 2 +- > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > index ed54a546bbe2..1469d64f8783 100644 > --- a/drivers/gpu/drm/Makefile > +++ b/drivers/gpu/drm/Makefile > @@ -236,7 +236,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ > quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) > cmd_hdrtest = \ > $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ > - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ > + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ It doesn't work to put PYTHONDONTWRITEBYTECODE=1 as a parameter to kernel-doc... BR, Jani. > touch $@ > > $(obj)/%.hdrtest: $(src)/%.h FORCE > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index ed05b131ed3a..bb873f9cc2aa 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -408,7 +408,7 @@ obj-$(CONFIG_DRM_I915_GVT_KVMGT) += kvmgt.o > # > # Enable locally for CONFIG_DRM_I915_WERROR=y. See also scripts/Makefile.build > ifdef CONFIG_DRM_I915_WERROR > - cmd_checkdoc = $(srctree)/scripts/kernel-doc -none -Werror $< > + cmd_checkdoc = $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none -Werror $< > endif > > # header test > diff --git a/include/drm/Makefile b/include/drm/Makefile > index a7bd15d2803e..6088ea458f44 100644 > --- a/include/drm/Makefile > +++ b/include/drm/Makefile > @@ -11,7 +11,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ > quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) > cmd_hdrtest = \ > $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ > - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ > + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ > touch $@ > > $(obj)/%.hdrtest: $(src)/%.h FORCE > diff --git a/scripts/find-unused-docs.sh b/scripts/find-unused-docs.sh > index ee6a50e33aba..d6d397fbf917 100755 > --- a/scripts/find-unused-docs.sh > +++ b/scripts/find-unused-docs.sh > @@ -54,7 +54,7 @@ for file in `find $1 -name '*.c'`; do > if [[ ${FILES_INCLUDED[$file]+_} ]]; then > continue; > fi > - str=$(scripts/kernel-doc -export "$file" 2>/dev/null) > + str=$(PYTHONDONTWRITEBYTECODE=1 scripts/kernel-doc -export "$file" 2>/dev/null) > if [[ -n "$str" ]]; then > echo "$file" > fi
On Wed, 16 Apr 2025, Jani Nikula <jani.nikula@linux.intel.com> wrote: > On Wed, 16 Apr 2025, Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: >> As reported by Andy, kernel-doc.py is creating a __pycache__ >> directory at build time. >> >> Disable creation of __pycache__ for the libraries used by >> kernel-doc.py, when excecuted via the build system or via >> scripts/find-unused-docs.sh. >> >> Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com> >> Closes: https://lore.kernel.org/linux-doc/Z_zYXAJcTD-c3xTe@black.fi.intel.com/ >> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> >> --- >> drivers/gpu/drm/Makefile | 2 +- >> drivers/gpu/drm/i915/Makefile | 2 +- >> include/drm/Makefile | 2 +- >> scripts/find-unused-docs.sh | 2 +- >> 4 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile >> index ed54a546bbe2..1469d64f8783 100644 >> --- a/drivers/gpu/drm/Makefile >> +++ b/drivers/gpu/drm/Makefile >> @@ -236,7 +236,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ >> quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) >> cmd_hdrtest = \ >> $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ >> - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ >> + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ > > It doesn't work to put PYTHONDONTWRITEBYTECODE=1 as a parameter to > kernel-doc... Moreover, KERNELDOC is only defined in Documentation/Makefile. It's empty here. Also scripts/Makefile.build uses kernel-doc, which is probably the one creating __pycache__ Andy sees. > > BR, > Jani. > > >> touch $@ >> >> $(obj)/%.hdrtest: $(src)/%.h FORCE >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile >> index ed05b131ed3a..bb873f9cc2aa 100644 >> --- a/drivers/gpu/drm/i915/Makefile >> +++ b/drivers/gpu/drm/i915/Makefile >> @@ -408,7 +408,7 @@ obj-$(CONFIG_DRM_I915_GVT_KVMGT) += kvmgt.o >> # >> # Enable locally for CONFIG_DRM_I915_WERROR=y. See also scripts/Makefile.build >> ifdef CONFIG_DRM_I915_WERROR >> - cmd_checkdoc = $(srctree)/scripts/kernel-doc -none -Werror $< >> + cmd_checkdoc = $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none -Werror $< >> endif >> >> # header test >> diff --git a/include/drm/Makefile b/include/drm/Makefile >> index a7bd15d2803e..6088ea458f44 100644 >> --- a/include/drm/Makefile >> +++ b/include/drm/Makefile >> @@ -11,7 +11,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ >> quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) >> cmd_hdrtest = \ >> $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ >> - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ >> + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ >> touch $@ >> >> $(obj)/%.hdrtest: $(src)/%.h FORCE >> diff --git a/scripts/find-unused-docs.sh b/scripts/find-unused-docs.sh >> index ee6a50e33aba..d6d397fbf917 100755 >> --- a/scripts/find-unused-docs.sh >> +++ b/scripts/find-unused-docs.sh >> @@ -54,7 +54,7 @@ for file in `find $1 -name '*.c'`; do >> if [[ ${FILES_INCLUDED[$file]+_} ]]; then >> continue; >> fi >> - str=$(scripts/kernel-doc -export "$file" 2>/dev/null) >> + str=$(PYTHONDONTWRITEBYTECODE=1 scripts/kernel-doc -export "$file" 2>/dev/null) >> if [[ -n "$str" ]]; then >> echo "$file" >> fi
Em Wed, 16 Apr 2025 10:22:24 +0300 Andy Shevchenko <andriy.shevchenko@intel.com> escreveu: > On Wed, Apr 16, 2025 at 02:57:38PM +0800, Mauro Carvalho Chehab wrote: > > As reported by Andy, kernel-doc.py is creating a __pycache__ > > directory at build time. > > > > Disable creation of __pycache__ for the libraries used by > > kernel-doc.py, when excecuted via the build system or via > > scripts/find-unused-docs.sh. > > Nope, still have it. > > I used today's Linux Next with some local code patches (unrelated > to any scripts or kernel doc or python). > > To confirm, I even done again a clean build. > There were one missing place. Sent a v3. Please test. Regards, Mauro
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index ed54a546bbe2..1469d64f8783 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -236,7 +236,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) cmd_hdrtest = \ $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ touch $@ $(obj)/%.hdrtest: $(src)/%.h FORCE diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index ed05b131ed3a..bb873f9cc2aa 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -408,7 +408,7 @@ obj-$(CONFIG_DRM_I915_GVT_KVMGT) += kvmgt.o # # Enable locally for CONFIG_DRM_I915_WERROR=y. See also scripts/Makefile.build ifdef CONFIG_DRM_I915_WERROR - cmd_checkdoc = $(srctree)/scripts/kernel-doc -none -Werror $< + cmd_checkdoc = $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none -Werror $< endif # header test diff --git a/include/drm/Makefile b/include/drm/Makefile index a7bd15d2803e..6088ea458f44 100644 --- a/include/drm/Makefile +++ b/include/drm/Makefile @@ -11,7 +11,7 @@ always-$(CONFIG_DRM_HEADER_TEST) += \ quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) cmd_hdrtest = \ $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ + $(KERNELDOC) PYTHONDONTWRITEBYTECODE=1 -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ touch $@ $(obj)/%.hdrtest: $(src)/%.h FORCE diff --git a/scripts/find-unused-docs.sh b/scripts/find-unused-docs.sh index ee6a50e33aba..d6d397fbf917 100755 --- a/scripts/find-unused-docs.sh +++ b/scripts/find-unused-docs.sh @@ -54,7 +54,7 @@ for file in `find $1 -name '*.c'`; do if [[ ${FILES_INCLUDED[$file]+_} ]]; then continue; fi - str=$(scripts/kernel-doc -export "$file" 2>/dev/null) + str=$(PYTHONDONTWRITEBYTECODE=1 scripts/kernel-doc -export "$file" 2>/dev/null) if [[ -n "$str" ]]; then echo "$file" fi
As reported by Andy, kernel-doc.py is creating a __pycache__ directory at build time. Disable creation of __pycache__ for the libraries used by kernel-doc.py, when excecuted via the build system or via scripts/find-unused-docs.sh. Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com> Closes: https://lore.kernel.org/linux-doc/Z_zYXAJcTD-c3xTe@black.fi.intel.com/ Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> --- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/i915/Makefile | 2 +- include/drm/Makefile | 2 +- scripts/find-unused-docs.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)