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