1#!/usr/bin/perl -w 2 3 # Adjust debian/changelog and build a new 4 # Debian package of a CVS archive. 5 6 # Written 17 November 1998 by Ben Gertzfield 7 # <che@debian.org> 8 9 # This work is released under the GNU 10 # General Public License, version 2 or 11 # later. 12 13use strict; 14use diagnostics; 15use File::Copy; 16 17my $maintainer = 'Ben Gertzfield <che@debian.org>'; 18 19my @date = localtime; 20 21my $datestr = sprintf("%d%.2d%.2d", $date[5] + 1900, $date[4] + 1, $date[3]); 22my $revision = '01'; 23 24open (CHANGELOG, 'debian/changelog') or die "Couldn't open debian/changelog: $!\n"; 25 26$_ = <CHANGELOG>; 27chomp; 28 29close CHANGELOG; 30 31my ($package, $last_date, $last_revision) = /^(.*?) \((.*?)\.(.*)?\)/; 32 33if ($last_date eq $datestr) { 34 $revision = sprintf("%.2d", $last_revision + 1); 35} 36 37my $new_version = "$datestr.$revision"; 38 39copy('debian/changelog', 'debian/changelog.old') or die "Couldn't copy debian/changelog to debian/changelog.old: $!\n"; 40 41open(NEWCHANGELOG, ">debian/changelog") or die "Couldn't open debian/changelog for writing: $!\n"; 42 43print NEWCHANGELOG "$package ($new_version) unstable; urgency=low\n\n * CVS snapshot build at " . scalar localtime() . "\n\n -- $maintainer " . `date -R` . "\n"; 44 45open(OLDCHANGELOG, "debian/changelog.old") or die "Couldn't open debian/changelog.old: $!\n"; 46 47while (<OLDCHANGELOG>) { 48 print NEWCHANGELOG; 49} 50 51close OLDCHANGELOG; 52close NEWCHANGELOG; 53 54unlink('debian/changelog.old') or die "Couldn't unlink debian/changelog.old: $!\n"; 55 56open(NEWVERSION, '>debian/version') or die "Couldn't open debian/version for writing: $!\n"; 57print NEWVERSION "$new_version\n"; 58close NEWVERSION; 59 60system('dpkg-buildpackage -b -rfakeroot -us -uc'); 61unlink 'debian/version' or die "Couldn't unlink debian/version: $!\n"; 62 63