xemu/scripts/cleanup-trace-events.pl
Kamil Rytarowski b7d5a9c2c6 scripts: Switch to more portable Perl shebang
The default NetBSD package manager is pkgsrc and it installs Perl
along other third party programs under custom and configurable prefix.
The default prefix for binary prebuilt packages is /usr/pkg, and the
Perl executable lands in /usr/pkg/bin/perl.

This change switches "/usr/bin/perl" to "/usr/bin/env perl" as it's
the most portable solution that should work for almost everybody.
Perl's executable is detected automatically.

This change switches -w option passed to the executable with more
modern "use warnings;" approach. There is no functional change to the
default behavior.

Signed-off-by: Kamil Rytarowski <n54@gmx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2017-05-10 10:19:24 +03:00

52 lines
1.1 KiB
Perl
Executable File

#!/usr/bin/env perl
# Copyright (C) 2013 Red Hat, Inc.
#
# Authors:
# Markus Armbruster <armbru@redhat.com>
#
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
# Usage: cleanup-trace-events.pl trace-events
#
# Print cleaned up trace-events to standard output.
use warnings;
use strict;
my $buf = '';
my %seen = ();
sub out {
print $buf;
$buf = '';
%seen = ();
}
while (<>) {
if (/^(disable )?([a-z_0-9]+)\(/) {
open GREP, '-|', 'git', 'grep', '-lw', "trace_$2"
or die "run git grep: $!";
my $fname;
while ($fname = <GREP>) {
chomp $fname;
next if $seen{$fname} || $fname eq 'trace-events';
$seen{$fname} = 1;
$buf = "# $fname\n" . $buf;
}
unless (close GREP) {
die "close git grep: $!"
if $!;
next;
}
} elsif (/^# ([^ ]*\.[ch])$/) {
out;
next;
} elsif (!/^#|^$/) {
warn "unintelligible line";
}
$buf .= $_;
}
out;