2009-03-10 17:22:47

by Hannes Eder

[permalink] [raw]
Subject: [PATCH] checkpatch: make -f alias --file, add --help, more verbose help message

Impact:
- More verbose help/usage message.
- Make the option -f an alias for --file.
- On -h, --help, and --version display help message and exit(0).
- With no FILE(s) given, exit(1) with "no input files".
- On invalid options display help/usage and exit(1).

Based on a patch by Pavel Machek.

Signed-off-by: Hannes Eder <[email protected]>
Cc: Pavel Machek <[email protected]>
---

parts from the original mail:

On Tue, Jan 20, 2009 at 11:32 AM, Pavel Machek <[email protected]> wrote:
> Subject: checkpatch fun (was Re: hp accelerometer: add freefall detection)
>
> [... skip ...]
>
> I tried checkpatch-ing a file, and not only my attempts to use it
> failed, my attempts to get help failed too.
>
> pavel@amd:/data/l/linux/Documentation$ ../scripts/checkpatch.pl hwmon/hpfall.c
> ERROR: Does not appear to be a unified-diff format patch
> ....
> pavel@amd:/data/l/linux/Documentation$ ../scripts/checkpatch.pl -f hwmon/hpfall.c
> Unknown option: f
> pavel@amd:/data/l/linux/Documentation$ ../scripts/checkpatch.pl -h
> Unknown option: h
> pavel@amd:/data/l/linux/Documentation$ ../scripts/checkpatch.pl --help
> Unknown option: help
>
> [... skip ...]
>

scripts/checkpatch.pl | 55 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 42 insertions(+), 13 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2d5ece7..1e730be 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -28,6 +28,41 @@ my $mailback = 0;
my $summary_file = 0;
my $root;
my %debug;
+my $help = 0;
+
+sub help {
+ my ($exitcode) = @_;
+
+ print << "EOM";
+Usage: $P [OPTION]... [FILE]...
+Version: $V
+
+Options:
+ -q, --quiet quiet
+ --no-tree run without a kernel tree
+ --no-signoff do not check for 'Signed-off-by' line
+ --patch treat FILE as patchfile (default)
+ --emacs emacs compile window format
+ --terse one line per report
+ -f, --file treat FILE as regular source file
+ --subjective, --strict enable more subjective tests
+ --root=PATH PATH to the kernel tree root
+ --no-summary suppress the per-file summary
+ --mailback only produce a report in case of warnings/errors
+ --summary-file include the filename in summary
+ --debug KEY=[0|1] turn on/off debugging of KEY, where KEY is one of
+ 'values', 'possible', 'type', and 'attr' (default
+ is all off)
+ --test-only=WORD report only warnings/errors containing WORD
+ literally
+ -h, --help, --version display this help and exit
+
+When FILE is - read standard input.
+EOM
+
+ exit($exitcode);
+}
+
GetOptions(
'q|quiet+' => \$quiet,
'tree!' => \$tree,
@@ -35,7 +70,7 @@ GetOptions(
'patch!' => \$chk_patch,
'emacs!' => \$emacs,
'terse!' => \$terse,
- 'file!' => \$file,
+ 'f|file!' => \$file,
'subjective!' => \$check,
'strict!' => \$check,
'root=s' => \$root,
@@ -45,22 +80,16 @@ GetOptions(

'debug=s' => \%debug,
'test-only=s' => \$tst_only,
-) or exit;
+ 'h|help' => \$help,
+ 'version' => \$help
+) or help(1);
+
+help(0) if ($help);

my $exit = 0;

if ($#ARGV < 0) {
- print "usage: $P [options] patchfile\n";
- print "version: $V\n";
- print "options: -q => quiet\n";
- print " --no-tree => run without a kernel tree\n";
- print " --terse => one line per report\n";
- print " --emacs => emacs compile window format\n";
- print " --file => check a source file\n";
- print " --strict => enable more subjective tests\n";
- print " --root => path to the kernel tree root\n";
- print " --no-summary => suppress the per-file summary\n";
- print " --summary-file => include the filename in summary\n";
+ print "$P: no input files\n";
exit(1);
}


2009-03-10 18:10:37

by Andy Whitcroft

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: make -f alias --file, add --help, more verbose help message

On Tue, Mar 10, 2009 at 06:21:23PM +0100, Hannes Eder wrote:
> Impact:
> - More verbose help/usage message.
> - Make the option -f an alias for --file.
> - On -h, --help, and --version display help message and exit(0).
> - With no FILE(s) given, exit(1) with "no input files".
> - On invalid options display help/usage and exit(1).
>
> Based on a patch by Pavel Machek.

That looks reasonable. Will integate it into my next set of updates.

-apw

2009-03-10 18:53:18

by Andy Whitcroft

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: make -f alias --file, add --help, more verbose help message

On Tue, Mar 10, 2009 at 06:10:23PM +0000, Andy Whitcroft wrote:
> On Tue, Mar 10, 2009 at 06:21:23PM +0100, Hannes Eder wrote:
> > Impact:
> > - More verbose help/usage message.
> > - Make the option -f an alias for --file.
> > - On -h, --help, and --version display help message and exit(0).
> > - With no FILE(s) given, exit(1) with "no input files".
> > - On invalid options display help/usage and exit(1).
> >
> > Based on a patch by Pavel Machek.
>
> That looks reasonable. Will integate it into my next set of updates.

Ok, now in my testing branch. See:

http://www.kernel.org/pub/linux/kernel/people/apw/checkpatch/checkpatch.pl-testing

-apw

2009-03-11 08:19:19

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: make -f alias --file, add --help, more verbose help message

On Tue 2009-03-10 18:21:23, Hannes Eder wrote:
> Impact:
> - More verbose help/usage message.
> - Make the option -f an alias for --file.
> - On -h, --help, and --version display help message and exit(0).
> - With no FILE(s) given, exit(1) with "no input files".
> - On invalid options display help/usage and exit(1).
>
> Based on a patch by Pavel Machek.
>
> Signed-off-by: Hannes Eder <[email protected]>
> Cc: Pavel Machek <[email protected]>


ACK and thanks...

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html