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.st...@pengutronix.de>
---
  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);

Reply via email to