Crate support.

This commit is contained in:
Jelmer Vernooij 2021-04-03 15:36:31 +01:00
parent 8310d973ad
commit c69823be6d
2 changed files with 10 additions and 2 deletions

View file

@ -63,7 +63,9 @@ from buildlog_consultant.common import (
MissingX11, MissingX11,
MissingPerlPredeclared, MissingPerlPredeclared,
MissingLatexFile, MissingLatexFile,
MissingCargoCrate,
) )
from buildlog_consultant.apt import UnsatisfiedDependencies
from .fix_build import BuildFixer from .fix_build import BuildFixer
from .requirements import ( from .requirements import (
@ -105,6 +107,7 @@ from .requirements import (
IntrospectionTypelibRequirement, IntrospectionTypelibRequirement,
PerlPreDeclaredRequirement, PerlPreDeclaredRequirement,
LatexPackageRequirement, LatexPackageRequirement,
CargoCrateRequirement,
) )
from .resolver import UnsatisfiedRequirements from .resolver import UnsatisfiedRequirements
@ -183,6 +186,9 @@ def problem_to_upstream_requirement(problem): # noqa: C901
return CertificateAuthorityRequirement(problem.url) return CertificateAuthorityRequirement(problem.url)
elif isinstance(problem, MissingPerlPredeclared): elif isinstance(problem, MissingPerlPredeclared):
return PerlPreDeclaredRequirement(problem.name) return PerlPreDeclaredRequirement(problem.name)
elif isinstance(problem, MissingCargoCrate):
# TODO(jelmer): handle problem.requirements
return CargoCrateRequirement(problem.name)
elif isinstance(problem, MissingSetupPyCommand): elif isinstance(problem, MissingSetupPyCommand):
if problem.command == "test": if problem.command == "test":
return PythonPackageRequirement("setuptools") return PythonPackageRequirement("setuptools")
@ -221,6 +227,9 @@ def problem_to_upstream_requirement(problem): # noqa: C901
python_version=problem.python_version, python_version=problem.python_version,
minimum_version=problem.minimum_version, minimum_version=problem.minimum_version,
) )
elif isinstance(problem, UnsatisfiedDependencies):
from .resolver.apt import AptRequirement
return AptRequirement(problem.relations)
else: else:
return None return None

View file

@ -214,8 +214,7 @@ def build_once(
source_date_epoch=None, source_date_epoch=None,
extra_repositories=None extra_repositories=None
): ):
pkg, version = get_latest_changelog_version(local_tree, subpath) build_log_path = os.path.join(output_directory, "build.log")
build_log_path = os.path.join(output_directory, pkg + ".build.log")
try: try:
with open(build_log_path, "w") as f: with open(build_log_path, "w") as f:
build( build(