apt.Cache.__iter__ breaks when multiarch is enabled
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-apt (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Oneiric |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: python-apt
After enabling multiarch (adding a 'deb [arch=i386,amd64]' line to sources.list, setting 'APT::Architectures { "i386"; "amd64"; }' in apt.conf, setting 'foreign-
/etc/cron.
Traceback (most recent call last):
File "/usr/sbin/
indexer.
File "/usr/lib/
self.
File "/usr/lib/
for doc in documents:
File "/usr/lib/
for idx, pkg in enumerate(cache):
File "/usr/lib/
yield self[pkgname]
File "/usr/lib/
pkg = self._weakref[key] = Package(self, self._cache[key])
KeyError: 'lib32asound2'
This is failing because lib32asound2 is in cache._
>>> cache._
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'lib32asound2'
>>> cache._
<apt_pkg.Package object: name:'lib32asound2' section: 'libs' id:4011>
It looks as though perhaps apt.Cache needs to be aware of foreign-
Changed in python-apt (Ubuntu Oneiric): | |
status: | New → Fix Released |
We don't have multi-arch support in python-apt yet.