Files
ubports_kernel_google_msm/debian/scripts/misc/insert-ubuntu-changes
2014-01-09 07:43:45 -07:00

59 lines
1.0 KiB
Perl
Executable File

#!/usr/bin/perl
if ($#ARGV != 2) {
die "Usage: $0 <changelog> <stop at> <start at>\n";
}
my ($changelog, $end, $start) = @ARGV;
$end =~ s/.*\.//;
$start =~ s/.*\.//;
my @changes = ();
my $output = 0;
open(CHG, "<debian.master/changelog") ||
open(CHG, "<debian/changelog") ||
die "$0: debian/changelog: open failed - $!\n";
while (<CHG>) {
if (/^\S+\s+\((.*\.(\d+))\)/) {
if ($2 <= $end) {
last;
}
if ($2 == $start) {
$output = 1;
}
if ($output) {
push(@changes, "\n [ Ubuntu: $1 ]\n\n");
next;
}
}
next if ($output == 0);
next if (/^\s*$/);
next if (/^\s--/);
next if (/^\s\s[^\*\s]/);
push(@changes, $_);
}
close(CHG);
open(CHANGELOG, "< $changelog") or die "Cannot open changelog";
open(NEW, "> $changelog.new") or die "Cannot open new changelog";
$printed = 3;
while (<CHANGELOG>) {
if (/^ CHANGELOG: /) {
$printed--;
print NEW;
if ($printed == 0) {
print NEW @changes;
}
next;
}
print NEW;
}
close(NEW);
close(CHANGELOG);
rename("$changelog.new", "$changelog");