5 # $ time dpkg-parsechangelog >/dev/null
10 # $ time ~/things/Dgit/dgit/tests/tstunt/dpkg-parsechangelog >/dev/null
17 $SIG{__WARN__} = sub { die $_[0]; }; # no use of system, so we avoid #793471
19 my $infile = "debian/changelog";
23 if (@ARGV && $ARGV[0] =~ s/^-l//) {
24 $infile = shift @ARGV;
29 $strip =~ s#/[^/]+$## or die "$0 ?";
30 foreach my $k (qw(PATH PERLLIB)) {
31 my @opath = split /\:/, $ENV{$k};
32 my @npath = grep { $_ ne $strip } @opath;
33 @npath != @opath or die "$0 $k $ENV{$k} ?";
34 $ENV{$k} = join ':', @npath;
36 die if $ENV{'DGIT_NO_TSTUNT_CLPARSE'}++;
37 exec 'dpkg-parsechangelog', @orgargv;
41 open C, $infile or die $!;
44 m/^(\S+) \(([^()]+)\) (\S+)\; urgency=(\S+)$/ or die "$!, $_ ?";
45 print <<END or die $!;
57 if (m/^ -- ([^<>]+\<\S+\>) (\w[^<>]+\w)$/) {
58 print <<END or die $!;
63 } elsif (m/^ --\s*$/) {
68 print " .\n" x $blanks or die $!;
70 print " $_" or die $!;