[yocto] [layerindex-web][PATCH 1/2] utils.py: fix remove obsolete dependencies

Robert Yang liezhi.yang at windriver.com
Wed Dec 27 05:03:28 PST 2017


The obsolete dependency is the one which is in database but not in
conf/layer.conf anymore. The old code had a problem for newly created
layerbranch, the new layerbranch has no dependencies, so no need remove. And it
had a side effect was that when need_remove was cleaned up, it would be set
again in the next for loop, thus might wrongly remove dependencies. This patch
can fix the problem.

Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
 layerindex/utils.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/layerindex/utils.py b/layerindex/utils.py
index e58d8f6..08a4001 100644
--- a/layerindex/utils.py
+++ b/layerindex/utils.py
@@ -122,7 +122,7 @@ def _add_dependency(var, name, layerbranch, config_data, logger=None, required=T
         logger.debug('Error parsing %s_%s for %s\n%s' % (var, var_name, layer_name, str(vse)))
         return
 
-    need_remove = None
+    need_remove = LayerDependency.objects.filter(layerbranch=layerbranch).filter(required=required)
     for dep, ver_list in list(dep_dict.items()):
         ver_str = None
         if ver_list:
@@ -142,9 +142,7 @@ def _add_dependency(var, name, layerbranch, config_data, logger=None, required=T
                 continue
 
         # Preparing to remove obsolete ones
-        if not need_remove:
-            need_remove = LayerDependency.objects.filter(layerbranch=layerbranch).filter(required=required).exclude(dependency=dep_layer)
-        else:
+        if need_remove:
             need_remove = need_remove.exclude(dependency=dep_layer)
 
         # Skip existing entries.
-- 
2.7.4




More information about the yocto mailing list