[yocto] [layerindex-web][PATCH 2/3] update_layer.py: use DISTRO_NAME as primary distro short description
Paul Eggleton
paul.eggleton at linux.intel.com
Mon Mar 13 19:19:58 PDT 2017
When reading conf/distro/*.conf to create distro records, attempt to
parse the config file and use DISTRO_NAME (if set) to populate the
description field for the record. If that's not set then fall back to
the less commonly used meta-comment that we supported previously.
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---
layerindex/update_layer.py | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/layerindex/update_layer.py b/layerindex/update_layer.py
index 705227b..9fe96fb 100644
--- a/layerindex/update_layer.py
+++ b/layerindex/update_layer.py
@@ -133,7 +133,7 @@ def update_machine_conf_file(path, machine):
break
machine.description = desc
-def update_distro_conf_file(path, distro):
+def update_distro_conf_file(path, distro, d):
logger.debug('Updating distro %s' % path)
desc = ""
with open(path, 'r') as f:
@@ -144,7 +144,18 @@ def update_distro_conf_file(path, distro):
desc = line[14:].strip()
desc = re.sub(r'Distribution configuration for( running)*( an)*( the)*', '', desc)
break
- distro.description = desc
+
+ distro_name = ''
+ try:
+ d = utils.parse_conf(path, d)
+ distro_name = d.getVar('DISTRO_NAME', True)
+ except Exception as e:
+ logger.warn('Error parsing distro configuration file %s: %s' % (path, str(e)))
+
+ if distro_name:
+ distro.description = distro_name
+ else:
+ distro.description = desc
def main():
if LooseVersion(git.__version__) < '0.3.1':
@@ -531,7 +542,7 @@ def main():
distro = Distro()
distro.layerbranch = layerbranch
distro.name = filename
- update_distro_conf_file(os.path.join(repodir, path), distro)
+ update_distro_conf_file(os.path.join(repodir, path), distro, config_data_copy)
distro.save()
elif typename == 'bbclass':
bbclass = BBClass()
@@ -568,7 +579,7 @@ def main():
results = layerdistros.filter(name=filename)
if results:
distro = results[0]
- update_distro_conf_file(os.path.join(repodir, path), distro)
+ update_distro_conf_file(os.path.join(repodir, path), distro, config_data_copy)
distro.save()
deps = RecipeFileDependency.objects.filter(layerbranch=layerbranch).filter(path=path)
@@ -642,7 +653,7 @@ def main():
distro = Distro()
distro.layerbranch = layerbranch
distro.name = filename
- update_distro_conf_file(fullpath, distro)
+ update_distro_conf_file(fullpath, distro, config_data_copy)
distro.save()
elif typename == 'bbclass':
bbclass = BBClass()
--
2.9.3
More information about the yocto
mailing list