[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4086/8267] oeqa.utils.metadata: re-organise host distro information
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 4086/8267] oeqa.utils.metadata: re-organise host distro information
- Date: Sun, 17 Dec 2017 01:32:34 +0000 (UTC)
commit 8d51f62cd4933013b11b6812f7585810cc035fbd
Author: Markus Lehtonen <markus lehtonen linux intel com>
Date: Fri Jan 13 15:12:37 2017 +0200
oeqa.utils.metadata: re-organise host distro information
Put all host distro data under one <host_distro> element. In addition
take the data directly from /etc/os-release instead of the "lsb API".
The /etc/os-release file is virtually ubiquitous, now, and using its
field names and values provides a more standardized and extensible
format.
[YOCTO #10590]
(From OE-Core rev: 98cad0b4063772dad94fea96edce1a5422256c32)
Signed-off-by: Markus Lehtonen <markus lehtonen linux intel com>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/lib/oeqa/utils/metadata.py | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
---
diff --git a/meta/lib/oeqa/utils/metadata.py b/meta/lib/oeqa/utils/metadata.py
index 5d8bf84..2316841 100644
--- a/meta/lib/oeqa/utils/metadata.py
+++ b/meta/lib/oeqa/utils/metadata.py
@@ -10,11 +10,22 @@ from collections.abc import MutableMapping
from xml.dom.minidom import parseString
from xml.etree.ElementTree import Element, tostring
-from oe.lsb import distro_identifier
from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
metadata_vars = ['MACHINE', 'DISTRO', 'DISTRO_VERSION']
+def get_os_release():
+ """Get info from /etc/os-release as a dict"""
+ data = OrderedDict()
+ os_release_file = '/etc/os-release'
+ if not os.path.exists(os_release_file):
+ return None
+ with open(os_release_file) as fobj:
+ for line in fobj:
+ key, value = line.split('=', 1)
+ data[key.strip().lower()] = value.strip().strip('"')
+ return data
+
def metadata_from_bb():
""" Returns test's metadata as OrderedDict.
@@ -27,10 +38,15 @@ def metadata_from_bb():
data_dict = get_bb_vars(metadata_vars)
for var in metadata_vars:
info_dict[var.lower()] = data_dict[var]
- host_distro= distro_identifier()
- host_distro, _, host_distro_release = host_distro.partition('-')
- info_dict['host_distro'] = host_distro
- info_dict['host_distro_release'] = host_distro_release
+
+ # Host distro information
+ os_release = get_os_release()
+ if os_release:
+ info_dict['host_distro'] = OrderedDict()
+ for key in ('id', 'version_id', 'pretty_name'):
+ if key in os_release:
+ info_dict['host_distro'][key] = os_release[key]
+
info_dict['layers'] = get_layers(get_bb_var('BBLAYERS'))
return info_dict
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]