From 350bb4a03d6562ddba12fbb0a34610aac7706b3c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 8 Dec 2011 17:26:57 +0100 Subject: handle architecture-specific conflicts correctly (LP: #829138) --- apt/debfile.py | 3 ++- debian/changelog | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 diff --git a/debian/changelog b/debian/changelog index 4a90e907..d5b68082 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +python-apt (0.8.3) UNRELEASED; urgency=low + + [ Alexey Feldgendler ] + * handle architecture-specific conflicts correctly (LP: #829138) + + -- Michael Vogt Thu, 08 Dec 2011 17:26:37 +0100 + python-apt (0.8.2) unstable; urgency=low [ Michael Vogt ] -- cgit v1.2.3