[PATCH] drivers: video: logo: Don't mention the full path of the input in output

Helge Deller deller at gmx.de
Thu Apr 4 13:15:47 UTC 2024


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



More information about the dri-devel mailing list