summaryrefslogtreecommitdiff
path: root/apt
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-12-08 17:26:57 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2011-12-08 17:26:57 +0100
commit350bb4a03d6562ddba12fbb0a34610aac7706b3c (patch)
tree55a140c60171bb5c97b6695f41eb0438d23e4bbd /apt
parent5fef756d94f52495fa1703d2d27ba73e708c4442 (diff)
downloadpython-apt-350bb4a03d6562ddba12fbb0a34610aac7706b3c.tar.gz
handle architecture-specific conflicts correctly (LP: #829138)
Diffstat (limited to 'apt')
-rw-r--r--apt/debfile.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/apt/debfile.py b/apt/debfile.py
index c91ce349..17f1dbd9 100644
--- a/apt/debfile.py
+++ b/apt/debfile.py
@@ -310,6 +310,7 @@ class DebPackage(object):
size = float(len(self._cache))
steps = max(int(size/50), 1)
debver = self._sections["Version"]
+ debarch = self._sections["Architecture"]
# store what we provide so that we can later check against that
provides = [ x[0][0] for x in self.provides]
for (i, pkg) in enumerate(self._cache):
@@ -338,7 +339,7 @@ class DebPackage(object):
if "Conflicts" in ver.depends_list:
for conflicts_ver_list in ver.depends_list["Conflicts"]:
for c_or in conflicts_ver_list:
- if c_or.target_pkg.name == self.pkgname:
+ if c_or.target_pkg.name == self.pkgname and c_or.target_pkg.architecture == debarch:
if apt_pkg.check_dep(debver, c_or.comp_type, c_or.target_ver):
self._dbg(2, "would break (conflicts) %s" % pkg.name)
# TRANSLATORS: the first '%s' is the package that conflicts, the second the packagename that it conflicts with (so the name of the deb the user tries to install), the third is the relation (e.g. >=) and the last is the version for the relation