diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-08-09 06:46:45 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-09 06:46:49 -0400 |
commit | e3560336be655c6791316482fe288b119f34c427 (patch) | |
tree | 43ca9a6b489aaa3918b773f78a7eda37458ef0a8 /scripts | |
parent | 26528e773ecc74fb1b61b7275f86f761cbb340ec (diff) | |
parent | 7b2aa037e878c939676675969983284a02958ae3 (diff) |
Merge branch 'linus' into tracing/urgent
Merge reason: Merge up to almost-rc6 to pick up latest perfcounters
(on which we'll queue up a dependent fix)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/get_maintainer.pl | 42 | ||||
-rw-r--r-- | scripts/markup_oops.pl | 5 |
2 files changed, 38 insertions, 9 deletions
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 3e733146cd51..278a45bd45a5 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl | |||
@@ -13,7 +13,7 @@ | |||
13 | use strict; | 13 | use strict; |
14 | 14 | ||
15 | my $P = $0; | 15 | my $P = $0; |
16 | my $V = '0.16'; | 16 | my $V = '0.17'; |
17 | 17 | ||
18 | use Getopt::Long qw(:config no_auto_abbrev); | 18 | use Getopt::Long qw(:config no_auto_abbrev); |
19 | 19 | ||
@@ -27,6 +27,7 @@ my $email_git = 1; | |||
27 | my $email_git_penguin_chiefs = 0; | 27 | my $email_git_penguin_chiefs = 0; |
28 | my $email_git_min_signatures = 1; | 28 | my $email_git_min_signatures = 1; |
29 | my $email_git_max_maintainers = 5; | 29 | my $email_git_max_maintainers = 5; |
30 | my $email_git_min_percent = 5; | ||
30 | my $email_git_since = "1-year-ago"; | 31 | my $email_git_since = "1-year-ago"; |
31 | my $output_multiline = 1; | 32 | my $output_multiline = 1; |
32 | my $output_separator = ", "; | 33 | my $output_separator = ", "; |
@@ -65,6 +66,7 @@ if (!GetOptions( | |||
65 | 'git-chief-penguins!' => \$email_git_penguin_chiefs, | 66 | 'git-chief-penguins!' => \$email_git_penguin_chiefs, |
66 | 'git-min-signatures=i' => \$email_git_min_signatures, | 67 | 'git-min-signatures=i' => \$email_git_min_signatures, |
67 | 'git-max-maintainers=i' => \$email_git_max_maintainers, | 68 | 'git-max-maintainers=i' => \$email_git_max_maintainers, |
69 | 'git-min-percent=i' => \$email_git_min_percent, | ||
68 | 'git-since=s' => \$email_git_since, | 70 | 'git-since=s' => \$email_git_since, |
69 | 'm!' => \$email_maintainer, | 71 | 'm!' => \$email_maintainer, |
70 | 'n!' => \$email_usename, | 72 | 'n!' => \$email_usename, |
@@ -132,6 +134,10 @@ while (<MAINT>) { | |||
132 | $value =~ s@\.@\\\.@g; ##Convert . to \. | 134 | $value =~ s@\.@\\\.@g; ##Convert . to \. |
133 | $value =~ s/\*/\.\*/g; ##Convert * to .* | 135 | $value =~ s/\*/\.\*/g; ##Convert * to .* |
134 | $value =~ s/\?/\./g; ##Convert ? to . | 136 | $value =~ s/\?/\./g; ##Convert ? to . |
137 | ##if pattern is a directory and it lacks a trailing slash, add one | ||
138 | if ((-d $value)) { | ||
139 | $value =~ s@([^/])$@$1/@; | ||
140 | } | ||
135 | } | 141 | } |
136 | push(@typevalue, "$type:$value"); | 142 | push(@typevalue, "$type:$value"); |
137 | } elsif (!/^(\s)*$/) { | 143 | } elsif (!/^(\s)*$/) { |
@@ -146,8 +152,10 @@ close(MAINT); | |||
146 | my @files = (); | 152 | my @files = (); |
147 | 153 | ||
148 | foreach my $file (@ARGV) { | 154 | foreach my $file (@ARGV) { |
149 | next if ((-d $file)); | 155 | ##if $file is a directory and it lacks a trailing slash, add one |
150 | if (!(-f $file)) { | 156 | if ((-d $file)) { |
157 | $file =~ s@([^/])$@$1/@; | ||
158 | } elsif (!(-f $file)) { | ||
151 | die "$P: file '${file}' not found\n"; | 159 | die "$P: file '${file}' not found\n"; |
152 | } | 160 | } |
153 | if ($from_filename) { | 161 | if ($from_filename) { |
@@ -292,7 +300,7 @@ sub file_match_pattern { | |||
292 | sub usage { | 300 | sub usage { |
293 | print <<EOT; | 301 | print <<EOT; |
294 | usage: $P [options] patchfile | 302 | usage: $P [options] patchfile |
295 | $P [options] -f file | 303 | $P [options] -f file|directory |
296 | version: $V | 304 | version: $V |
297 | 305 | ||
298 | MAINTAINER field selection options: | 306 | MAINTAINER field selection options: |
@@ -301,6 +309,7 @@ MAINTAINER field selection options: | |||
301 | --git-chief-penguins => include ${penguin_chiefs} | 309 | --git-chief-penguins => include ${penguin_chiefs} |
302 | --git-min-signatures => number of signatures required (default: 1) | 310 | --git-min-signatures => number of signatures required (default: 1) |
303 | --git-max-maintainers => maximum maintainers to add (default: 5) | 311 | --git-max-maintainers => maximum maintainers to add (default: 5) |
312 | --git-min-percent => minimum percentage of commits required (default: 5) | ||
304 | --git-since => git history to use (default: 1-year-ago) | 313 | --git-since => git history to use (default: 1-year-ago) |
305 | --m => include maintainer(s) if any | 314 | --m => include maintainer(s) if any |
306 | --n => include name 'Full Name <addr\@domain.tld>' | 315 | --n => include name 'Full Name <addr\@domain.tld>' |
@@ -322,6 +331,15 @@ Other options: | |||
322 | --version => show version | 331 | --version => show version |
323 | --help => show this help information | 332 | --help => show this help information |
324 | 333 | ||
334 | Notes: | ||
335 | Using "-f directory" may give unexpected results: | ||
336 | |||
337 | Used with "--git", git signators for _all_ files in and below | ||
338 | directory are examined as git recurses directories. | ||
339 | Any specified X: (exclude) pattern matches are _not_ ignored. | ||
340 | Used with "--nogit", directory is used as a pattern match, | ||
341 | no individual file within the directory or subdirectory | ||
342 | is matched. | ||
325 | EOT | 343 | EOT |
326 | } | 344 | } |
327 | 345 | ||
@@ -482,6 +500,7 @@ sub recent_git_signoffs { | |||
482 | my $output = ""; | 500 | my $output = ""; |
483 | my $count = 0; | 501 | my $count = 0; |
484 | my @lines = (); | 502 | my @lines = (); |
503 | my $total_sign_offs; | ||
485 | 504 | ||
486 | if (which("git") eq "") { | 505 | if (which("git") eq "") { |
487 | warn("$P: git not found. Add --nogit to options?\n"); | 506 | warn("$P: git not found. Add --nogit to options?\n"); |
@@ -505,17 +524,26 @@ sub recent_git_signoffs { | |||
505 | $output =~ s/^\s*//gm; | 524 | $output =~ s/^\s*//gm; |
506 | 525 | ||
507 | @lines = split("\n", $output); | 526 | @lines = split("\n", $output); |
527 | |||
528 | $total_sign_offs = 0; | ||
529 | foreach my $line (@lines) { | ||
530 | if ($line =~ m/([0-9]+)\s+(.*)/) { | ||
531 | $total_sign_offs += $1; | ||
532 | } else { | ||
533 | die("$P: Unexpected git output: ${line}\n"); | ||
534 | } | ||
535 | } | ||
536 | |||
508 | foreach my $line (@lines) { | 537 | foreach my $line (@lines) { |
509 | if ($line =~ m/([0-9]+)\s+(.*)/) { | 538 | if ($line =~ m/([0-9]+)\s+(.*)/) { |
510 | my $sign_offs = $1; | 539 | my $sign_offs = $1; |
511 | $line = $2; | 540 | $line = $2; |
512 | $count++; | 541 | $count++; |
513 | if ($sign_offs < $email_git_min_signatures || | 542 | if ($sign_offs < $email_git_min_signatures || |
514 | $count > $email_git_max_maintainers) { | 543 | $count > $email_git_max_maintainers || |
544 | $sign_offs * 100 / $total_sign_offs < $email_git_min_percent) { | ||
515 | last; | 545 | last; |
516 | } | 546 | } |
517 | } else { | ||
518 | die("$P: Unexpected git output: ${line}\n"); | ||
519 | } | 547 | } |
520 | if ($line =~ m/(.+)<(.+)>/) { | 548 | if ($line =~ m/(.+)<(.+)>/) { |
521 | my $git_name = $1; | 549 | my $git_name = $1; |
diff --git a/scripts/markup_oops.pl b/scripts/markup_oops.pl index 528492bcba5b..89774011965d 100644 --- a/scripts/markup_oops.pl +++ b/scripts/markup_oops.pl | |||
@@ -1,6 +1,7 @@ | |||
1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl |
2 | 2 | ||
3 | use File::Basename; | 3 | use File::Basename; |
4 | use Math::BigInt; | ||
4 | 5 | ||
5 | # Copyright 2008, Intel Corporation | 6 | # Copyright 2008, Intel Corporation |
6 | # | 7 | # |
@@ -172,8 +173,8 @@ while (<STDIN>) { | |||
172 | parse_x86_regs($line); | 173 | parse_x86_regs($line); |
173 | } | 174 | } |
174 | 175 | ||
175 | my $decodestart = hex($target) - hex($func_offset); | 176 | my $decodestart = Math::BigInt->from_hex("0x$target") - Math::BigInt->from_hex("0x$func_offset"); |
176 | my $decodestop = hex($target) + 8192; | 177 | my $decodestop = Math::BigInt->from_hex("0x$target") + 8192; |
177 | if ($target eq "0") { | 178 | if ($target eq "0") { |
178 | print "No oops found!\n"; | 179 | print "No oops found!\n"; |
179 | print "Usage: \n"; | 180 | print "Usage: \n"; |