Re: [PATCH] checkpatch: Require author Signed-off-by

From: Joe Perches
Date: Tue Jul 10 2018 - 11:28:05 EST


On Tue, 2018-07-10 at 17:07 +0200, Geert Uytterhoeven wrote:
> Hi Joe,

Hi Geert

> On Tue, Jul 10, 2018 at 4:34 PM Joe Perches <joe@xxxxxxxxxxx> wrote:
> > On Tue, 2018-07-10 at 14:10 +0200, Geert Uytterhoeven wrote:
> > > Print an error if none of the Signed-off-by lines cover the patch
> > > author.
> >
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> >
> > []
> > > @@ -13,6 +13,7 @@ use POSIX;
> > > use File::Basename;
> > > use Cwd 'abs_path';
> > > use Term::ANSIColor qw(:constants);
> > > +use MIME::Words 'decode_mimewords';
> >
> > Is this a typically installed perl module?
> > If so, what perl version installed it by default?
>
> I don't know. At least my Ubuntu 16.04LTS and 18.04LTS systems had it
> installed.
> It does not seem to be part of the core modules, cfr.
> https://perldoc.perl.org/index-modules-M.html
>
> I've tried using MIME::QuotedPrint instead, but then we need to parse
> =?UTF-8?q? ourselves, as decode_qp() only transforms the actual
> quoted printable bits in side the encoded From: address.

I'd looked too and couldn't find it from 5.10 forward,
so I'd prefer not requiring that module.

Also, the From: line is also an email header and I don't
believe it should be used author information in the
same way as a patch From: line.

So likely the

+# Check the patch for a From:
+ if ($line =~ /^\s*From: (.*)/i) {

should be "if ($in_commit_log && $line =~ /^\s*From: (.*)/) {

with some regex or function to remove the MIME encoded word.