mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
scripts/oe-git-archive: fix non-existent key referencing error
Without installing gitpython package, oe-git-archive will face error
below, where it was referencing key that was non-existent inside
metadata object.
Traceback (most recent call last):
File "<poky_dir>/scripts/oe-git-archive", line 271, in <module>
sys.exit(main())
File "<poky_dir>/scripts/oe-git-archive", line 229, in main
'commit_count': metadata['layers']['meta']['commit_count'],
KeyError: 'commit_count'
Fix this error by adding exception catch when referencing
non-existent key (based on inputs provided by Richard Purdie).
[YOCTO# 13082]
(From OE-Core rev: 9a3cc9b8523b78dda6c3f3f2e12798b2b907d7e5)
Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a9b1f9eca9
commit
71a1c1119b
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python3
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Helper script for committing data to git and pushing upstream
|
||||
#
|
||||
@@ -208,6 +208,13 @@ def parse_args(argv):
|
||||
help="Data to commit")
|
||||
return parser.parse_args(argv)
|
||||
|
||||
def get_nested(d, list_of_keys):
|
||||
try:
|
||||
for k in list_of_keys:
|
||||
d = d[k]
|
||||
return d
|
||||
except KeyError:
|
||||
return ""
|
||||
|
||||
def main(argv=None):
|
||||
"""Script entry point"""
|
||||
@@ -223,11 +230,11 @@ def main(argv=None):
|
||||
|
||||
# Get keywords to be used in tag and branch names and messages
|
||||
metadata = metadata_from_bb()
|
||||
keywords = {'hostname': metadata['hostname'],
|
||||
'branch': metadata['layers']['meta']['branch'],
|
||||
'commit': metadata['layers']['meta']['commit'],
|
||||
'commit_count': metadata['layers']['meta']['commit_count'],
|
||||
'machine': metadata['config']['MACHINE']}
|
||||
keywords = {'hostname': get_nested(metadata, ['hostname']),
|
||||
'branch': get_nested(metadata, ['layers', 'meta', 'branch']),
|
||||
'commit': get_nested(metadata, ['layers', 'meta', 'commit']),
|
||||
'commit_count': get_nested(metadata, ['layers', 'meta', 'commit_count']),
|
||||
'machine': get_nested(metadata, ['config', 'MACHINE'])}
|
||||
|
||||
# Expand strings early in order to avoid getting into inconsistent
|
||||
# state (e.g. no tag even if data was committed)
|
||||
|
||||
Reference in New Issue
Block a user