diff --git a/britney.py b/britney.py index 455d4a6..ecb605b 100755 --- a/britney.py +++ b/britney.py @@ -297,6 +297,7 @@ class Britney(object): # initialize the apt_pkg back-end apt_pkg.init() + apt_pkg.init_config() # parse the command line arguments self._policy_engine = PolicyEngine() diff --git a/britney2/policies/policy.py b/britney2/policies/policy.py index 932fbe2..aa205ef 100644 --- a/britney2/policies/policy.py +++ b/britney2/policies/policy.py @@ -1086,7 +1086,14 @@ class BuildDependsPolicy(BasePolicy): # for every dependency block (formed as conjunction of disjunction) for block_txt in deps.split(','): - block = parse_src_depends(block_txt, False, arch) + try: + block = parse_src_depends(block_txt, False, arch) + except TypeError: + # old python3-apt didn't have the third argument + native_arch = apt_pkg.config["APT::Architecture"] + apt_pkg.config["APT::Architecture"] = arch + block = parse_src_depends(block_txt, False) + apt_pkg.config["APT::Architecture"] = native_arch # Unlike regular dependencies, some clauses of the Build-Depends(-Arch|-Indep) can be # filtered out by (e.g.) architecture restrictions. We need to cope with this while # keeping block_txt and block aligned.