On 4/4/24 14:18, Lucas Stach wrote:
This change strips $abs_srctree of the input file containing the PNM data in the generated output. The motivation for this change is Yocto emitting a build warning WARNING: linux-foo-6.8-r0 do_package_qa: QA Issue: File /usr/src/debug/linux-foo/6.8-r0/drivers/video/logo/logo_linux_clut224.c in package linux-foo-src contains reference to TMPDIR So this change brings us one step closer to make the build result reproducible independent of the build path. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> --- drivers/video/logo/pnmtologo.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/video/logo/pnmtologo.c b/drivers/video/logo/pnmtologo.c index 2434a25afb64..59ccd721e8af 100644 --- a/drivers/video/logo/pnmtologo.c +++ b/drivers/video/logo/pnmtologo.c @@ -223,6 +223,18 @@ static inline int is_equal(struct color c1, struct color c2) static void write_header(void) { + const char *abs_srctree = getenv("abs_srctree"); + const char *rel_filename; + + if (abs_srctree && + !strncmp(abs_srctree, filename, strlen(abs_srctree))) { + rel_filename = filename + strlen(abs_srctree); + while (*rel_filename == '/') + ++rel_filename; + } else { + rel_filename = filename; + } + /* open logo file */ if (outputname) { out = fopen(outputname, "w"); @@ -235,7 +247,7 @@ static void write_header(void) fputs("/*\n", out); fputs(" * DO NOT EDIT THIS FILE!\n", out); fputs(" *\n", out); - fprintf(out, " * It was automatically generated from %s\n", filename); + fprintf(out, " * It was automatically generated from %s\n", rel_filename);
can't you use instead: ?
+ fprintf(out, " * It was automatically generated from %s\n", basename(filename));
Helge
fputs(" *\n", out); fprintf(out, " * Linux logo %s\n", logoname); fputs(" */\n\n", out);