On 02/01/14 08:10, Guillem Jover wrote:
> The current dependency on dpkg-dev is inappropriate, as the underlaying
> dpkg-architecture usage is not correct. If you just need the host
> architecture you can use «dpkg --print-architecture». In this case
> that's not what you need, you need the specific package architecture,
> as the system might be configured as multi-arch. So you'd use something
> like the following «dpkg-deb -f foo.deb Architecture».

Hi Guillem, Sandro,

I am about to upload (via my sponsor) an NMU of apt-listchanges fixing
the bug to DELAYED-7. I've attached the diff of my changes.

Essentially, the patch uses the package's Architecture field to find the
binNMU changelog file rather than using dpkg-architecture, and removes
the dependency on dpkg-dev as a result.

Please let me know if you would rather I withdrew the upload.

Cheers,
Chris

-- 
Chris Boot
deb...@bootc.net
GPG: 8467 53CB 1921 3142 C56D  C918 F5C8 3C05 D9CE EEEE
diff --git a/apt-listchanges/DebianFiles.py b/apt-listchanges/DebianFiles.py
index 9124927..0efc41e 100644
--- a/apt-listchanges/DebianFiles.py
+++ b/apt-listchanges/DebianFiles.py
@@ -134,17 +134,16 @@ class Package:
         self.binary  = pkgdata.Package
         self.source  = pkgdata.source()
         self.Version = pkgdata.version()
+        self.arch = pkgdata.Architecture
 
     def extract_changes(self, which, since_version=None, reverse=None):
         '''Extract changelog entries, news or both from the package.
         If since_version is specified, only return entries later than the specified version.
         returns a sequence of Changes objects.'''
 
-        arch = subprocess.check_output(['dpkg-architecture', '-qDEB_HOST_ARCH']).rstrip()
-
         news_filenames = self._changelog_variations('NEWS.Debian')
         changelog_filenames = self._changelog_variations('changelog.Debian')
-        changelog_filenames_binnmu = self._changelog_variations('changelog.Debian.' + arch)
+        changelog_filenames_binnmu = self._changelog_variations('changelog.Debian.' + self.arch)
         changelog_filenames_native = self._changelog_variations('changelog')
 
         filenames = []
diff --git a/debian/changelog b/debian/changelog
index f82e618..42dd4c3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+apt-listchanges (2.85.13+nmu1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Use the package's Architecture field when looking for binNMU changelogs.
+    This removes the use of dpkg-architecture and thus the dependency on
+    dpkg-dev. Closes: #733921
+
+ -- Chris Boot <deb...@bootc.net>  Sat, 22 Mar 2014 13:55:35 +0000
+
 apt-listchanges (2.85.13) unstable; urgency=low
 
   * Add missing dep on dpkg-dev, required to run dpkg-architecture; thanks to
diff --git a/debian/control b/debian/control
index ac7dd1b..9b787d9 100644
--- a/debian/control
+++ b/debian/control
@@ -13,7 +13,7 @@ Build-Depends-Indep: docbook-to-man, gettext, po-debconf, libexpat1-dev,
 Package: apt-listchanges
 Architecture: all
 Depends: ${python:Depends}, apt (>= 0.5.3), python-apt (>= 0.7.93),
- ucf (>= 0.28), debianutils (>= 2.0.2), dpkg-dev, ${misc:Depends}
+ ucf (>= 0.28), debianutils (>= 2.0.2), ${misc:Depends}
 Suggests: x-terminal-emulator, www-browser, python-glade2, python-gtk2,
  default-mta | mail-transport-agent
 Description: package change history notification tool

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to