[rtems-source-builder commit] sb: Bail out only if hash definitions conflict
Sebastian Huber
sebh at rtems.org
Wed Mar 1 12:33:32 UTC 2017
Module: rtems-source-builder
Branch: master
Commit: 4f72b95e60eedca772994f740a1fd0c973608632
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=4f72b95e60eedca772994f740a1fd0c973608632
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed Mar 1 08:18:07 2017 +0100
sb: Bail out only if hash definitions conflict
---
source-builder/sb/sources.py | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/source-builder/sb/sources.py b/source-builder/sb/sources.py
index fb6d819..967becc 100644
--- a/source-builder/sb/sources.py
+++ b/source-builder/sb/sources.py
@@ -97,13 +97,17 @@ def hash(args, macros, error):
return
_map = 'hashes'
_file = macros.expand(args[1])
- if _file in macros.map_keys(_map):
- error('hash already set: %s' % (args[1]))
- return
- macros.create_map(_map)
- macros.set_write_map(_map)
- macros.define(_file, '%s %s' % (args[0], args[2]))
- macros.unset_write_map()
+ new_value = '%s %s' % (args[0], args[2])
+ existing_value = get_hash(_file, macros)
+ if existing_value is not None:
+ if existing_value != new_value:
+ error('conflicting hash definitions for: %s' % (args[1]))
+ return
+ else:
+ macros.create_map(_map)
+ macros.set_write_map(_map)
+ macros.define(_file, new_value)
+ macros.unset_write_map()
return None
def get(label, name, macros, error):
More information about the vc
mailing list