[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