diff mbox series

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

Message ID 20240213092835.754462-2-u.kleine-koenig@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series ARM: Don't mention the full path of the source directory in mach-types.h | expand

Commit Message

Uwe Kleine-König Feb. 13, 2024, 9:28 a.m. UTC
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@pengutronix.de>
---
 arch/arm/tools/gen-mach-types | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
diff mbox series

Patch

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)
+}
+
+# Strip the absolute path of the source tree from the parameter
+# to make the result independent of where the source is located.
+function relsrcfile(fn) {
+	sub("^" quote(ENVIRON["abs_srctree"]) "/", "", fn)
+	return fn
+}
 
 END	{
 	  printf("/*\n");
-	  printf(" * This was automagically generated from %s!\n", FILENAME);
+	  printf(" * This was automagically generated from %s!\n", relsrcfile(FILENAME));
 	  printf(" * Do NOT edit\n");
 	  printf(" */\n\n");
 	  printf("#ifndef __ASM_ARM_MACH_TYPE_H\n");