Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] checkpatch: Only flag FSF address, not gnu.org URL

1 view
Skip to first unread message

Alexander Duyck

unread,
Jan 6, 2014, 6:20:02 PM1/6/14
to
This change restricts the check for the for the FSF address in the GPL
copyright statement so that it only flags the address, not the references to
the gnu.org/licenses URL which appear in numerous drivers.

So for example this statement will still return an error:
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

However, this statement will not return an error after this patch:
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Signed-off-by: Alexander Duyck <alexande...@intel.com>
---
scripts/checkpatch.pl | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9c98100..ba3c9c3 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1963,8 +1963,7 @@ sub process {
}

# Check for FSF mailing addresses.
- if ($rawline =~ /You should have received a copy/ ||
- $rawline =~ /write to the Free Software/ ||
+ if ($rawline =~ /write to the Free Software/ ||
$rawline =~ /59 Temple Place/ ||
$rawline =~ /51 Franklin Street/) {
my $herevet = "$here\n" . cat_vet($rawline) . "\n";

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Greg KH

unread,
Jan 6, 2014, 6:30:03 PM1/6/14
to
On Mon, Jan 06, 2014 at 03:16:24PM -0800, Alexander Duyck wrote:
> This change restricts the check for the for the FSF address in the GPL
> copyright statement so that it only flags the address, not the references to
> the gnu.org/licenses URL which appear in numerous drivers.
>
> So for example this statement will still return an error:
> You should have received a copy of the GNU General Public License
> along with this program; if not, write to the Free Software
> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
>
> However, this statement will not return an error after this patch:
> You should have received a copy of the GNU General Public License
> along with this program. If not, see <http://www.gnu.org/licenses/>.

Why is this paragraph needed? The kernel does come with a copy of the
GPL, so it's not an issue for kernel files, right?

thanks,

greg k-h

Alexander Duyck

unread,
Jan 6, 2014, 7:00:02 PM1/6/14
to
On 01/06/2014 03:52 PM, H. Peter Anvin wrote:
> On 01/06/2014 03:27 PM, Greg KH wrote:
>> On Mon, Jan 06, 2014 at 03:16:24PM -0800, Alexander Duyck wrote:
>>> This change restricts the check for the for the FSF address in the GPL
>>> copyright statement so that it only flags the address, not the references to
>>> the gnu.org/licenses URL which appear in numerous drivers.
>>>
>>> So for example this statement will still return an error:
>>> You should have received a copy of the GNU General Public License
>>> along with this program; if not, write to the Free Software
>>> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
>>>
>>> However, this statement will not return an error after this patch:
>>> You should have received a copy of the GNU General Public License
>>> along with this program. If not, see <http://www.gnu.org/licenses/>.
>>
>> Why is this paragraph needed? The kernel does come with a copy of the
>> GPL, so it's not an issue for kernel files, right?
>>
>
> (IANAL but...) Presumably some people might be concerned about it
> because of either patches on mailing lists or otherwise separate from
> the kernel, or if someone pulls individual files out of the kernel tree
> for another project.
>
> -hpa
>
>

The individual files issue the main concern. For our driver we have
bits that are often copied out without the rest of the kernel. User
space drivers are a perfect example. As a result we find a number of
spots where our driver files are copied and there is no COPYING file.

Thanks,

Alex

H. Peter Anvin

unread,
Jan 6, 2014, 7:00:03 PM1/6/14
to
On 01/06/2014 03:27 PM, Greg KH wrote:
> On Mon, Jan 06, 2014 at 03:16:24PM -0800, Alexander Duyck wrote:
>> This change restricts the check for the for the FSF address in the GPL
>> copyright statement so that it only flags the address, not the references to
>> the gnu.org/licenses URL which appear in numerous drivers.
>>
>> So for example this statement will still return an error:
>> You should have received a copy of the GNU General Public License
>> along with this program; if not, write to the Free Software
>> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
>>
>> However, this statement will not return an error after this patch:
>> You should have received a copy of the GNU General Public License
>> along with this program. If not, see <http://www.gnu.org/licenses/>.
>
> Why is this paragraph needed? The kernel does come with a copy of the
> GPL, so it's not an issue for kernel files, right?
>

(IANAL but...) Presumably some people might be concerned about it
because of either patches on mailing lists or otherwise separate from
the kernel, or if someone pulls individual files out of the kernel tree
for another project.

-hpa


Joe Perches

unread,
Jan 6, 2014, 7:00:03 PM1/6/14
to
On Mon, 2014-01-06 at 15:16 -0800, Alexander Duyck wrote:
> This change restricts the check for the for the FSF address in the GPL
> copyright statement so that it only flags the address, not the references to
> the gnu.org/licenses URL which appear in numerous drivers.

Hello Alexander

There is already a checkpatch fsf patch in -next.
Please make patches against that.

cheers, Joe

---

$ git show --format=email 365b438dd5d
From 365b438dd5dbb1cd5f4310efe51a7aada8e481b4 Mon Sep 17 00:00:00 2001
From: Joe Perches <j...@perches.com>
Date: Fri, 3 Jan 2014 14:10:18 +1100
Subject: [PATCH] checkpatch: update the FSF/GPL address check

The FSF address check is a bit too verbose looking for the GPL text.
Quiet it a bit by requiring --strict for the GPL bit.

Also make the address tests match a few uses of abbreviations for street
names and make it case insensitive.

Signed-off-by: Joe Perches <j...@perches.com>
Reviewed-by: Josh Triplett <jo...@joshtriplett.org>
Cc: Manfred Spraul <man...@colorfullife.com>
Cc: Andy Whitcroft <a...@canonical.com>
Signed-off-by: Andrew Morton <ak...@linux-foundation.org>

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 7e48d13..59be6d7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1970,15 +1970,16 @@ sub process {
}

# 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/) {
+ if ($rawline =~ /\bYou should have received a copy/i ||
+ $rawline =~ /\bwrite to the Free/i ||
+ $rawline =~ /\b59\s+Temple\s+Pl/i ||
+ $rawline =~ /\b51\s+Franklin\s+St/i) {
my $herevet = "$here\n" . cat_vet($rawline) . "\n";
my $msg_type = \&ERROR;
$msg_type = \&CHK if ($file);
+ $msg_type = \&CHK if ($rawline =~ /\bYou should have received a copy/i);
&{$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)
+ "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

Joe Perches

unread,
Jan 7, 2014, 12:50:03 PM1/7/14
to
On Tue, 2014-01-07 at 09:41 -0800, Alexander Duyck wrote:
> This change restricts the check for the for the FSF address in the GPL
> copyright statement so that it only flags the address, not the references to
> the gnu.org/licenses URL which appears to be used in numerous drivers. The
> idea is to still allow some reference to an external copy of the GPL in the
> event that files are copied out of the kernel tree without the COPYING file.

Looks OK to me.

Alexander Duyck

unread,
Jan 7, 2014, 12:50:03 PM1/7/14
to
This change restricts the check for the for the FSF address in the GPL
copyright statement so that it only flags the address, not the references to
the gnu.org/licenses URL which appears to be used in numerous drivers. The
idea is to still allow some reference to an external copy of the GPL in the
event that files are copied out of the kernel tree without the COPYING file.

So for example this statement will still return an error:
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

However, this statement will not return an error after this patch:
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Signed-off-by: Alexander Duyck <alexande...@intel.com>
---

v2: Rebased patch off of linux-next tree.
Updated patch description to include motivation behind change.

scripts/checkpatch.pl | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 07331d6..e7f2c65 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1970,14 +1970,12 @@ sub process {
}

# Check for FSF mailing addresses.
- if ($rawline =~ /\bYou should have received a copy/i ||
- $rawline =~ /\bwrite to the Free/i ||
+ if ($rawline =~ /\bwrite to the Free/i ||
$rawline =~ /\b59\s+Temple\s+Pl/i ||
$rawline =~ /\b51\s+Franklin\s+St/i) {
my $herevet = "$here\n" . cat_vet($rawline) . "\n";
my $msg_type = \&ERROR;
$msg_type = \&CHK if ($file);
- $msg_type = \&CHK if ($rawline =~ /\bYou should have received a copy/i);
&{$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)
}

0 new messages