[PATCH] ARM: Don't mention the full path of the source directory in mach-types.h
Uwe Kleine-König
u.kleine-koenig at baylibre.com
Wed Jul 24 23:16:07 PDT 2024
Hallo Lucas,
On Wed, Jul 24, 2024 at 03:45:17PM +0200, Lucas Stach wrote:
> Am Dienstag, dem 13.02.2024 um 10:28 +0100 schrieb Uwe Kleine-König:
> > To make package building reproducible independent of the location of the
> > source tree, the absolute path of this source tree must not be mentioned
> > in the built artifact. So strip $abs_srctree from FILENAME in the
> > output.
> >
> > This fixes a warning issued by Yocto:
> > WARNING: linux-lxatac-6.7-r0 do_package_qa: QA Issue: File /usr/src/debug/linux-lxatac/6.7-r0/arch/arm/include/generated/asm/mach-types.h in package linux-lxatac-src contains reference to TMPDIR
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > ---
> > arch/arm/tools/gen-mach-types | 13 ++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/tools/gen-mach-types b/arch/arm/tools/gen-mach-types
> > index cbe1c33bb871..9592ceb8a102 100644
> > --- a/arch/arm/tools/gen-mach-types
> > +++ b/arch/arm/tools/gen-mach-types
> > @@ -21,10 +21,21 @@ NF == 3 {
> > num[nr] = ""; nr++
> > }
> >
> > +# prepend a \ to all special chars in a regexp
> > +function quote(s) {
> > + return gensub("[][\\^$.|()*+?{}]", "\\\\&", "g", s)
>
> gensub is a gawk extension and thus will break on systems with a
> different awk implementation.
Oh, wasn't aware of that.
It seems for Debian the only packaged alternative awk implementation is
goawk. This one knows about gensub, too.
Other tools in the kernel seem to assume gawk is available, but
explicitly call it as gawk. gen-mach-types is called using $(AWK) which
defaults to "awk".
So I guess the easiest fix would be:
diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 28b6da8ac5f6..84107bb7ddf1 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -32,7 +32,7 @@ uapi: $(uapi-hdrs-y)
$(shell mkdir -p $(kapi) $(uapi))
quiet_cmd_gen_mach = GEN $@
- cmd_gen_mach = $(AWK) -f $(real-prereqs) > $@
+ cmd_gen_mach = gawk -f $(real-prereqs) > $@
$(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
$(call if_changed,gen_mach)
maybe together with removing the shebang line from the script which is
unused and (then) misleading.
If we want to stick to plain awk, I'd ask for someone with a different
implementation to work on a patch.
Best regards
Uwe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20240725/89927ef9/attachment.sig>
More information about the linux-arm-kernel
mailing list