[PATCH] ARM: Don't mention the full path of the source directory in mach-types.h

Marco Felsch m.felsch at pengutronix.de
Thu Nov 14 05:15:30 PST 2024


Hi Uwe, Lucas,

On 24-07-25, Uwe Kleine-König wrote:
> 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.

I wasn't aware of this patch, therefore I send a simpler one which drops
the filename mention:

https://lore.kernel.org/all/20241114130021.2802803-1-m.felsch@pengutronix.de/T/#u

Regards,
  Marco



More information about the linux-arm-kernel mailing list