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

View file

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

View file

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