diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2016-09-28 14:24:53 -0500 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-10-18 16:42:16 +1300 |
commit | 9282cba99f1e9942737a03209d3f7e142cdf08fb (patch) | |
tree | 0185e98130fdd71ca43ba1fbf9e6a13cab6825a7 /layerindex | |
parent | b1375847d9fe4273f5c9e469d91125bf2931163e (diff) | |
download | openembedded-core-contrib-9282cba99f1e9942737a03209d3f7e142cdf08fb.tar.gz |
layerindex/update_layer.py: Preserve the recipedependency files
In order to keep primary keys from constantly changing, preserve the
existing keys as much as possible.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Liam R. Howlett <Liam.Howlett@WindRiver.com>
Diffstat (limited to 'layerindex')
-rw-r--r-- | layerindex/update_layer.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/layerindex/update_layer.py b/layerindex/update_layer.py index 4f6e16012b..cec1ea39e9 100644 --- a/layerindex/update_layer.py +++ b/layerindex/update_layer.py @@ -88,13 +88,30 @@ def update_recipe_file(tinfoil, data, path, recipe, layerdir_start, repodir): if depstr.startswith(layerdir_start) and not depstr.endswith('/conf/layer.conf'): filedeps.append(os.path.relpath(depstr, repodir)) from layerindex.models import RecipeFileDependency - RecipeFileDependency.objects.filter(recipe=recipe).delete() + + recipedeps_delete = [] + + recipedeps = RecipeFileDependency.objects.filter(recipe=recipe) + + for values in recipedeps.values('path'): + if 'path' in values: + recipedeps_delete.append(values['path']) + for filedep in filedeps: + if filedep in recipedeps_delete: + recipedeps_delete.remove(filedep) + continue + # New item, add it... recipedep = RecipeFileDependency() recipedep.layerbranch = recipe.layerbranch recipedep.recipe = recipe recipedep.path = filedep recipedep.save() + + for filedep in recipedeps_delete: + logger.debug('%s: removing %s' % (recipe.layerbranch, filedep)) + recipedeps.filter(path=filedep).delete() + except KeyboardInterrupt: raise except BaseException as e: |