checkpatch.pl: check for the FSF mailing address
authorJosh Triplett <josh@joshtriplett.org>
Tue, 12 Nov 2013 23:10:12 +0000 (15:10 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 13 Nov 2013 03:09:25 +0000 (12:09 +0900)
Kernel maintainers reject new instances of the GPL boilerplate paragraph
directing people to write to the FSF for a copy of the GPL, since the FSF
has moved in the past and may do so again.

Make this an error for new code, but just a --strict CHK in --file mode;
anyone interested in doing tree-wide cleanups of this form can enable this
test explicitly.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/checkpatch.pl

index 2e40f64ed77f656b340c1e49bd5c541528ea397a..ec9bbf863d5038af3a6e2cba0cc332d36b404829 100755 (executable)
@@ -1962,6 +1962,18 @@ sub process {
                        $rpt_cleaners = 1;
                }
 
+# Check for FSF mailing addresses.
+               if ($rawline =~ /You should have received a copy/ ||
+                   $rawline =~ /write to the Free Software/ ||
+                   $rawline =~ /59 Temple Place/ ||
+                   $rawline =~ /51 Franklin Street/) {
+                       my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+                       my $msg_type = \&ERROR;
+                       $msg_type = \&CHK if ($file);
+                       &{$msg_type}("FSF_MAILING_ADDRESS",
+                               "Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL.\n" . $herevet)
+               }
+
 # check for Kconfig help text having a real description
 # Only applies when adding the entry originally, after that we do not have
 # sufficient context to determine whether it is indeed long enough.