Handle boost component requirement.
This commit is contained in:
parent
ed94887536
commit
3cc91b8cb0
3 changed files with 21 additions and 0 deletions
|
@ -48,6 +48,7 @@ from buildlog_consultant.common import (
|
||||||
MissingRubyFile,
|
MissingRubyFile,
|
||||||
MissingAutoconfMacro,
|
MissingAutoconfMacro,
|
||||||
MissingValaPackage,
|
MissingValaPackage,
|
||||||
|
MissingBoostComponents,
|
||||||
MissingXfceDependency,
|
MissingXfceDependency,
|
||||||
MissingHaskellDependencies,
|
MissingHaskellDependencies,
|
||||||
MissingVagueDependency,
|
MissingVagueDependency,
|
||||||
|
@ -90,6 +91,7 @@ from .requirements import (
|
||||||
CMakefileRequirement,
|
CMakefileRequirement,
|
||||||
HaskellPackageRequirement,
|
HaskellPackageRequirement,
|
||||||
MavenArtifactRequirement,
|
MavenArtifactRequirement,
|
||||||
|
BoostComponentRequirement,
|
||||||
GnomeCommonRequirement,
|
GnomeCommonRequirement,
|
||||||
JDKFileRequirement,
|
JDKFileRequirement,
|
||||||
JDKRequirement,
|
JDKRequirement,
|
||||||
|
@ -133,6 +135,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901
|
||||||
return ValaPackageRequirement(problem.package)
|
return ValaPackageRequirement(problem.package)
|
||||||
elif isinstance(problem, MissingGoPackage):
|
elif isinstance(problem, MissingGoPackage):
|
||||||
return GoPackageRequirement(problem.package)
|
return GoPackageRequirement(problem.package)
|
||||||
|
elif isinstance(problem, MissingBoostComponents):
|
||||||
|
return [BoostComponentRequirement(name) for name in problem.components]
|
||||||
elif isinstance(problem, DhAddonLoadFailure):
|
elif isinstance(problem, DhAddonLoadFailure):
|
||||||
return DhAddonRequirement(problem.path)
|
return DhAddonRequirement(problem.path)
|
||||||
elif isinstance(problem, MissingPhpClass):
|
elif isinstance(problem, MissingPhpClass):
|
||||||
|
|
|
@ -690,3 +690,12 @@ class PythonModuleRequirement(Requirement):
|
||||||
return "%s(%r, python_version=%r, minimum_version=%r)" % (
|
return "%s(%r, python_version=%r, minimum_version=%r)" % (
|
||||||
type(self).__name__, self.module, self.python_version,
|
type(self).__name__, self.module, self.python_version,
|
||||||
self.minimum_version)
|
self.minimum_version)
|
||||||
|
|
||||||
|
|
||||||
|
class BoostComponentRequirement(Requirement):
|
||||||
|
|
||||||
|
name: str
|
||||||
|
|
||||||
|
def __init__(self, name):
|
||||||
|
super(BoostComponentRequirement, self).__init__("boost-component")
|
||||||
|
self.name = name
|
||||||
|
|
|
@ -47,6 +47,7 @@ from ..requirements import (
|
||||||
NodeModuleRequirement,
|
NodeModuleRequirement,
|
||||||
NodePackageRequirement,
|
NodePackageRequirement,
|
||||||
LibraryRequirement,
|
LibraryRequirement,
|
||||||
|
BoostComponentRequirement,
|
||||||
StaticLibraryRequirement,
|
StaticLibraryRequirement,
|
||||||
RubyFileRequirement,
|
RubyFileRequirement,
|
||||||
XmlEntityRequirement,
|
XmlEntityRequirement,
|
||||||
|
@ -703,6 +704,12 @@ def resolve_apt_req(apt_mgr, req):
|
||||||
return [req]
|
return [req]
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_boost_component_req(apt_mgr, req):
|
||||||
|
return find_reqs_simple(
|
||||||
|
apt_mgr, ["/usr/lib/.*/libboost_%s" % re.escape(req.name)],
|
||||||
|
regex=True)
|
||||||
|
|
||||||
|
|
||||||
APT_REQUIREMENT_RESOLVERS = [
|
APT_REQUIREMENT_RESOLVERS = [
|
||||||
(AptRequirement, resolve_apt_req),
|
(AptRequirement, resolve_apt_req),
|
||||||
(BinaryRequirement, resolve_binary_req),
|
(BinaryRequirement, resolve_binary_req),
|
||||||
|
@ -746,6 +753,7 @@ APT_REQUIREMENT_RESOLVERS = [
|
||||||
(CertificateAuthorityRequirement, resolve_ca_req),
|
(CertificateAuthorityRequirement, resolve_ca_req),
|
||||||
(CargoCrateRequirement, resolve_cargo_crate_req),
|
(CargoCrateRequirement, resolve_cargo_crate_req),
|
||||||
(IntrospectionTypelibRequirement, resolve_introspection_typelib_req),
|
(IntrospectionTypelibRequirement, resolve_introspection_typelib_req),
|
||||||
|
(BoostComponentRequirement, resolve_boost_component_req),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue