diff options
author | Tom Zanussi <tom.zanussi@intel.com> | 2013-01-18 12:27:13 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-20 13:05:39 +0000 |
commit | 37d295c81692a8145cb7a235ebf9556e9b902df5 (patch) | |
tree | 6395086b0a287a33d9898b41ee0771a64ee363c7 /scripts/lib/bsp/engine.py | |
parent | 1ca4b36445a5471e9d12ee50708946df9f6baf52 (diff) | |
download | poky-37d295c81692a8145cb7a235ebf9556e9b902df5.tar.gz |
scripts/lib/bsp/engine.py: add handling for JSON strings
Normally pre-canned properties are supplied as JSON from a file, which
the user can specify using e.g. the -i option.
We can reuse that basic functionality for dedicated command-line
parameters by sythesizing a JSON string containing those param values
on the fly and passing that in instead.
This adds the ability for the common creation code to accept JSON
strings as well as JSON files.
(From meta-yocto rev: 5a2e840b24822e018de94ec4f554363b59c4e8bd)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/bsp/engine.py')
-rw-r--r-- | scripts/lib/bsp/engine.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/lib/bsp/engine.py b/scripts/lib/bsp/engine.py index 7431860547..aa26280796 100644 --- a/scripts/lib/bsp/engine.py +++ b/scripts/lib/bsp/engine.py | |||
@@ -1387,6 +1387,9 @@ def yocto_common_create(machine, target, scripts_path, layer_output_dir, codedum | |||
1387 | 1387 | ||
1388 | properties = json.load(infile) | 1388 | properties = json.load(infile) |
1389 | 1389 | ||
1390 | if properties_str and not properties: | ||
1391 | properties = json.loads(properties_str) | ||
1392 | |||
1390 | os.mkdir(layer_output_dir) | 1393 | os.mkdir(layer_output_dir) |
1391 | 1394 | ||
1392 | context = create_context(machine, target, scripts_path) | 1395 | context = create_context(machine, target, scripts_path) |
@@ -1413,7 +1416,7 @@ def yocto_common_create(machine, target, scripts_path, layer_output_dir, codedum | |||
1413 | run_program_lines(program_lines, codedump) | 1416 | run_program_lines(program_lines, codedump) |
1414 | 1417 | ||
1415 | 1418 | ||
1416 | def yocto_layer_create(layer_name, scripts_path, layer_output_dir, codedump, properties_file): | 1419 | def yocto_layer_create(layer_name, scripts_path, layer_output_dir, codedump, properties_file, properties=""): |
1417 | """ | 1420 | """ |
1418 | Create yocto layer | 1421 | Create yocto layer |
1419 | 1422 | ||
@@ -1424,13 +1427,13 @@ def yocto_layer_create(layer_name, scripts_path, layer_output_dir, codedump, pro | |||
1424 | properties_file - use values from this file if nonempty i.e no prompting | 1427 | properties_file - use values from this file if nonempty i.e no prompting |
1425 | properties - use values from this string if nonempty i.e no prompting | 1428 | properties - use values from this string if nonempty i.e no prompting |
1426 | """ | 1429 | """ |
1427 | yocto_common_create(layer_name, "layer", scripts_path, layer_output_dir, codedump, properties_file, False) | 1430 | yocto_common_create(layer_name, "layer", scripts_path, layer_output_dir, codedump, properties_file, properties, False) |
1428 | 1431 | ||
1429 | print "\nNew layer created in %s.\n" % (layer_output_dir) | 1432 | print "\nNew layer created in %s.\n" % (layer_output_dir) |
1430 | print "Don't forget to add it to your BBLAYERS (for details see %s\README)." % (layer_output_dir) | 1433 | print "Don't forget to add it to your BBLAYERS (for details see %s\README)." % (layer_output_dir) |
1431 | 1434 | ||
1432 | 1435 | ||
1433 | def yocto_bsp_create(machine, arch, scripts_path, bsp_output_dir, codedump, properties_file): | 1436 | def yocto_bsp_create(machine, arch, scripts_path, bsp_output_dir, codedump, properties_file, properties=None): |
1434 | """ | 1437 | """ |
1435 | Create bsp | 1438 | Create bsp |
1436 | 1439 | ||
@@ -1443,7 +1446,7 @@ def yocto_bsp_create(machine, arch, scripts_path, bsp_output_dir, codedump, prop | |||
1443 | properties_file - use values from this file if nonempty i.e no prompting | 1446 | properties_file - use values from this file if nonempty i.e no prompting |
1444 | properties - use values from this string if nonempty i.e no prompting | 1447 | properties - use values from this string if nonempty i.e no prompting |
1445 | """ | 1448 | """ |
1446 | yocto_common_create(machine, arch, scripts_path, bsp_output_dir, codedump, properties_file) | 1449 | yocto_common_create(machine, arch, scripts_path, bsp_output_dir, codedump, properties_file, properties) |
1447 | 1450 | ||
1448 | print "\nNew %s BSP created in %s" % (arch, bsp_output_dir) | 1451 | print "\nNew %s BSP created in %s" % (arch, bsp_output_dir) |
1449 | 1452 | ||