root / scripts / cleanup-trace-events.pl @ f53ec699
History | View | Annotate | Download (1.1 kB)
1 | f0c03c8c | Markus Armbruster | #!/usr/bin/perl |
---|---|---|---|
2 | f0c03c8c | Markus Armbruster | # Copyright (C) 2013 Red Hat, Inc. |
3 | f0c03c8c | Markus Armbruster | # |
4 | f0c03c8c | Markus Armbruster | # Authors: |
5 | f0c03c8c | Markus Armbruster | # Markus Armbruster <armbru@redhat.com> |
6 | f0c03c8c | Markus Armbruster | # |
7 | f0c03c8c | Markus Armbruster | # This work is licensed under the terms of the GNU GPL, version 2 or |
8 | f0c03c8c | Markus Armbruster | # later. See the COPYING file in the top-level directory. |
9 | f0c03c8c | Markus Armbruster | |
10 | f0c03c8c | Markus Armbruster | # Usage: cleanup-trace-events.pl trace-events |
11 | f0c03c8c | Markus Armbruster | # |
12 | f0c03c8c | Markus Armbruster | # Print cleaned up trace-events to standard output. |
13 | f0c03c8c | Markus Armbruster | |
14 | f0c03c8c | Markus Armbruster | use warnings; |
15 | f0c03c8c | Markus Armbruster | use strict; |
16 | f0c03c8c | Markus Armbruster | |
17 | f0c03c8c | Markus Armbruster | my $buf = ''; |
18 | f0c03c8c | Markus Armbruster | my %seen = (); |
19 | f0c03c8c | Markus Armbruster | |
20 | f0c03c8c | Markus Armbruster | sub out { |
21 | f0c03c8c | Markus Armbruster | print $buf; |
22 | f0c03c8c | Markus Armbruster | $buf = ''; |
23 | f0c03c8c | Markus Armbruster | %seen = (); |
24 | f0c03c8c | Markus Armbruster | } |
25 | f0c03c8c | Markus Armbruster | |
26 | f0c03c8c | Markus Armbruster | while (<>) { |
27 | f0c03c8c | Markus Armbruster | if (/^(disable )?([a-z_0-9]+)\(/) { |
28 | f0c03c8c | Markus Armbruster | open GREP, '-|', 'git', 'grep', '-l', "trace_$2" |
29 | f0c03c8c | Markus Armbruster | or die "run git grep: $!"; |
30 | f0c03c8c | Markus Armbruster | my $fname; |
31 | f0c03c8c | Markus Armbruster | while ($fname = <GREP>) { |
32 | f0c03c8c | Markus Armbruster | chomp $fname; |
33 | f0c03c8c | Markus Armbruster | next if $seen{$fname} || $fname eq 'trace-events'; |
34 | f0c03c8c | Markus Armbruster | $seen{$fname} = 1; |
35 | f0c03c8c | Markus Armbruster | $buf = "# $fname\n" . $buf; |
36 | f0c03c8c | Markus Armbruster | } |
37 | f0c03c8c | Markus Armbruster | unless (close GREP) { |
38 | f0c03c8c | Markus Armbruster | die "close git grep: $!" |
39 | f0c03c8c | Markus Armbruster | if $!; |
40 | f0c03c8c | Markus Armbruster | next; |
41 | f0c03c8c | Markus Armbruster | } |
42 | f0c03c8c | Markus Armbruster | } elsif (/^# ([^ ]*\.[ch])$/) { |
43 | f0c03c8c | Markus Armbruster | out; |
44 | f0c03c8c | Markus Armbruster | next; |
45 | f0c03c8c | Markus Armbruster | } elsif (!/^#|^$/) { |
46 | f0c03c8c | Markus Armbruster | warn "unintelligible line"; |
47 | f0c03c8c | Markus Armbruster | } |
48 | f0c03c8c | Markus Armbruster | $buf .= $_; |
49 | f0c03c8c | Markus Armbruster | } |
50 | f0c03c8c | Markus Armbruster | |
51 | f0c03c8c | Markus Armbruster | out; |