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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Regards,
Lucas

> Helge
> 
> 
> >   	fputs(" *\n", out);
> >   	fprintf(out, " *  Linux logo %s\n", logoname);
> >   	fputs(" */\n\n", out);
> 






[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux