[OE-core] [RFC] sanity.bbclass: support wildcards in SANITY_TESTED_DISTROS
Olof Johansson
olof.johansson at axis.com
Fri Feb 28 15:00:49 UTC 2014
With this change, you can use wildcards 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 <olof.johansson at axis.com>
---
meta/classes/sanity.bbclass | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index bae010d..59f663b 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -245,6 +245,15 @@ def check_connectivity(d):
return retval
+def _distro_match_glob(distro, supported):
+ if not '*' in supported:
+ return distro == supported
+
+ bb.debug(2, "Glob matching found for %s. Trying to match against %s" % (
+ supported, distro))
+ prefix, sufix = supported.split('*', 1)
+ return distro.startswith(prefix) and distro.endswith(sufix)
+
def check_supported_distro(sanity_data):
tested_distros = sanity_data.getVar('SANITY_TESTED_DISTROS', True)
if not tested_distros:
@@ -255,12 +264,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 _distro_match_glob(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 = ""
--
1.8.5.3
More information about the Openembedded-core
mailing list