浏览代码

dpkg-genchanges: Skip automatic debugging symbol packages

This is quite ugly as we are hardcoding a package name pattern here,
which as of now is distribution-specific. For the current automatic
debug package implementation, these contain an Auto-Built-Package
field, only present in the generated DEBIAN/control file, because
they do not exist in the debian/control file. We should eventually
detect that field and store it in the debian/files list file, and
then ignore the warning from dpkg-genchanges, but for now we'll just
quiesce the warning as it avoids unnecessarily confusing people
reading the output.
Guillem Jover 10 年之前
父节点
当前提交
3426cb9ba2
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 2 0
      debian/changelog
  2. 4 0
      scripts/dpkg-genchanges.pl

+ 2 - 0
debian/changelog

@@ -42,6 +42,8 @@ dpkg (1.18.8) UNRELEASED; urgency=medium
   * Use architecture «all» as part of the .changes filename when building
     architecture independent binaries and no architecture dependent binaries.
     Closes: #826161
+  * Do not emit warnings from dpkg-genchanges for automatic debug symbol
+    packages that are not found in debian/control.
   * Perl modules:
     - Use warnings::warnif() instead of carp() for deprecated warnings.
     - Add new format_range() method and deprecate dpkg() and rfc822() methods

+ 4 - 0
scripts/dpkg-genchanges.pl

@@ -401,6 +401,10 @@ if ($changesdescription) {
 
 for my $p (keys %p2f) {
     if (not defined $control->get_pkg_by_name($p)) {
+        # XXX: Skip automatic debugging symbol packages. We should not be
+        # hardcoding packages names here, as this is distribution-specific.
+        # Instead we should use the Auto-Built-Package field.
+        next if $p =~ m/-dbgsym$/;
         warning(g_('package %s listed in files list but not in control info'), $p);
         next;
     }