Install ca-certificates if they are missing.
This commit is contained in:
parent
816c14b9d8
commit
af3caadad2
3 changed files with 17 additions and 0 deletions
|
@ -52,6 +52,7 @@ from buildlog_consultant.common import (
|
||||||
MissingMavenArtifacts,
|
MissingMavenArtifacts,
|
||||||
GnomeCommonMissing,
|
GnomeCommonMissing,
|
||||||
MissingGnomeCommonDependency,
|
MissingGnomeCommonDependency,
|
||||||
|
UnknownCertificateAuthority,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .fix_build import BuildFixer
|
from .fix_build import BuildFixer
|
||||||
|
@ -84,6 +85,7 @@ from .requirements import (
|
||||||
AutoconfMacroRequirement,
|
AutoconfMacroRequirement,
|
||||||
PythonModuleRequirement,
|
PythonModuleRequirement,
|
||||||
PythonPackageRequirement,
|
PythonPackageRequirement,
|
||||||
|
CertificateAuthorityRequirement,
|
||||||
)
|
)
|
||||||
from .resolver import UnsatisfiedRequirements
|
from .resolver import UnsatisfiedRequirements
|
||||||
|
|
||||||
|
@ -137,6 +139,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901
|
||||||
return JDKRequirement()
|
return JDKRequirement()
|
||||||
elif isinstance(problem, MissingJRE):
|
elif isinstance(problem, MissingJRE):
|
||||||
return JRERequirement()
|
return JRERequirement()
|
||||||
|
elif isinstance(problem, UnknownCertificateAuthority):
|
||||||
|
return CertificateAuthorityRequirement(problem.url)
|
||||||
elif isinstance(problem, MissingGnomeCommonDependency):
|
elif isinstance(problem, MissingGnomeCommonDependency):
|
||||||
if problem.package == "glib-gettext":
|
if problem.package == "glib-gettext":
|
||||||
return BinaryRequirement("glib-gettextize")
|
return BinaryRequirement("glib-gettextize")
|
||||||
|
|
|
@ -416,6 +416,13 @@ class JRERequirement(Requirement):
|
||||||
super(JRERequirement, self).__init__("jre")
|
super(JRERequirement, self).__init__("jre")
|
||||||
|
|
||||||
|
|
||||||
|
class CertificateAuthorityRequirement(Requirement):
|
||||||
|
|
||||||
|
def __init__(self, url):
|
||||||
|
super(CertificateAuthorityRequirement, self).__init__("ca-cert")
|
||||||
|
self.url = url
|
||||||
|
|
||||||
|
|
||||||
class PerlFileRequirement(Requirement):
|
class PerlFileRequirement(Requirement):
|
||||||
|
|
||||||
filename: str
|
filename: str
|
||||||
|
|
|
@ -58,6 +58,7 @@ from ..requirements import (
|
||||||
AutoconfMacroRequirement,
|
AutoconfMacroRequirement,
|
||||||
PythonModuleRequirement,
|
PythonModuleRequirement,
|
||||||
PythonPackageRequirement,
|
PythonPackageRequirement,
|
||||||
|
CertificateAuthorityRequirement,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -557,6 +558,10 @@ def resolve_cargo_crate_req(apt_mgr, req):
|
||||||
return AptRequirement.simple(pkg_name)
|
return AptRequirement.simple(pkg_name)
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_ca_req(apt_mgr, req):
|
||||||
|
return AptRequirement.simple('ca-certificates')
|
||||||
|
|
||||||
|
|
||||||
APT_REQUIREMENT_RESOLVERS = [
|
APT_REQUIREMENT_RESOLVERS = [
|
||||||
(BinaryRequirement, resolve_binary_req),
|
(BinaryRequirement, resolve_binary_req),
|
||||||
(PkgConfigRequirement, resolve_pkg_config_req),
|
(PkgConfigRequirement, resolve_pkg_config_req),
|
||||||
|
@ -586,6 +591,7 @@ APT_REQUIREMENT_RESOLVERS = [
|
||||||
(AutoconfMacroRequirement, resolve_autoconf_macro_req),
|
(AutoconfMacroRequirement, resolve_autoconf_macro_req),
|
||||||
(PythonModuleRequirement, resolve_python_module_req),
|
(PythonModuleRequirement, resolve_python_module_req),
|
||||||
(PythonPackageRequirement, resolve_python_package_req),
|
(PythonPackageRequirement, resolve_python_package_req),
|
||||||
|
(CertificateAuthorityRequirement, resolve_ca_req),
|
||||||
(CargoCrateRequirement, resolve_cargo_crate_req),
|
(CargoCrateRequirement, resolve_cargo_crate_req),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue