Add support for finding cmake files.
This commit is contained in:
parent
de2c26664e
commit
e1b8a90747
3 changed files with 20 additions and 0 deletions
|
@ -56,6 +56,7 @@ from buildlog_consultant.common import (
|
||||||
GnomeCommonMissing,
|
GnomeCommonMissing,
|
||||||
MissingGnomeCommonDependency,
|
MissingGnomeCommonDependency,
|
||||||
UnknownCertificateAuthority,
|
UnknownCertificateAuthority,
|
||||||
|
CMakeFilesMissing,
|
||||||
MissingLibtool,
|
MissingLibtool,
|
||||||
MissingQt,
|
MissingQt,
|
||||||
MissingX11,
|
MissingX11,
|
||||||
|
@ -80,6 +81,7 @@ from .requirements import (
|
||||||
XmlEntityRequirement,
|
XmlEntityRequirement,
|
||||||
SprocketsFileRequirement,
|
SprocketsFileRequirement,
|
||||||
JavaClassRequirement,
|
JavaClassRequirement,
|
||||||
|
CMakefileRequirement,
|
||||||
HaskellPackageRequirement,
|
HaskellPackageRequirement,
|
||||||
MavenArtifactRequirement,
|
MavenArtifactRequirement,
|
||||||
GnomeCommonRequirement,
|
GnomeCommonRequirement,
|
||||||
|
@ -140,6 +142,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901
|
||||||
return SprocketsFileRequirement(problem.content_type, problem.name)
|
return SprocketsFileRequirement(problem.content_type, problem.name)
|
||||||
elif isinstance(problem, MissingJavaClass):
|
elif isinstance(problem, MissingJavaClass):
|
||||||
return JavaClassRequirement(problem.classname)
|
return JavaClassRequirement(problem.classname)
|
||||||
|
elif isinstance(problem, CMakeFilesMissing):
|
||||||
|
return [CMakefileRequirement(filename) for filename in problem.filenames]
|
||||||
elif isinstance(problem, MissingHaskellDependencies):
|
elif isinstance(problem, MissingHaskellDependencies):
|
||||||
return [HaskellPackageRequirement.from_string(dep) for dep in problem.deps]
|
return [HaskellPackageRequirement.from_string(dep) for dep in problem.deps]
|
||||||
elif isinstance(problem, MissingMavenArtifacts):
|
elif isinstance(problem, MissingMavenArtifacts):
|
||||||
|
|
|
@ -453,6 +453,15 @@ class JavaClassRequirement(Requirement):
|
||||||
self.classname = classname
|
self.classname = classname
|
||||||
|
|
||||||
|
|
||||||
|
class CMakefileRequirement(Requirement):
|
||||||
|
|
||||||
|
filename: str
|
||||||
|
|
||||||
|
def __init__(self, filename: str):
|
||||||
|
super(CMakefileRequirement, self).__init__("cmake-file")
|
||||||
|
self.filename = filename
|
||||||
|
|
||||||
|
|
||||||
class HaskellPackageRequirement(Requirement):
|
class HaskellPackageRequirement(Requirement):
|
||||||
|
|
||||||
package: str
|
package: str
|
||||||
|
|
|
@ -51,6 +51,7 @@ from ..requirements import (
|
||||||
XmlEntityRequirement,
|
XmlEntityRequirement,
|
||||||
SprocketsFileRequirement,
|
SprocketsFileRequirement,
|
||||||
JavaClassRequirement,
|
JavaClassRequirement,
|
||||||
|
CMakefileRequirement,
|
||||||
HaskellPackageRequirement,
|
HaskellPackageRequirement,
|
||||||
MavenArtifactRequirement,
|
MavenArtifactRequirement,
|
||||||
GnomeCommonRequirement,
|
GnomeCommonRequirement,
|
||||||
|
@ -478,6 +479,11 @@ def resolve_java_class_req(apt_mgr, req):
|
||||||
return find_reqs_simple(apt_mgr, [classpath])
|
return find_reqs_simple(apt_mgr, [classpath])
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_cmake_file_req(apt_mgr, req):
|
||||||
|
paths = ['/usr/lib/.*/cmake/.*/%s' % re.escape(req.filename)]
|
||||||
|
return find_reqs_simple(apt_mgr, paths, regex=True)
|
||||||
|
|
||||||
|
|
||||||
def resolve_haskell_package_req(apt_mgr, req):
|
def resolve_haskell_package_req(apt_mgr, req):
|
||||||
path = "/var/lib/ghc/package\\.conf\\.d/%s-.*\\.conf" % re.escape(req.deps[0][0])
|
path = "/var/lib/ghc/package\\.conf\\.d/%s-.*\\.conf" % re.escape(req.deps[0][0])
|
||||||
return find_reqs_simple(apt_mgr, [path], regex=True)
|
return find_reqs_simple(apt_mgr, [path], regex=True)
|
||||||
|
@ -645,6 +651,7 @@ APT_REQUIREMENT_RESOLVERS = [
|
||||||
(XmlEntityRequirement, resolve_xml_entity_req),
|
(XmlEntityRequirement, resolve_xml_entity_req),
|
||||||
(SprocketsFileRequirement, resolve_sprockets_file_req),
|
(SprocketsFileRequirement, resolve_sprockets_file_req),
|
||||||
(JavaClassRequirement, resolve_java_class_req),
|
(JavaClassRequirement, resolve_java_class_req),
|
||||||
|
(CMakefileRequirement, resolve_cmake_file_req),
|
||||||
(HaskellPackageRequirement, resolve_haskell_package_req),
|
(HaskellPackageRequirement, resolve_haskell_package_req),
|
||||||
(MavenArtifactRequirement, resolve_maven_artifact_req),
|
(MavenArtifactRequirement, resolve_maven_artifact_req),
|
||||||
(GnomeCommonRequirement, resolve_gnome_common_req),
|
(GnomeCommonRequirement, resolve_gnome_common_req),
|
||||||
|
|
Loading…
Add table
Reference in a new issue