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.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));
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