From 205a929b90003a7263da1ddc5729ba80cc3a4166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Tue, 13 Apr 2021 18:25:34 +0100 Subject: [PATCH] Try harder to find perl modules. --- ognibuild/resolver/apt.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ognibuild/resolver/apt.py b/ognibuild/resolver/apt.py index ea2825f..874eb72 100644 --- a/ognibuild/resolver/apt.py +++ b/ognibuild/resolver/apt.py @@ -608,18 +608,22 @@ def resolve_libtool_req(apt_mgr, req): def resolve_perl_module_req(apt_mgr, req): - DEFAULT_PERL_PATHS = ["/usr/share/perl5"] + DEFAULT_PERL_PATHS = ["/usr/share/perl5", "/usr/lib/.*/perl5/.*"] if req.inc is None: if req.filename is None: - paths = [posixpath.join(inc, req.relfilename) for inc in DEFAULT_PERL_PATHS] + paths = [posixpath.join(inc, re.escape(req.module.replace('::', '/') + '.pm')) for inc in DEFAULT_PERL_PATHS] + regex = True elif not posixpath.isabs(req.filename): - return False + paths = [posixpath.join(inc, re.escape(req.filename)) for inc in DEFAULT_PERL_PATHS] + regex = True else: paths = [req.filename] + regex = False else: + regex = False paths = [posixpath.join(inc, req.filename) for inc in req.inc] - return find_reqs_simple(apt_mgr, paths, regex=False) + return find_reqs_simple(apt_mgr, paths, regex=regex) def resolve_perl_file_req(apt_mgr, req):