1#!/usr/bin/perl
2
3use Date::Manip;
4
5my $version = shift(@ARGV);
6my $inmsg = 0;
7my $infiles = 0;
8my $stamp = '';
9my $name = '';
10my $msg = '';
11
12while (<>) {
13    chomp;
14    if (/^\s*$/) {
15        if ($inmsg) {
16            $inmsg = 0;
17	    next if ($msg eq '');
18            print 'opennx (' . $version . '-' . $rev . ') unstable; urgency=low' . "\n";
19            print $msg;
20            print ' -- ' . $name . '  ' . $stamp . "\n\n";
21            if ($msg =~ /Bumped up version/) {
22                my @vt = split(/\./, $version);
23                $vt[$#vt]--;
24                $version = join('.', @vt);
25            }
26            $msg = '';
27        }
28        next;
29    }
30    if (/^\s+\*\s\[r(\d+)\]\s(.*)$/) {
31        $rev = $1;
32        $files = $2;
33        if ($files =~ /:/) {
34            $inmsg = 1;
35        } else {
36            $infiles = 1;
37        }
38        $msg = '';
39        next;
40    }
41    if (/^(\d+-\d+-\d+\s\d+:\d+)\s+(\S+.*?)\s*$/) {
42        $stamp = UnixDate($1, "%a, %d %b %Y %H:%M:%S %z");
43        $name = $2;
44        next;
45    }
46    if ($infiles) {
47        if (/:/) {
48            $infiles = 0;
49            $inmsg = 1;
50        }
51        next;
52    }
53    if ($inmsg) {
54        my $line = $_;
55        $line =~ s/^\s+//;
56        $line =~ s/\s+$//;
57        $line =~ s/^[\-\*]/  */;
58        $line = "    ".$line unless ($line =~ /^\s\s\*/);
59        $msg .= $line . "\n";
60    }
61}
62