Package: devscripts
Version: 2.10.48
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: origin-ubuntu ubuntu-patch karmic

Here's a patch which implements Launchpad bug-closure handling in a way
that works both with the current version of dpkg in Ubuntu (which adds a
find_launchpad_closes method to Dpkg::Changelog) and with dpkg 1.15.0 or
better (which adds a new Dpkg::Vendor::Ubuntu package). If neither is
available, it'll just silently ignore "LP:" entries in changelogs.

Thanks,

-- 
Colin Watson                                       [[email protected]]
Index: scripts/debcommit.pl
===================================================================
--- scripts/debcommit.pl	(revision 1862)
+++ scripts/debcommit.pl	(working copy)
@@ -433,13 +433,21 @@
     my $message=shift;
 
     my $debian_closes = Dpkg::Changelog::find_closes($message);
-# Not yet implemented in DPKG-DEV
-#    my $launchpad_closes = Dpkg::Changelog::find_launchpad_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);
+    }
 
     my @fixes_arg = ();
     map { push(@fixes_arg, ("--fixes", "deb:".$_)) } @$debian_closes;
-# Not yet implemented in DPKG-DEV
-#    map { push(@fixes_arg, ("--fixes", "lp:".$_)) } @$launchpad_closes;
+    map { push(@fixes_arg, ("--fixes", "lp:".$_)) } @$launchpad_closes;
     return @fixes_arg;
 }
 

Reply via email to