diff options
| author | Julian Andres Klode <jak@debian.org> | 2013-10-21 10:49:29 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2013-10-21 10:49:29 +0200 |
| commit | c7fd83fdfca918a7cf0b416d341bf7687a11792f (patch) | |
| tree | df9771523127783ca15e01d209c3897936bf05cd /apt | |
| parent | 01995674f11c2ce21d4daf1b82160fc60215abc4 (diff) | |
| download | python-apt-c7fd83fdfca918a7cf0b416d341bf7687a11792f.tar.gz | |
apt/debfile.py: Pass strip_multi_arch=False to parse_depends.
Patch by Michael, tests derived from the ones provided by the
reporter.
I included the test debs without the source package, as for our
use case, all needed "source code" is included in the package
itself anyway.
Reported-By: Francois Gouget <fgouget@free.fr>
Closes: #717859
Closes: #717861
Diffstat (limited to 'apt')
| -rw-r--r-- | apt/debfile.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/apt/debfile.py b/apt/debfile.py index adf9b348..7f9cf9fc 100644 --- a/apt/debfile.py +++ b/apt/debfile.py @@ -102,6 +102,8 @@ class DebPackage(object): def _maybe_append_multiarch_suffix(self, pkgname, in_conflict_checking=False): # trivial cases + if ":" in pkgname: + return pkgname if not self._multiarch: return pkgname elif self._cache.is_virtual_package(pkgname): @@ -276,7 +278,7 @@ class DebPackage(object): """List of package names conflicting with this package.""" key = "Conflicts" try: - return apt_pkg.parse_depends(self._sections[key]) + return apt_pkg.parse_depends(self._sections[key], False) except KeyError: return [] @@ -287,7 +289,7 @@ class DebPackage(object): # find depends for key in "Depends", "Pre-Depends": try: - depends.extend(apt_pkg.parse_depends(self._sections[key])) + depends.extend(apt_pkg.parse_depends(self._sections[key], False)) except KeyError: pass return depends @@ -297,7 +299,7 @@ class DebPackage(object): """List of virtual packages which are provided by this package.""" key = "Provides" try: - return apt_pkg.parse_depends(self._sections[key]) + return apt_pkg.parse_depends(self._sections[key], False) except KeyError: return [] @@ -306,7 +308,7 @@ class DebPackage(object): """List of packages which are replaced by this package.""" key = "Replaces" try: - return apt_pkg.parse_depends(self._sections[key]) + return apt_pkg.parse_depends(self._sections[key], False) except KeyError: return [] @@ -499,7 +501,7 @@ class DebPackage(object): def satisfy_depends_str(self, dependsstr): """Satisfy the dependencies in the given string.""" - return self._satisfy_depends(apt_pkg.parse_depends(dependsstr)) + return self._satisfy_depends(apt_pkg.parse_depends(dependsstr, False)) def _satisfy_depends(self, depends): """Satisfy the dependencies.""" @@ -744,7 +746,7 @@ def _test(): s = DscSrcPackage(cache=cache) d = "libc6 (>= 2.3.2), libaio (>= 0.3.96) | libaio1 (>= 0.3.96)" - print s._satisfy_depends(apt_pkg.parse_depends(d)) + print s._satisfy_depends(apt_pkg.parse_depends(d, False)) if __name__ == "__main__": _test() |
