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) $<; \
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
--
2.49.0
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
--
Jani Nikula, Intel
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
--
Jani Nikula, Intel
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. -- With Best Regards, Andy Shevchenko
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
© 2016 - 2025 Red Hat, Inc.