On 4/4/24 18:44, Lucas Stach wrote:
Am Donnerstag, dem 04.04.2024 um 15:15 +0200 schrieb Helge Deller:
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));

The difference to basename is that this keeps the path in the source
tree intact, e.g. it shortens the absolute path to
"drivers/video/logo/logo_linux_clut224.c", so the comment in the
generated file still has a full reference to the file location in the
source tree. It only strips out the part of the path that is host
dependent.

That's true, but
a) it's just a comment which is generated, and
b) all source and generated logo files are in the 
[src|build]/drivers/video/logo/ directory anyway, and
c) the file name already suggests where it is generated from.

So, IMHO basically we could simply drop the whole comment line alltogether as 
well.

Helge

Reply via email to