| Message ID | 20251117154942.1985172-1-stefan-koch@siemens.com |
|---|---|
| State | Under Review |
| Headers | show |
| Series | linux-custom: Fix logic for find command in `install_kbuild()` | expand |
On 17.11.25 16:49, Stefan Koch wrote: > Previously, two paths in `install_kbuild()` were combined with AND, > which always returned an empty file list. > This change switches to OR logic, providing the files excluded > by the corresponding find call in `kernel_headers()`. > So, what was the result of this issue? Was kbuild broken, or when exactly was it? Jan > Signed-off-by: Stefan Koch <stefan-koch@siemens.com> > --- > meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > index a1b00d39..6fa94508 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > @@ -252,7 +252,7 @@ install_kbuild() { > > mkdir -p ${destdir} > > - (cd ${S}; find . -path './scripts/*' -a -path './tools/*' -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} > + (cd ${S}; find . \( -path './scripts/*' -o -path './tools/*' \) -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} > (cd ${S}; find scripts -type f -o -type l) >>${src_kbuild_files} > > (cd ${O}; find scripts -type f) >>${obj_kbuild_files}
On Mon, 2025-11-17 at 16:56 +0100, Jan Kiszka wrote: > On 17.11.25 16:49, Stefan Koch wrote: > > Previously, two paths in `install_kbuild()` were combined with AND, > > which always returned an empty file list. > > This change switches to OR logic, providing the files excluded > > by the corresponding find call in `kernel_headers()`. > > > > So, what was the result of this issue? Was kbuild broken, or when > exactly was it? This is only a minor issue. Kbuild was working anyway, I don't noticed any failure case because of that. related line from kernel_headers(): (cd ${S}; find . -not -path './scripts/*' -a -not -path './tools/*' -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_hdr_files} *patched* line from install_kbuild(): (cd ${S}; find . \( -path './scripts/*' -o -path './tools/*' \) -a \( - name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} The subset excluded by one line should be included by the other line. The *unpatched* line. (cd ${S}; find . -path './scripts/*' -a -path './tools/*' -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} combines two paths in an AND operation, which will never be true. So the line is useless. The patch fixes only this logical issue with both subsets. This was not a big blocker at all, because the next line in install_kbuild(): (cd ${S}; find scripts -type f -o -type l) >>${src_kbuild_files} also adds the scripts subdir. Only the tools subdir was missing here, but that seems to be working in most cases, even without it. > > Jan > > > Signed-off-by: Stefan Koch <stefan-koch@siemens.com> > > --- > > meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/recipes- > > kernel/linux/files/debian/isar/install.tmpl b/meta/recipes- > > kernel/linux/files/debian/isar/install.tmpl > > index a1b00d39..6fa94508 100644 > > --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > > +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > > @@ -252,7 +252,7 @@ install_kbuild() { > > > > mkdir -p ${destdir} > > > > - (cd ${S}; find . -path './scripts/*' -a -path './tools/*' -a > > \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) > > >>${src_kbuild_files} > > + (cd ${S}; find . \( -path './scripts/*' -o -path './tools/*' > > \) -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) > > >>${src_kbuild_files} > > (cd ${S}; find scripts -type f -o -type l) > > >>${src_kbuild_files} > > > > (cd ${O}; find scripts -type f) >>${obj_kbuild_files} > Best regards
diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl index a1b00d39..6fa94508 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl @@ -252,7 +252,7 @@ install_kbuild() { mkdir -p ${destdir} - (cd ${S}; find . -path './scripts/*' -a -path './tools/*' -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} + (cd ${S}; find . \( -path './scripts/*' -o -path './tools/*' \) -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} (cd ${S}; find scripts -type f -o -type l) >>${src_kbuild_files} (cd ${O}; find scripts -type f) >>${obj_kbuild_files}
Previously, two paths in `install_kbuild()` were combined with AND, which always returned an empty file list. This change switches to OR logic, providing the files excluded by the corresponding find call in `kernel_headers()`. Signed-off-by: Stefan Koch <stefan-koch@siemens.com> --- meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)