From 1e527136e2ac274735a25b957e0391f48b18beba Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Mon, 3 Mar 2014 15:37:36 +0100 Subject: [PATCH] sanity.bbclass: support wildcards in SANITY_TESTED_DISTROS With this change, you can use shell like globbing expressions (as supported by Python's fnmatch) for entries in SANITY_TESTED_DISTROS. This makes it possible to say that, e.g. "all Debian 7 Wheezy releases are supported" with the entry "Debian-7.*". [YOCTO #5265] Signed-off-by: Olof Johansson Signed-off-by: Richard Purdie --- meta/classes/sanity.bbclass | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index bae010d864..d79db8f800 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -246,6 +246,8 @@ def check_connectivity(d): return retval def check_supported_distro(sanity_data): + from fnmatch import fnmatch + tested_distros = sanity_data.getVar('SANITY_TESTED_DISTROS', True) if not tested_distros: return @@ -255,12 +257,15 @@ def check_supported_distro(sanity_data): except Exception: distro = None - if distro: - if distro not in [x.strip() for x in tested_distros.split('\\n')]: - bb.warn('Host distribution "%s" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.' % distro) - else: + if not distro: bb.warn('Host distribution could not be determined; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.') + for supported in [x.strip() for x in tested_distros.split('\\n')]: + if fnmatch(distro, supported): + return + + bb.warn('Host distribution "%s" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.' % distro) + # Checks we should only make if MACHINE is set correctly def check_sanity_validmachine(sanity_data): messages = "" -- 2.40.1