More refactoring.
This commit is contained in:
parent
c184e01aef
commit
be24ed6b4f
4 changed files with 29 additions and 1 deletions
|
@ -136,6 +136,8 @@ from ..requirements import (
|
|||
PerlModuleRequirement,
|
||||
PerlFileRequirement,
|
||||
AutoconfMacroRequirement,
|
||||
PythonModuleRequirement,
|
||||
PythonPackageRequirement,
|
||||
)
|
||||
from .build import attempt_build, DEFAULT_BUILDER
|
||||
|
||||
|
@ -509,6 +511,16 @@ def problem_to_upstream_requirement(problem, context):
|
|||
return PerlFileRequirement(filename=problem.filename)
|
||||
elif isinstance(problem, MissingAutoconfMacro):
|
||||
return AutoconfMacroRequirement(problem.macro)
|
||||
elif isinstance(problem, MissingPythonModule):
|
||||
return PythonModuleRequirement(
|
||||
problem.module,
|
||||
python_version=problem.python_version,
|
||||
minimum_version=problem.minimum_version)
|
||||
elif isinstance(problem, MissingPythonDistribution):
|
||||
return PythonPackageRequirement(
|
||||
problem.module,
|
||||
python_version=problem.python_version,
|
||||
minimum_version=problem.minimum_version)
|
||||
else:
|
||||
return None
|
||||
|
||||
|
|
|
@ -71,6 +71,7 @@ class DependencyContext(object):
|
|||
):
|
||||
self.tree = tree
|
||||
self.apt = apt
|
||||
from .resolver.apt import AptResolver
|
||||
self.resolver = AptResolver(apt)
|
||||
self.subpath = subpath
|
||||
self.committer = committer
|
||||
|
|
|
@ -26,9 +26,11 @@ class PythonPackageRequirement(UpstreamRequirement):
|
|||
|
||||
package: str
|
||||
|
||||
def __init__(self, package):
|
||||
def __init__(self, package, python_version=None, minimum_version=None):
|
||||
super(PythonPackageRequirement, self).__init__('python-package')
|
||||
self.package = package
|
||||
self.python_version = python_version
|
||||
self.minimum_version = minimum_version
|
||||
|
||||
|
||||
class BinaryRequirement(UpstreamRequirement):
|
||||
|
@ -269,3 +271,15 @@ class AutoconfMacroRequirement(UpstreamRequirement):
|
|||
def __init__(self, macro: str):
|
||||
super(AutoconfMacroRequirement, self).__init__('autoconf-macro')
|
||||
self.macro = macro
|
||||
|
||||
|
||||
class PythonModuleRequirement(UpstreamRequirement):
|
||||
|
||||
module: str
|
||||
python_version: Optional[str]
|
||||
minimum_version: Optional[str]
|
||||
|
||||
def __init__(self, module, python_version=None, minimum_version=None):
|
||||
super(PythonModuleRequirement, self).__init__('python-module')
|
||||
self.python_version = python_version
|
||||
self.minimum_version = minimum_version
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
import logging
|
||||
import os
|
||||
import posixpath
|
||||
|
||||
from ..debian.apt import AptManager
|
||||
|
|
Loading…
Add table
Reference in a new issue