Statistics
| Branch: | Revision:

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;