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 <[email protected]>
---
 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);
        fputs(" *\n", out);
        fprintf(out, " *  Linux logo %s\n", logoname);
        fputs(" */\n\n", out);
-- 
2.39.2

Reply via email to