diff options
author | Christopher Larson <chris_larson@mentor.com> | 2014-08-25 15:57:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-27 12:12:29 +0100 |
commit | af6d66852f1868f00d24e0ff1d9ac0c9e82434ac (patch) | |
tree | f3e1dcea96dfeac689c22ac7fc5d43a93d14b38a /meta | |
parent | d68255d14bfa43bfa35c724631ab844a141e300e (diff) | |
download | ast2050-yocto-poky-af6d66852f1868f00d24e0ff1d9ac0c9e82434ac.zip ast2050-yocto-poky-af6d66852f1868f00d24e0ff1d9ac0c9e82434ac.tar.gz |
sanity: fix support for regex schemes in mirrors check
(From OE-Core rev: c8afcb9cab9d610892db9c41b29685583f3b5773)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/sanity.bbclass | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 7cfc4be..f655d8b 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -754,8 +754,9 @@ def check_sanity_everybuild(status, d): status.addresult("Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space since autotools doesn't support this.") # Check the format of MIRRORS, PREMIRRORS and SSTATE_MIRRORS + import re mir_types = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS'] - protocols = ['http://', 'ftp://', 'file://', 'https://', 'https?$://', \ + protocols = ['http://', 'ftp://', 'file://', 'https://', \ 'git://', 'gitsm://', 'hg://', 'osc://', 'p4://', 'svk://', 'svn://', \ 'bzr://', 'cvs://'] for mir_type in mir_types: @@ -767,12 +768,19 @@ def check_sanity_everybuild(status, d): bb.warn('Invalid %s: %s, should be 2 members, but found %s.' \ % (mir_type, mir.strip(), len(mir_list))) elif len(mir_list) == 2: + decoded = bb.fetch2.decodeurl(mir_list[0]) + try: + pattern_scheme = re.compile(decoded[0]) + except re.error as exc: + bb.warn('Invalid scheme regex (%s) in %s: %s' % (decoded[0], mir_type, mir.strip())) + continue + # Each member should start with protocols valid_protocol_0 = False valid_protocol_1 = False file_absolute = True for protocol in protocols: - if not valid_protocol_0 and mir_list[0].startswith(protocol): + if not valid_protocol_0 and pattern_scheme.match(protocol[:-3]): valid_protocol_0 = True if not valid_protocol_1 and mir_list[1].startswith(protocol): valid_protocol_1 = True |