The following commit has been merged in the jessie branch:
commit 90b4fcd44e3c8e55e021d09dbac1c7904ef66211
Author: James McCoy <[email protected]>
Date:   Sun Nov 25 11:36:22 2012 -0500

    debcommit: Remove fallback code for old versions of dpkg (<= 1.15.5.2)
    
    Signed-off-by: James McCoy <[email protected]>

diff --git a/debian/changelog b/debian/changelog
index 1d0fbd5..5638869 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,9 @@ devscripts (2.12.6+exp1) UNRELEASED; urgency=low
   * licensecheck: Recognize MPL 2.0 licenses.  Thanks to Ryan Pavlik for the
     patch.  (Closes: #687664)
   * namecheck: Check Apache's projects page for names.  (Closes: #686862)
+  * debcommit: Drop checks for old dpkg versions and always use the necessary
+    Perl modules (Dpkg::Changelog::Parse, Dpkg::Vendor::Ubuntu,
+    Dpkg::Changelog::Entry::Debian).
 
   [ Dmitry Smirnov ]
   * licensecheck: Remove any regular comments pattern. (Closes: #526698)
diff --git a/scripts/debcommit.pl b/scripts/debcommit.pl
index e089dcd..bc98fb2 100755
--- a/scripts/debcommit.pl
+++ b/scripts/debcommit.pl
@@ -172,7 +172,6 @@ use warnings;
 use strict;
 use Getopt::Long qw(:config gnu_getopt);
 use Cwd;
-use Dpkg::Changelog;
 use File::Basename;
 use File::Temp;
 my $progname = basename($0);
@@ -351,48 +350,23 @@ if (! -e $changelog) {
 
 $message=getmessage() if ! defined $message and (not $release or 
$release_use_changelog);
 
-if ($release) {
-    eval {
-       require Dpkg::Changelog::Parse;
-    };
-    if (not $@) {
-       # dpkg >= 1.15.5.2
-       my $log = Dpkg::Changelog::Parse::changelog_parse(file => $changelog);
+if ($release || $changelog_info) {
+    require Dpkg::Changelog::Parse;
+    my $log = Dpkg::Changelog::Parse::changelog_parse(file => $changelog);
+    if ($release) {
        if ($log->{Distribution} =~ /UNRELEASED/) {
            die "debcommit: $changelog says it's UNRELEASED\nTry running dch 
--release first\n";
        }
        $version = $log->{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 -l\Q$changelog\E | grep '^Version:' | cut 
-f 2 -d ' '`;
+       $message="releasing version $version" if ! defined $message;
     }
-
-    $message="releasing version $version" if ! defined $message;
-}
-if ($changelog_info) {
-    eval {
-       require Dpkg::Changelog::Parse;
-    };
-    if (not $@) {
-       # dpkg >= 1.15.5.2
-       my $log = Dpkg::Changelog::Parse::changelog_parse(file => $changelog);
+    if ($changelog_info) {
        $maintainer = $log->{Maintainer};
        $date = $log->{Date};
     }
-    else {
-       $maintainer=`dpkg-parsechangelog -l\Q$changelog\E | grep '^Maintainer:' 
| cut -f 2- -d ' '`;
-       chomp $maintainer;
-       $date=`dpkg-parsechangelog -l\Q$changelog\E | grep '^Date:' | cut -f 2- 
-d ' '`;
-       chomp $date;
-    }
 }
+
 if ($edit) {
     my $modified = 0;
     ($message, $modified) = edit($message);
@@ -507,31 +481,14 @@ sub action {
 sub bzr_find_fixes {
     my $message=shift;
 
-    my $debian_closes = [];
-    eval {
-       require Dpkg::Changelog::Entry::Debian;
-    };
-    if (not $@) {
-       # dpkg >= 1.15.5.2
-       push(@$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;
-    };
-    if (not $@) {
-       # dpkg >= 1.15.0
-       $launchpad_closes = 
Dpkg::Vendor::Ubuntu::find_launchpad_closes($message);
-    } elsif (exists &Dpkg::Changelog::find_launchpad_closes) {
-       # Ubuntu dpkg << 1.15.0
-       $launchpad_closes = Dpkg::Changelog::find_launchpad_closes($message);
-    }
+    require Dpkg::Changelog::Entry::Debian;
+    require Dpkg::Vendor::Ubuntu;
+
+    my @debian_closes = Dpkg::Changelog::Entry::Debian::find_closes($message);
+    my $launchpad_closes = 
Dpkg::Vendor::Ubuntu::find_launchpad_closes($message);
 
     my @fixes_arg = ();
-    map { push(@fixes_arg, ("--fixes", "deb:".$_)) } @$debian_closes;
+    map { push(@fixes_arg, ("--fixes", "deb:".$_)) } @debian_closes;
     map { push(@fixes_arg, ("--fixes", "lp:".$_)) } @$launchpad_closes;
     return @fixes_arg;
 }

-- 
Git repository for devscripts

_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel

Reply via email to