Author: jamessan
Date: 2009-11-20 00:34:21 +0000 (Fri, 20 Nov 2009)
New Revision: 2023
Modified:
trunk/debian/changelog
trunk/scripts/debcommit.pl
Log:
* debcommit:
+ Handle the split up of Dpkg::Changelog in Dpkg 1.15.5.2.
+ Use Dpkg::Changelog::Parse, if available, instead of shelling out to
dpkg-parsechangelog.
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2009-11-16 15:10:15 UTC (rev 2022)
+++ trunk/debian/changelog 2009-11-20 00:34:21 UTC (rev 2023)
@@ -17,6 +17,10 @@
an "Upload to ..." line. (Closes: #548171)
+ Consistently use “--nomainttrailer” in the manpage. (Closes: #544351)
* debuild: Recognize dpkg-source's -z/-Z options. (Closes: #553205)
+ * debcommit:
+ + Handle the split up of Dpkg::Changelog in Dpkg 1.15.5.2.
+ + Use Dpkg::Changelog::Parse, if available, instead of shelling out to
+ dpkg-parsechangelog.
[ Ryan Niebur ]
* add w3m to suggests for grep-excuses -w, check for it at runtime too
Modified: trunk/scripts/debcommit.pl
===================================================================
--- trunk/scripts/debcommit.pl 2009-11-16 15:10:15 UTC (rev 2022)
+++ trunk/scripts/debcommit.pl 2009-11-20 00:34:21 UTC (rev 2023)
@@ -334,16 +334,29 @@
$message=getmessage() if ! defined $message and (not $release or
$release_use_changelog);
if ($release) {
- open (C, "<$changelog" ) || die "debcommit: cannot read $changelog: $!";
- my $top=<C>;
- if ($top=~/UNRELEASED/) {
- die "debcommit: $changelog says it's UNRELEASED\nTry running dch
--release first\n";
+ eval {
+ require Dpkg::Changelog::Parse;
+ };
+ if (not $@) {
+ # dpkg >= 1.15.5.2
+ my $log = Dpkg::Changelog::Parse::changelog_parse(file => $changelog);
+ if ($log->{Distribution} =~ /UNRELEASED/) {
+ die "debcommit: $changelog says it's UNRELEASED\nTry running dch
--release first\n";
+ }
+ $version = $log->{Version};
}
- close C;
-
- $version=`dpkg-parsechangelog | grep '^Version:' | cut -f 2 -d ' '`;
- chomp $version;
+ else {
+ open (C, "<$changelog" ) || die "debcommit: cannot read $changelog: $!";
+ my $top=<C>;
+ if ($top=~/UNRELEASED/) {
+ die "debcommit: $changelog says it's UNRELEASED\nTry running dch
--release first\n";
+ }
+ close C;
+ $version=`dpkg-parsechangelog | grep '^Version:' | cut -f 2 -d ' '`;
+ chomp $version;
+ }
+
$message="releasing version $version" if ! defined $message;
}
if ($edit) {
@@ -437,7 +450,16 @@
sub bzr_find_fixes {
my $message=shift;
- my $debian_closes = Dpkg::Changelog::find_closes($message);
+ my $debian_closes;
+ eval {
+ require Dpkg::Changelog::Entry::Debian;
+ };
+ if (not $@) {
+ # dpkg >= 1.15.5.2
+ $debian_closes = Dpkg::Changelog::Entry::Debian::find_closes($message);
+ } else {
+ $debian_closes = Dpkg::Changelog::find_closes($message);
+ }
my $launchpad_closes = [];
eval {
require Dpkg::Vendor::Ubuntu;
--
To unsubscribe, send mail to [email protected].