[dpkg] 174/200: dpkg-genbuildinfo: Handle unmatched virtual arch-qualified packages

Ximin Luo infinity0 at debian.org
Wed Apr 5 15:17:37 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository dpkg.

commit 896a740cfe9f774bf266b1f94027a91a1072a12e
Author: Guillem Jover <guillem at debian.org>
Date:   Mon Feb 6 03:12:37 2017 +0100

    dpkg-genbuildinfo: Handle unmatched virtual arch-qualified packages
    
    The dependency traversal code is currently broken, and this mostly
    papers over the issue. Properly fixing this involves changes all over
    the place, which would be too intrusive for this series.
    
    We should handle this gracefully, instead of letting perl die.
    
    Closes: #849944
---
 debian/changelog             | 2 ++
 scripts/dpkg-genbuildinfo.pl | 1 +
 2 files changed, 3 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index bef1f1d..087e380 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,7 @@
 dpkg (1.18.23) UNRELEASED; urgency=medium
 
+  * Handle unmatched arch-qualified virtual packages in dpkg-genbuildinfo,
+    instead of letting perl die. Closes: #849944
   * Documentation:
     - Clarify the requirements for deb-conffile(5) pathnames. Closes: #854417
       Proposed by Dieter Adriaenssens <dieter.adriaenssens at gmail.com>.
diff --git a/scripts/dpkg-genbuildinfo.pl b/scripts/dpkg-genbuildinfo.pl
index 03cf75c..699cc3c 100755
--- a/scripts/dpkg-genbuildinfo.pl
+++ b/scripts/dpkg-genbuildinfo.pl
@@ -213,6 +213,7 @@ sub collect_installed_builddeps {
                 # installed package of the right architecture.
                 deps_iterate($new_deps, sub {
                     my $dep = shift;
+                    return unless defined $facts->{pkg}->{$dep->{package}};
                     $dep->{archqual} //= $architecture
                         if any { $_[0]->{architecture} eq $architecture }, @{$facts->{pkg}->{$dep->{package}}};
                     1;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dpkg.git



More information about the Reproducible-commits mailing list