All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Stefano Garzarella <sgarzare@redhat.com>, qemu-devel@nongnu.org
Cc: berrange@redhat.com, Stefano Garzarella <sgarzare@redhat.com>
Subject: Re: [PATCH] scripts/checkpatch: emit a warning if an imported file is touched
Date: Wed, 17 Jul 2024 11:58:46 +0200	[thread overview]
Message-ID: <87o76w9w6h.fsf@redhat.com> (raw)
In-Reply-To: <20240717093752.50595-1-sgarzare@redhat.com>

On Wed, Jul 17 2024, Stefano Garzarella <sgarzare@redhat.com> wrote:

> If a file imported from Linux is touched, emit a warning and suggest
> using scripts/update-linux-headers.sh
>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
>  scripts/checkpatch.pl | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index ff373a7083..b0e8266fa2 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1374,6 +1374,7 @@ sub process {
>  	my $in_header_lines = $file ? 0 : 1;
>  	my $in_commit_log = 0;		#Scanning lines before patch
>  	my $reported_maintainer_file = 0;
> +	my $reported_imported_file = 0;
>  	my $non_utf8_charset = 0;
>  
>  	our @report = ();
> @@ -1673,8 +1674,17 @@ sub process {
>  # ignore non-hunk lines and lines being removed
>  		next if (!$hunk_line || $line =~ /^-/);
>  
> -# ignore files that are being periodically imported from Linux
> -		next if ($realfile =~ /^(linux-headers|include\/standard-headers)\//);
> +# ignore files that are being periodically imported from Linux and emit a warning
> +		if ($realfile =~ /^(linux-headers|include\/standard-headers)\//) {
> +			if (!$reported_imported_file) {
> +				$reported_imported_file = 1;
> +				WARN("added, moved or deleted file(s) " .
> +				     "imported from Linux, are you using " .
> +				     "scripts/update-linux-headers.sh?\n" .
> +				     $herecurr);
> +			}
> +			next;
> +		}

Thanks, that looks useful -- just two comments (sorry, my perl-fu is
low):
- Is there a way to check that this is a proper linux headers update?
  We'd have to rely on heuristics, but OTOH, we also usually want a
  headers update to use a certain format ($SUBJECT containing "headers
  update", patch description pointing to the version this update was
  done against.) Not sure if it is worth actually trying to figure this
  out.
- A common issue is headers changes mixed in with other code changes,
  which should not happen -- can we check for that as well and advise
  to either do a headers update, or use a placeholder patch?

>  
>  #trailing whitespace
>  		if ($line =~ /^\+.*\015/) {



  parent reply	other threads:[~2024-07-17  9:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-17  9:37 [PATCH] scripts/checkpatch: emit a warning if an imported file is touched Stefano Garzarella
2024-07-17  9:50 ` Daniel P. Berrangé
2024-07-17 12:26   ` Stefano Garzarella
2024-07-17  9:58 ` Cornelia Huck [this message]
2024-07-17 12:36   ` Stefano Garzarella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o76w9w6h.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.