Package: popularity-contest
Version: 1.53
Severity: important
Tags: patch


Coin,

I got this reported by cron:
/etc/cron.daily/popularity-contest:
Package `libc6-i686' is not installed.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.

In the "Read dpkg database of installed packages" part of /usr/sbin/popularity-contest, the call to dpkg-query report a list of packages like this:
  install ok installed libc6-i686
Unfortunately, the call to dpkg -L <pkg> in proc_pkgs() fails because indeed libc6-i686, which is libc6-i686:amd64 on this host, does not exist while libc6-i686:i386 does.

I guess being conservative is the safest choice on the dpkg's side and using an updated format to include the architecture is a very easy change for applications migrating to the multiarch world. The small attached patch seems to solve this issue.

Regards.

--
Marc Dequènes (Duck)
--- /usr/sbin/popularity-contest.orig	2012-02-15 20:21:29.593742437 +0100
+++ /usr/sbin/popularity-contest	2012-02-15 20:22:10.274234367 +0100
@@ -158,7 +158,7 @@
 }
 
 # Read dpkg database of installed packages
-open PACKAGES, "dpkg-query --show --showformat='\${status} \${package}\\n'|";
+open PACKAGES, "dpkg-query --show --showformat='\${status} \${package}:\${architecture}\\n'|";
 my @pkglist = ();
 while (<PACKAGES>)
 {

Attachment: pgpr6J0z3gpsN.pgp
Description: PGP Digital Signature

Reply via email to