Handle x11.

This commit is contained in:
Jelmer Vernooij 2021-03-25 16:37:45 +00:00
parent ac1f25d0be
commit a4bcbeef40
3 changed files with 16 additions and 0 deletions

View file

@ -57,6 +57,7 @@ from buildlog_consultant.common import (
UnknownCertificateAuthority,
MissingLibtool,
MissingQt,
MissingX11,
)
from .fix_build import BuildFixer
@ -92,6 +93,7 @@ from .requirements import (
CertificateAuthorityRequirement,
NodeModuleRequirement,
QTRequirement,
X11Requirement,
LibtoolRequirement,
VagueDependencyRequirement,
)
@ -153,6 +155,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901
return JRERequirement()
elif isinstance(problem, MissingQt):
return QTRequirement()
elif isinstance(problem, MissingX11):
return X11Requirement()
elif isinstance(problem, MissingLibtool):
return LibtoolRequirement()
elif isinstance(problem, UnknownCertificateAuthority):

View file

@ -458,6 +458,12 @@ class QTRequirement(Requirement):
super(QTRequirement, self).__init__("qt")
class X11Requirement(Requirement):
def __init__(self):
super(X11Requirement, self).__init__("x11")
class CertificateAuthorityRequirement(Requirement):
def __init__(self, url):

View file

@ -56,6 +56,7 @@ from ..requirements import (
JDKRequirement,
JRERequirement,
QTRequirement,
X11Requirement,
PerlModuleRequirement,
PerlFileRequirement,
AutoconfMacroRequirement,
@ -451,6 +452,10 @@ def resolve_jre_req(apt_mgr, req):
return [AptRequirement.simple('default-jre')]
def resolve_x11_req(apt_mgr, req):
return [AptRequirement.simple('libx11-dev')]
def resolve_qt_req(apt_mgr, req):
return find_reqs_simple(apt_mgr, ["/usr/lib/.*/qt[0-9]+/bin/qmake"], regex=True)
@ -570,6 +575,7 @@ APT_REQUIREMENT_RESOLVERS = [
(JDKRequirement, resolve_jdk_req),
(JRERequirement, resolve_jre_req),
(QTRequirement, resolve_qt_req),
(X11Requirement, resolve_x11_req),
(LibtoolRequirement, resolve_libtool_req),
(PerlModuleRequirement, resolve_perl_module_req),
(PerlFileRequirement, resolve_perl_file_req),