From: Andy Whitcroft <apw@shadowen.org>
To: Andrew Morton <akpm@osdl.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>,
Joel Schopp <jschopp@austin.ibm.com>, Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org, Andy Whitcroft <apw@shadowen.org>
Subject: [PATCH 11/17] checkpatch: report any absolute references to kernel source files
Date: Mon, 11 Aug 2008 21:13:06 +0100 [thread overview]
Message-ID: <1218485592-6679-12-git-send-email-apw@shadowen.org> (raw)
In-Reply-To: <1218485592-6679-1-git-send-email-apw@shadowen.org>
Absolute references to kernel source files are generally only useful
locally to the originator of the patch. Check for any such references
and report them.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
---
scripts/checkpatch.pl | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9e7e9d1..cc61cf7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -958,6 +958,33 @@ sub CHK {
}
}
+sub check_absolute_file {
+ my ($absolute, $herecurr) = @_;
+ my $file = $absolute;
+
+ ##print "absolute<$absolute>\n";
+
+ # See if any suffix of this path is a path within the tree.
+ while ($file =~ s@^[^/]*/@@) {
+ if (-f "$root/$file") {
+ ##print "file<$file>\n";
+ last;
+ }
+ }
+ if (! -f _) {
+ return 0;
+ }
+
+ # It is, so see if the prefix is acceptable.
+ my $prefix = $absolute;
+ substr($prefix, -length($file)) = '';
+
+ ##print "prefix<$prefix>\n";
+ if ($prefix ne ".../") {
+ WARN("use relative pathname instead of absolute in changelog text\n" . $herecurr);
+ }
+}
+
sub process {
my $filename = shift;
@@ -1168,6 +1195,20 @@ sub process {
$herecurr) if (!$emitted_corrupt++);
}
+# Check for absolute kernel paths.
+ if ($tree) {
+ while ($line =~ m{(?:^|\s)(/\S*)}g) {
+ my $file = $1;
+
+ if ($file =~ m{^(.*?)(?::\d+)+:?$} &&
+ check_absolute_file($1, $herecurr)) {
+ #
+ } else {
+ check_absolute_file($file, $herecurr);
+ }
+ }
+ }
+
# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php
if (($realfile =~ /^$/ || $line =~ /^\+/) &&
$rawline !~ m/^$UTF8*$/) {
--
1.6.0.rc1.258.g80295
next prev parent reply other threads:[~2008-08-11 20:18 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-11 20:12 [PATCH 00/17] checkpatch: update to version 0.22 Andy Whitcroft
2008-08-11 20:12 ` [PATCH 01/17] checkpatch: square brackets -- exemption for array slices in braces Andy Whitcroft
2008-08-11 20:12 ` [PATCH 02/17] checkpatch: values: double ampersand may be unary Andy Whitcroft
2008-08-11 20:12 ` [PATCH 03/17] checkpatch: conditional indent -- labels have different indent rules Andy Whitcroft
2008-08-11 20:12 ` [PATCH 04/17] checkpatch: switch indent allow plain return Andy Whitcroft
2008-08-11 20:13 ` [PATCH 05/17] checkpatch: add tests for the attribute matcher Andy Whitcroft
2008-08-11 20:13 ` [PATCH 06/17] checkpatch: ____cacheline_aligned et al are modifiers Andy Whitcroft
2008-08-11 20:13 ` [PATCH 07/17] checkpatch: complex macros -- fix up extension handling Andy Whitcroft
2008-08-11 20:13 ` [PATCH 08/17] checkpatch: fix up comment checks search to scan the entire block Andy Whitcroft
2008-08-11 20:13 ` [PATCH 09/17] checkpatch: include/asm checks should be anchored Andy Whitcroft
2008-10-08 13:39 ` Geert Uytterhoeven
2008-08-11 20:13 ` [PATCH 10/17] checkpatch: reduce warnings for #include of asm/foo.h to check from arch/bar.c Andy Whitcroft
2008-08-11 20:13 ` Andy Whitcroft [this message]
2008-08-11 20:13 ` [PATCH 12/17] checkpatch: report the real first line of all suspect indents Andy Whitcroft
2008-08-11 20:13 ` [PATCH 13/17] checkpatch: suspect indent -- skip over preprocessor, label and blank lines Andy Whitcroft
2008-08-11 20:13 ` [PATCH 14/17] checkpatch: %Lx tests should hand %% as a literal Andy Whitcroft
2008-08-11 20:13 ` [PATCH 15/17] checkpatch: report the correct lines for single statement blocks Andy Whitcroft
2008-08-11 20:13 ` [PATCH 16/17] checkpatch: perform indent checks on perl Andy Whitcroft
2008-08-11 20:13 ` [PATCH 17/17] checkpatch: version: 0.22 Andy Whitcroft
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=1218485592-6679-12-git-send-email-apw@shadowen.org \
--to=apw@shadowen.org \
--cc=akpm@osdl.org \
--cc=jschopp@austin.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rdunlap@xenotime.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®