diff mbox series

[v1] checkpatch: allow build files to reference other build files

Message ID 20240112183420.1777576-1-willmcvicker@google.com (mailing list archive)
State New
Headers show
Series [v1] checkpatch: allow build files to reference other build files | expand

Commit Message

William McVicker Jan. 12, 2024, 6:34 p.m. UTC
Add an exception to the EMBEDDED_FILENAME warning for build files. This
fixes the below warnings where the Kconfig and Makefile files reference
other similarly named build files.

  WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
  filename in the file
  #24: FILE: Kconfig:34:
  +source "drivers/willmcvicker/Kconfig"

  WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
  filename in the file
  #36: FILE: Makefile:667:
  +	} > Makefile

Signed-off-by: Will McVicker <willmcvicker@google.com>
---
 scripts/checkpatch.pl | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


base-commit: 70d201a40823acba23899342d62bc2644051ad2e

Comments

Joe Perches Jan. 12, 2024, 6:48 p.m. UTC | #1
On Fri, 2024-01-12 at 10:34 -0800, Will McVicker wrote:
> Add an exception to the EMBEDDED_FILENAME warning for build files. This
> fixes the below warnings where the Kconfig and Makefile files reference
> other similarly named build files.
> 
>   WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
>   filename in the file
>   #24: FILE: Kconfig:34:
>   +source "drivers/willmcvicker/Kconfig"
> 
>   WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
>   filename in the file
>   #36: FILE: Makefile:667:
>   +	} > Makefile

No need to wrap here I think.

> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -3785,7 +3785,9 @@ sub process {
>  		}
>  
>  # check for embedded filenames
> -		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/) {
> +		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/ &&
> +			$realfile !~ /Kconfig.*/ &&
> +			$realfile !~ /Makefile.*/) {

Align to open parenthesis please.
It's not useful to have .* before the /

So perhaps better to be

		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/ &&
		    $realfile !~ /(?:Kconfig|Makefile)/) {
	
>  			WARN("EMBEDDED_FILENAME",
>  			     "It's generally not useful to have the filename in the file\n" . $herecurr);
>  		}
William McVicker Jan. 12, 2024, 10:16 p.m. UTC | #2
On 01/12/2024, Joe Perches wrote:
> On Fri, 2024-01-12 at 10:34 -0800, Will McVicker wrote:
> > Add an exception to the EMBEDDED_FILENAME warning for build files. This
> > fixes the below warnings where the Kconfig and Makefile files reference
> > other similarly named build files.
> > 
> >   WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
> >   filename in the file
> >   #24: FILE: Kconfig:34:
> >   +source "drivers/willmcvicker/Kconfig"
> > 
> >   WARNING:EMBEDDED_FILENAME: It's generally not useful to have the
> >   filename in the file
> >   #36: FILE: Makefile:667:
> >   +	} > Makefile
> 
> No need to wrap here I think.

You're right. I'll update in v2.

> 
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -3785,7 +3785,9 @@ sub process {
> >  		}
> >  
> >  # check for embedded filenames
> > -		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/) {
> > +		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/ &&
> > +			$realfile !~ /Kconfig.*/ &&
> > +			$realfile !~ /Makefile.*/) {
> 
> Align to open parenthesis please.
> It's not useful to have .* before the /

I was following other references in this file, but looks like you're right that
it's not needed. Your recommendation passed the tests I have. So I'll update
the regex in v2.

Thanks,
Will

> 
> So perhaps better to be
> 
> 		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/ &&
> 		    $realfile !~ /(?:Kconfig|Makefile)/) {
> 	
> >  			WARN("EMBEDDED_FILENAME",
> >  			     "It's generally not useful to have the filename in the file\n" . $herecurr);
> >  		}
>
diff mbox series

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index f8343b34a28b..62939f5800cf 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3785,7 +3785,9 @@  sub process {
 		}
 
 # check for embedded filenames
-		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/) {
+		if ($rawline =~ /^\+.*\b\Q$realfile\E\b/ &&
+			$realfile !~ /Kconfig.*/ &&
+			$realfile !~ /Makefile.*/) {
 			WARN("EMBEDDED_FILENAME",
 			     "It's generally not useful to have the filename in the file\n" . $herecurr);
 		}