#!/usr/bin/perl -w # Adjust debian/changelog and build a new # Debian package of a CVS archive. # Written 17 November 1998 by Ben Gertzfield # <che@debian.org> # This work is released under the GNU # General Public License, version 2 or # later. use strict; use diagnostics; use File::Copy; my $maintainer = 'Ben Gertzfield <che@debian.org>'; my @date = localtime; my $datestr = sprintf("%d%.2d%.2d", $date[5] + 1900, $date[4] + 1, $date[3]); my $revision = '01'; open (CHANGELOG, 'debian/changelog') or die "Couldn't open debian/changelog: $!\n"; $_ = <CHANGELOG>; chomp; close CHANGELOG; my ($package, $last_date, $last_revision) = /^(.*?) \((.*?)\.(.*)?\)/; if ($last_date eq $datestr) { $revision = sprintf("%.2d", $last_revision + 1); } my $new_version = "$datestr.$revision"; copy('debian/changelog', 'debian/changelog.old') or die "Couldn't copy debian/changelog to debian/changelog.old: $!\n"; open(NEWCHANGELOG, ">debian/changelog") or die "Couldn't open debian/changelog for writing: $!\n"; print NEWCHANGELOG "$package ($new_version) unstable; urgency=low\n\n * CVS snapshot build at " . scalar localtime() . "\n\n -- $maintainer " . `date -R` . "\n"; open(OLDCHANGELOG, "debian/changelog.old") or die "Couldn't open debian/changelog.old: $!\n"; while (<OLDCHANGELOG>) { print NEWCHANGELOG; } close OLDCHANGELOG; close NEWCHANGELOG; unlink('debian/changelog.old') or die "Couldn't unlink debian/changelog.old: $!\n"; open(NEWVERSION, '>debian/version') or die "Couldn't open debian/version for writing: $!\n"; print NEWVERSION "$new_version\n"; close NEWVERSION; system('dpkg-buildpackage -b -rfakeroot -us -uc'); unlink 'debian/version' or die "Couldn't unlink debian/version: $!\n";