openubmc-bingo 0.6.68__py3-none-any.whl → 0.6.73__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of openubmc-bingo might be problematic. Click here for more details.
- bmcgo/__init__.py +1 -1
- bmcgo/codegen/__init__.py +1 -1
- bmcgo/codegen/lua/script/check_intfs.py +1 -0
- bmcgo/codegen/lua/script/dto/options.py +1 -0
- bmcgo/codegen/lua/script/gen_db_json.py +4 -3
- bmcgo/codegen/lua/script/gen_rpc_msg_json.py +78 -11
- bmcgo/codegen/lua/script/render_utils/model_lua.py +5 -1
- bmcgo/codegen/lua/script/template.py +5 -0
- bmcgo/codegen/lua/script/utils.py +34 -6
- bmcgo/codegen/lua/templates/apps/Makefile +2 -2
- bmcgo/codegen/lua/templates/apps/client.lua.mako +1 -1
- bmcgo/codegen/lua/templates/apps/model.lua.mako +4 -3
- bmcgo/codegen/lua/templates/apps/service.lua.mako +1 -1
- bmcgo/codegen/lua/templates/apps/utils/mdb_intf.lua.mako +4 -0
- bmcgo/codegen/lua/v1/script/render_utils/model_lua.py +5 -1
- bmcgo/codegen/lua/v1/templates/apps/client.lua.mako +1 -1
- bmcgo/codegen/lua/v1/templates/apps/model.lua.mako +1 -0
- bmcgo/codegen/lua/v1/templates/apps/utils/mdb_intf.lua.mako +1 -1
- bmcgo/tasks/task_build_rootfs_img.py +24 -0
- bmcgo/tasks/task_buildgppbin.py +30 -13
- {openubmc_bingo-0.6.68.dist-info → openubmc_bingo-0.6.73.dist-info}/METADATA +1 -1
- {openubmc_bingo-0.6.68.dist-info → openubmc_bingo-0.6.73.dist-info}/RECORD +25 -25
- {openubmc_bingo-0.6.68.dist-info → openubmc_bingo-0.6.73.dist-info}/WHEEL +0 -0
- {openubmc_bingo-0.6.68.dist-info → openubmc_bingo-0.6.73.dist-info}/entry_points.txt +0 -0
- {openubmc_bingo-0.6.68.dist-info → openubmc_bingo-0.6.73.dist-info}/top_level.txt +0 -0
bmcgo/__init__.py
CHANGED
bmcgo/codegen/__init__.py
CHANGED
|
@@ -33,6 +33,7 @@ class IntfPool:
|
|
|
33
33
|
self.add_from_service(os.path.join(root, file))
|
|
34
34
|
if file == "model.json":
|
|
35
35
|
self.add_from_model(os.path.join(root, file))
|
|
36
|
+
self.pool["Properties"].add("bmc.kepler.Object.Properties")
|
|
36
37
|
|
|
37
38
|
if project_name == 'hwproxy':
|
|
38
39
|
for root, _, files in os.walk(os.path.join(mdb_path, "intf/mdb/bmc/dev")):
|
|
@@ -18,6 +18,7 @@ class Options:
|
|
|
18
18
|
self.source_file_path: str = options.source_file_path
|
|
19
19
|
self.template_name: str = options.template_name
|
|
20
20
|
self.output_file_path: str = options.output_file_path
|
|
21
|
+
self.ignore_empty_input: bool = options.ignore_empty_input
|
|
21
22
|
self.enable_auto_merge: bool = options.enable_auto_merge
|
|
22
23
|
self.project_name = options.project_name
|
|
23
24
|
self.version = options.version
|
|
@@ -380,7 +380,7 @@ def rectify_local_db(historical_local_db_file, out_dict):
|
|
|
380
380
|
table_info["properties"] = new_props
|
|
381
381
|
|
|
382
382
|
|
|
383
|
-
def save_json_file(is_local, load_dict, historical_local_db_file, of_name, disable_gen
|
|
383
|
+
def save_json_file(is_local, load_dict, historical_local_db_file, of_name, disable_gen):
|
|
384
384
|
package = of_name.split("/")[-2]
|
|
385
385
|
extra_imports = set()
|
|
386
386
|
datas = make_datas(load_dict, package, extra_imports, is_local)
|
|
@@ -420,8 +420,9 @@ def generate(if_name, historical_local_db_file, of_name):
|
|
|
420
420
|
load_dict = json.load(load_f)
|
|
421
421
|
load_f.close()
|
|
422
422
|
disable_mem_db_gen = Utils.get_lua_codegen_version() >= 7 and not Utils.check_model_need_mem_db(load_dict)
|
|
423
|
-
save_json_file(False, load_dict, historical_local_db_file, of_name,
|
|
424
|
-
|
|
423
|
+
save_json_file(False, load_dict, historical_local_db_file, of_name, disable_mem_db_gen) # 保存普通持久化的表
|
|
424
|
+
disable_local_db_gen = Utils.get_lua_codegen_version() >= 19 and not Utils.check_model_need_local_db(load_dict)
|
|
425
|
+
save_json_file(True, load_dict, historical_local_db_file, of_name, disable_local_db_gen) # 保存本地持久化的表
|
|
425
426
|
|
|
426
427
|
|
|
427
428
|
def usage():
|
|
@@ -16,6 +16,7 @@ import getopt
|
|
|
16
16
|
import sys
|
|
17
17
|
import os
|
|
18
18
|
import stat
|
|
19
|
+
from collections import defaultdict
|
|
19
20
|
import mds_util as utils
|
|
20
21
|
from utils import Utils
|
|
21
22
|
|
|
@@ -43,6 +44,18 @@ PROPERTY_FLAGS = {
|
|
|
43
44
|
OPTIONS = 'options'
|
|
44
45
|
|
|
45
46
|
|
|
47
|
+
def modify_common_interface_messages(messages):
|
|
48
|
+
if Utils.get_lua_codegen_version() < 19:
|
|
49
|
+
return
|
|
50
|
+
intf_map = Utils.get_unique_intf_map()
|
|
51
|
+
require_paths = {}
|
|
52
|
+
for intf_name, require_path in Utils.COMMON_INTERFACE_REQUIRE_PATHS.items():
|
|
53
|
+
unique_intf_name = intf_map.get(intf_name)
|
|
54
|
+
if unique_intf_name and unique_intf_name in messages:
|
|
55
|
+
messages[unique_intf_name]['require_path'] = require_path
|
|
56
|
+
messages[unique_intf_name]['disable_gen'] = True
|
|
57
|
+
|
|
58
|
+
|
|
46
59
|
def is_struct(prop_data):
|
|
47
60
|
if 'baseType' not in prop_data:
|
|
48
61
|
return True
|
|
@@ -166,8 +179,9 @@ def save_msg(intfs, out_dir, project_name):
|
|
|
166
179
|
"package": pkg_name,
|
|
167
180
|
"options": {},
|
|
168
181
|
"filename": file_name,
|
|
169
|
-
"require_path": f"{project_name}.{require_dir}.{pkg_name}",
|
|
182
|
+
"require_path": pkg_data.get("require_path", f"{project_name}.{require_dir}.{pkg_name}"),
|
|
170
183
|
"intf": pkg_data["data"] if "data" in pkg_data else {},
|
|
184
|
+
"disable_gen": pkg_data.get("disable_gen", False)
|
|
171
185
|
}
|
|
172
186
|
utils.save_proto_json(f"{new_out_dir}/{file_name}.json", datas)
|
|
173
187
|
|
|
@@ -219,7 +233,7 @@ def update_package(package, msg_name, struct_data, msg_package, imports):
|
|
|
219
233
|
|
|
220
234
|
|
|
221
235
|
# 为结构体生成message
|
|
222
|
-
def gen_defs(defs, msg_package, packages, imports=None):
|
|
236
|
+
def gen_defs(defs, msg_package, packages, imports=None, package_filter=None):
|
|
223
237
|
if imports is None:
|
|
224
238
|
imports = {}
|
|
225
239
|
|
|
@@ -228,6 +242,8 @@ def gen_defs(defs, msg_package, packages, imports=None):
|
|
|
228
242
|
|
|
229
243
|
package = packages[msg_package]
|
|
230
244
|
for struct_name, struct_data in defs.items():
|
|
245
|
+
if package_filter and not package_filter.get("defs", {}).get(struct_name, True):
|
|
246
|
+
continue
|
|
231
247
|
msg_name = struct_name
|
|
232
248
|
if not check_duplicate_msg(package["messages"], msg_name):
|
|
233
249
|
update_package(package, msg_name, struct_data, msg_package, imports)
|
|
@@ -265,7 +281,7 @@ def convert_property_options(intf, property_name: str, options_data: dict):
|
|
|
265
281
|
return flags
|
|
266
282
|
|
|
267
283
|
|
|
268
|
-
def generate_message(intf_data, intf, packages, imports):
|
|
284
|
+
def generate_message(intf_data, intf, packages, imports, package_filter=None):
|
|
269
285
|
msg_package = Utils.get_unique_intf_name(intf)
|
|
270
286
|
|
|
271
287
|
if msg_package not in packages:
|
|
@@ -273,7 +289,7 @@ def generate_message(intf_data, intf, packages, imports):
|
|
|
273
289
|
package = packages[msg_package]
|
|
274
290
|
package["data"] = {"name": intf, "data": intf_data}
|
|
275
291
|
|
|
276
|
-
if "methods" in intf_data:
|
|
292
|
+
if "methods" in intf_data and (not package_filter or package_filter.get("methods")):
|
|
277
293
|
for method_name, method_data in intf_data["methods"].items():
|
|
278
294
|
req_name = method_name + "Req"
|
|
279
295
|
rsp_name = method_name + "Rsp"
|
|
@@ -285,14 +301,14 @@ def generate_message(intf_data, intf, packages, imports):
|
|
|
285
301
|
update_package(package, rsp_name, get_rsp(
|
|
286
302
|
method_data), msg_package, imports)
|
|
287
303
|
|
|
288
|
-
if "signals" in intf_data:
|
|
304
|
+
if "signals" in intf_data and (not package_filter or package_filter.get("signals")):
|
|
289
305
|
for signal_name, signal_data in intf_data["signals"].items():
|
|
290
306
|
signature_name = signal_name + "Signature"
|
|
291
307
|
if not check_duplicate_msg(package["messages"], signature_name):
|
|
292
308
|
update_package(package, signature_name,
|
|
293
309
|
signal_data, msg_package, imports)
|
|
294
310
|
|
|
295
|
-
if "properties" in intf_data:
|
|
311
|
+
if "properties" in intf_data and (not package_filter or package_filter.get("properties")):
|
|
296
312
|
for property_name, property_data in intf_data["properties"].items():
|
|
297
313
|
if not check_duplicate_msg(package["messages"], property_name):
|
|
298
314
|
update_package(package, property_name,
|
|
@@ -365,6 +381,7 @@ def gen_service_msg(model_merged_file, of_name, mdb_path, project_name):
|
|
|
365
381
|
messages = {}
|
|
366
382
|
imports = {}
|
|
367
383
|
get_service_messages(mdb_path, load_dict, messages, imports)
|
|
384
|
+
modify_common_interface_messages(messages)
|
|
368
385
|
save_msg(messages, of_name, project_name)
|
|
369
386
|
load_f.close()
|
|
370
387
|
|
|
@@ -387,15 +404,54 @@ def gen_model_msg(model_merged_file, of_name):
|
|
|
387
404
|
load_f.close()
|
|
388
405
|
|
|
389
406
|
|
|
390
|
-
def gen_client_msg_intf(intf_json, intf, messages):
|
|
407
|
+
def gen_client_msg_intf(intf_json, intf, messages, package_filter=None):
|
|
391
408
|
imports = {}
|
|
392
409
|
for intf_name, intf_data in intf_json.items():
|
|
393
410
|
if intf_name == "defs":
|
|
394
|
-
gen_defs(intf_data, Utils.get_unique_intf_name(intf), messages)
|
|
411
|
+
gen_defs(intf_data, Utils.get_unique_intf_name(intf), messages, None, package_filter)
|
|
395
412
|
else:
|
|
396
413
|
prepare_intf_data(intf_json, intf_name)
|
|
397
414
|
prepare_virutal(intf_data)
|
|
398
|
-
generate_message(intf_data, intf_name, messages, imports)
|
|
415
|
+
generate_message(intf_data, intf_name, messages, imports, package_filter)
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
def parse_ref_items(input_data, refs):
|
|
419
|
+
for key, value in input_data.items():
|
|
420
|
+
if key != "$ref":
|
|
421
|
+
if isinstance(value, dict):
|
|
422
|
+
parse_ref_items(value, refs)
|
|
423
|
+
continue
|
|
424
|
+
if isinstance(value, str) and value.startswith("#/defs/"):
|
|
425
|
+
refs[value.replace("#/defs/", "")] = input_data.get("baseType") == "Enum"
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
def set_def_enbale_gen(input_data, defs_enable_gen, enabled):
|
|
429
|
+
refs = dict()
|
|
430
|
+
parse_ref_items(input_data, refs)
|
|
431
|
+
for ref, is_enum in refs.items():
|
|
432
|
+
if ref in defs_enable_gen:
|
|
433
|
+
defs_enable_gen[ref] = enabled or is_enum
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
def parse_interface_defs(intf_json, package_filter):
|
|
437
|
+
defs_data = intf_json.get("defs", {})
|
|
438
|
+
if not defs_data:
|
|
439
|
+
return {}
|
|
440
|
+
defs_enable_gen = {def_name: False for def_name in defs_data.keys()}
|
|
441
|
+
for intf_name, intf_data in intf_json.items():
|
|
442
|
+
if intf_name == "defs":
|
|
443
|
+
continue
|
|
444
|
+
for category, enable_gen in package_filter.items():
|
|
445
|
+
for item_data in intf_data.get(category, {}).values():
|
|
446
|
+
# 属性、方法、信号如果需要生成校验器,它们引用的自定义类型也需要生成校验器
|
|
447
|
+
# 枚举类型可能被用于属性默认值,也需要生成
|
|
448
|
+
set_def_enbale_gen(item_data, defs_enable_gen, enable_gen)
|
|
449
|
+
|
|
450
|
+
for def_name, def_data in defs_data.items():
|
|
451
|
+
if defs_enable_gen.get(def_name):
|
|
452
|
+
# 自定义类型如果需要生成校验器,它们引用的其它自定义类型也需要生成校验器
|
|
453
|
+
set_def_enbale_gen(def_data, defs_enable_gen, True)
|
|
454
|
+
return defs_enable_gen
|
|
399
455
|
|
|
400
456
|
|
|
401
457
|
def gen_client_msg(service_file, output, mdb_path, project_name):
|
|
@@ -412,8 +468,19 @@ def gen_client_msg(service_file, output, mdb_path, project_name):
|
|
|
412
468
|
intf_json = utils.get_intf(intf, mdb_path)
|
|
413
469
|
if "implement" in intf_json[intf]:
|
|
414
470
|
intf_json = utils.generate_default(intf_json, mdb_path)
|
|
415
|
-
|
|
416
|
-
|
|
471
|
+
package_filter = None
|
|
472
|
+
if Utils.get_lua_codegen_version() >= 19:
|
|
473
|
+
# 客户端用到的接口,不需要生成属性校验器、信号参数校验器,只需要生成方法参数校验器
|
|
474
|
+
# package_filter里面True表示需要生成,False表示不需要生成
|
|
475
|
+
package_filter = {
|
|
476
|
+
"properties": False,
|
|
477
|
+
"methods": True,
|
|
478
|
+
"signals": False
|
|
479
|
+
}
|
|
480
|
+
package_filter["defs"] = parse_interface_defs(intf_json, package_filter)
|
|
481
|
+
gen_client_msg_intf(intf_json, intf, messages, package_filter)
|
|
482
|
+
|
|
483
|
+
modify_common_interface_messages(messages)
|
|
417
484
|
save_msg(messages, output, project_name)
|
|
418
485
|
load_f.close()
|
|
419
486
|
|
|
@@ -215,6 +215,9 @@ class ModelLuaUtils(Base, Utils):
|
|
|
215
215
|
def get_mdb_prop_configs(self, msg):
|
|
216
216
|
string = '{'
|
|
217
217
|
for (interface, intf_msg) in msg['interfaces'].items():
|
|
218
|
+
if Utils.get_lua_codegen_version() >= 19 and interface == 'bmc.kepler.Object.Properties':
|
|
219
|
+
string += f"['{interface}'] = mdb.OBJECT_PROPERTIES_INTERFACE_PROP_CONFIGS,"
|
|
220
|
+
continue
|
|
218
221
|
if not self.has_properties(intf_msg):
|
|
219
222
|
continue
|
|
220
223
|
intf_name = self.get_intf_name(interface, intf_msg)
|
|
@@ -455,7 +458,8 @@ class ModelLuaUtils(Base, Utils):
|
|
|
455
458
|
for (interface, intf_msg) in msg.get('interfaces', {}).items():
|
|
456
459
|
intf_name = self.get_intf_name(interface, intf_msg)
|
|
457
460
|
intf_type = self.get_intf_type(intf_name)
|
|
458
|
-
|
|
461
|
+
path = Utils.get_interface_require_path(interface, project_name, intf_name)
|
|
462
|
+
types[intf_type] = f"local {intf_type} = require '{path}'\n"
|
|
459
463
|
return types
|
|
460
464
|
|
|
461
465
|
def render_types(self, project_name, root):
|
|
@@ -52,6 +52,9 @@ def parse_input_args() -> Options:
|
|
|
52
52
|
parser.add_argument("-v", "--version", dest="version",
|
|
53
53
|
help="version",
|
|
54
54
|
default=-1)
|
|
55
|
+
parser.add_argument("--ignore_empty_input", dest="ignore_empty_input",
|
|
56
|
+
help="Whether to stop generating result file when input is empty",
|
|
57
|
+
action=misc.STORE_TRUE, default=False)
|
|
55
58
|
parser.add_argument("--enable_auto_merge", dest="enable_auto_merge",
|
|
56
59
|
help="Whether result files are automatically combined when customized.",
|
|
57
60
|
action=misc.STORE_TRUE, default=False)
|
|
@@ -130,6 +133,8 @@ def generate(options: Options):
|
|
|
130
133
|
if os.path.exists(options.output_file_path):
|
|
131
134
|
os.remove(options.output_file_path)
|
|
132
135
|
load_imports(data, options)
|
|
136
|
+
if not data and options.ignore_empty_input and utils.Utils.get_lua_codegen_version() >= 19:
|
|
137
|
+
return
|
|
133
138
|
os.makedirs(os.path.dirname(options.output_file_path), exist_ok=True)
|
|
134
139
|
output_file = os.fdopen(os.open(options.output_file_path,
|
|
135
140
|
os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR), 'w')
|
|
@@ -89,6 +89,18 @@ class Utils:
|
|
|
89
89
|
'account'
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
COMMON_INTERFACE_REQUIRE_PATHS = {
|
|
93
|
+
'bmc.kepler.MicroComponent': 'mdb.bmc.kepler.MicroComponentInterface',
|
|
94
|
+
'bmc.kepler.MicroComponent.ConfigManage': 'mdb.bmc.kepler.MicroComponent.ConfigManageInterface',
|
|
95
|
+
'bmc.kepler.MicroComponent.Debug': 'mdb.bmc.kepler.MicroComponent.DebugInterface',
|
|
96
|
+
'bmc.kepler.MicroComponent.Performance': 'mdb.bmc.kepler.MicroComponent.PerformanceInterface',
|
|
97
|
+
'bmc.kepler.MicroComponent.Reboot': 'mdb.bmc.kepler.MicroComponent.RebootInterface',
|
|
98
|
+
'bmc.kepler.MicroComponent.Reset': 'mdb.bmc.kepler.MicroComponent.ResetInterface',
|
|
99
|
+
'bmc.kepler.Object.Properties': 'mdb.bmc.kepler.Object.PropertiesInterface',
|
|
100
|
+
'bmc.kepler.Release.Maintenance': 'mdb.bmc.kepler.Release.MaintenanceInterface',
|
|
101
|
+
'bmc.kepler.TaskService.Task': 'mdb.bmc.kepler.TaskService.TaskInterface'
|
|
102
|
+
}
|
|
103
|
+
|
|
92
104
|
def __init__(self, data: dict, options: Options):
|
|
93
105
|
self.data = data
|
|
94
106
|
self.options = options
|
|
@@ -281,7 +293,14 @@ class Utils:
|
|
|
281
293
|
if "tableName" in class_data and class_data.get("tableLocation") != "Local":
|
|
282
294
|
return True
|
|
283
295
|
return False
|
|
284
|
-
|
|
296
|
+
|
|
297
|
+
@staticmethod
|
|
298
|
+
def check_model_need_local_db(model_json: dict):
|
|
299
|
+
for class_data in model_json.values():
|
|
300
|
+
if "tableName" in class_data and class_data.get("tableLocation") == "Local":
|
|
301
|
+
return True
|
|
302
|
+
return False
|
|
303
|
+
|
|
285
304
|
@staticmethod
|
|
286
305
|
def has_db(root: dict):
|
|
287
306
|
return Utils.check_need_mem_db(root) or Utils.check_local_poweroff_db(root) or \
|
|
@@ -348,15 +367,24 @@ class Utils:
|
|
|
348
367
|
return Utils.get_unique_intf_name(full_intf_name) + "." + slices[-1]
|
|
349
368
|
|
|
350
369
|
@staticmethod
|
|
351
|
-
def
|
|
352
|
-
check_intfs = Path(__file__).parent.parent.joinpath(
|
|
370
|
+
def get_unique_intf_map():
|
|
371
|
+
check_intfs = Path(__file__).parent.parent.joinpath('temp').joinpath('check_intfs.json')
|
|
353
372
|
with open(check_intfs, 'r') as check_intfs_fp:
|
|
354
|
-
|
|
373
|
+
return json.load(check_intfs_fp)
|
|
355
374
|
|
|
375
|
+
@staticmethod
|
|
376
|
+
def get_unique_intf_name(intf):
|
|
356
377
|
slices = intf.split('.')
|
|
357
|
-
if slices[-1] ==
|
|
378
|
+
if slices[-1] == 'Default':
|
|
358
379
|
return slices[-2] + slices[-1]
|
|
359
|
-
return
|
|
380
|
+
return Utils.get_unique_intf_map().get(intf, slices[-1])
|
|
381
|
+
|
|
382
|
+
@staticmethod
|
|
383
|
+
def get_interface_require_path(intf_name, project_name, unique_intf_name):
|
|
384
|
+
fallback = f'{project_name}.json_types.{unique_intf_name}'
|
|
385
|
+
if Utils.get_lua_codegen_version() < 19:
|
|
386
|
+
return fallback
|
|
387
|
+
return Utils.COMMON_INTERFACE_REQUIRE_PATHS.get(intf_name, fallback)
|
|
360
388
|
|
|
361
389
|
@staticmethod
|
|
362
390
|
def get_files(path):
|
|
@@ -80,7 +80,7 @@ message: $(foreach v, $(MESSAGE_FILES), $(GEN_OUT_DIR)/$(v).lua)
|
|
|
80
80
|
define MAKE_DATAS
|
|
81
81
|
$$(GEN_OUT_DIR)/$(1).lua: ${PROTO_OUT_DIR}/$(1).json $${TEMPLATE_BIN} datas.lua.mako
|
|
82
82
|
@mkdir -p $$(dir $$@)
|
|
83
|
-
python3 $${TEMPLATE_BIN} -d ${PROTO_DIR} -j ${PROTO_OUT_DIR} -n ${PROJECT_NAME} -i ${PROTO_OUT_DIR}/$(1).json -f ${LUA_FORMATER} -t datas.lua.mako -o $$@
|
|
83
|
+
python3 $${TEMPLATE_BIN} -d ${PROTO_DIR} -j ${PROTO_OUT_DIR} -n ${PROJECT_NAME} -i ${PROTO_OUT_DIR}/$(1).json -f ${LUA_FORMATER} -t datas.lua.mako --ignore_empty_input -o $$@
|
|
84
84
|
endef
|
|
85
85
|
$(foreach v, $(YAML_FILES), $(eval $(call MAKE_DATAS,$(v))))
|
|
86
86
|
datas: $(foreach v, $(YAML_FILES), $(GEN_OUT_DIR)/$(v).lua)
|
|
@@ -89,7 +89,7 @@ define MAKE_CONF_DATAS
|
|
|
89
89
|
$$(GEN_OUT_DIR)/$(1).lua: ${CONF_DIR}/$(1).yaml $${TEMPLATE_BIN} datas.lua.mako
|
|
90
90
|
@mkdir -p $$(dir $$@)
|
|
91
91
|
python3 ${YAML_TO_JSON_BIN} -i ${CONF_DIR}/$(1).yaml -b ${CONF_DIR} -o ${PROTO_OUT_DIR}/$(1).json
|
|
92
|
-
python3 $${TEMPLATE_BIN} -d ${CONF_DIR} -j ${PROTO_OUT_DIR} -n ${PROJECT_NAME} -i ${PROTO_OUT_DIR}/$(1).json -f ${LUA_FORMATER} -t datas.lua.mako -o $$@
|
|
92
|
+
python3 $${TEMPLATE_BIN} -d ${CONF_DIR} -j ${PROTO_OUT_DIR} -n ${PROJECT_NAME} -i ${PROTO_OUT_DIR}/$(1).json -f ${LUA_FORMATER} -t datas.lua.mako --ignore_empty_input -o $$@
|
|
93
93
|
endef
|
|
94
94
|
$(foreach v, $(YAML_FILES_CONF), $(eval $(call MAKE_CONF_DATAS,$(v))))
|
|
95
95
|
datas_conf: $(foreach v, $(YAML_FILES_CONF), $(GEN_OUT_DIR)/$(v).lua)
|
|
@@ -55,7 +55,7 @@ local foreach_non_virtual_interface_objects = mdb_service.foreach_non_virtual_in
|
|
|
55
55
|
% if intf_data['interface'].startswith('bmc.dev.'):
|
|
56
56
|
local ${intf} = require '${project_name}.device_types.${intf}'
|
|
57
57
|
%else:
|
|
58
|
-
local ${intf} = require '${project_name
|
|
58
|
+
local ${intf} = require '${render_utils.get_interface_require_path(intf_data["interface"], project_name, intf)}'
|
|
59
59
|
% endif
|
|
60
60
|
% endfor
|
|
61
61
|
|
|
@@ -182,7 +182,7 @@ local ${class_name} = {
|
|
|
182
182
|
methods = ${render_utils.get_privileges(intf_msg.get('methods', {}))}
|
|
183
183
|
},
|
|
184
184
|
${render_utils.get_readonlys(intf_msg.get('properties', {}))},
|
|
185
|
-
require '${project_name
|
|
185
|
+
require '${render_utils.get_interface_require_path(interface, project_name, intf_name)}')
|
|
186
186
|
objs['${interface}'] = obj
|
|
187
187
|
end<% num = num + 1 %>
|
|
188
188
|
% endfor
|
|
@@ -222,9 +222,10 @@ end
|
|
|
222
222
|
|
|
223
223
|
% for (method, method_config) in intf_msg['methods'].items():
|
|
224
224
|
-- The callback needs to be registered during app initialization
|
|
225
|
-
|
|
225
|
+
<% intf_name = render_utils.get_intf_name(interface, intf_msg)%>
|
|
226
|
+
function M.Impl${class_name}${intf_name}${method}(cb)
|
|
226
227
|
class('${class_name}')['${interface}'].${method} = function(obj, ctx, ...)
|
|
227
|
-
local ${interface.split(".")[-1].lower()}_types = require "${
|
|
228
|
+
local ${interface.split(".")[-1].lower()}_types = require "${render_utils.get_interface_require_path(interface, project_name, intf_name)}"
|
|
228
229
|
local req = ${interface.split(".")[-1].lower()}_types.${method}Req.new(...):validate(nil, nil, true)
|
|
229
230
|
local rsp = ${interface.split(".")[-1].lower()}_types.${method}Rsp.new(cb(obj, ctx, req:unpack())):validate()
|
|
230
231
|
return rsp:unpack(true)
|
|
@@ -47,7 +47,7 @@ end
|
|
|
47
47
|
% endif
|
|
48
48
|
|
|
49
49
|
% for intf, intf_data in root['intf_imports'].items():
|
|
50
|
-
local ${intf}Types = require '${project_name
|
|
50
|
+
local ${intf}Types = require '${render_utils.get_interface_require_path(intf_data["interface"], project_name, intf)}'
|
|
51
51
|
% endfor
|
|
52
52
|
|
|
53
53
|
% for cls, cls_data in root['class_require'].items():
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
mdb.register_interface('${intf['name']}', {
|
|
3
3
|
% if 'properties' in intf['data'] :
|
|
4
4
|
% for p,p_data in intf['data']['properties'].items():
|
|
5
|
+
% if version >= 19:
|
|
6
|
+
${p} = {'${render_utils.do_type_to_dbus_json(intf['data'], p_data)}', ${render_utils.options_json(p_data)}, ${render_utils.readonly_json(p_data)}, ${render_utils.default_json(p_data)}},
|
|
7
|
+
% else:
|
|
5
8
|
${p} = {'${render_utils.do_type_to_dbus_json(intf['data'], p_data)}', ${render_utils.options_json(p_data)}, ${render_utils.readonly_json(p_data)}, ${render_utils.default_json(p_data)}, false},
|
|
9
|
+
% endif
|
|
6
10
|
% endfor
|
|
7
11
|
% endif
|
|
8
12
|
}, {
|
|
@@ -262,6 +262,9 @@ class ConsistencyModelLuaUtils(Base, Utils):
|
|
|
262
262
|
string = '{'
|
|
263
263
|
path_privilege = msg.get("privilege", [])
|
|
264
264
|
for (interface, intf_msg) in msg['interfaces'].items():
|
|
265
|
+
if interface == 'bmc.kepler.Object.Properties':
|
|
266
|
+
string += f"['{interface}'] = mdb.OBJECT_PROPERTIES_INTERFACE_PROP_CONFIGS,"
|
|
267
|
+
continue
|
|
265
268
|
if not self.has_properties(intf_msg):
|
|
266
269
|
continue
|
|
267
270
|
interface_privilege = intf_msg.get("privilege", [])
|
|
@@ -457,7 +460,8 @@ class ConsistencyModelLuaUtils(Base, Utils):
|
|
|
457
460
|
for (interface, intf_msg) in msg.get('interfaces', {}).items():
|
|
458
461
|
intf_name = self.get_intf_name(interface, intf_msg)
|
|
459
462
|
intf_type = self.get_intf_type(intf_name)
|
|
460
|
-
|
|
463
|
+
path = Utils.get_interface_require_path(interface, project_name, intf_name)
|
|
464
|
+
types[intf_type] = f"local {intf_type} = require '{path}'\n"
|
|
461
465
|
return types
|
|
462
466
|
|
|
463
467
|
def render_types(self, project_name, root):
|
|
@@ -54,7 +54,7 @@ local foreach_non_virtual_interface_objects = mdb_service.foreach_non_virtual_in
|
|
|
54
54
|
% if intf_data['interface'].startswith('bmc.dev.'):
|
|
55
55
|
local ${intf} = require '${project_name}.device_types.${intf}'
|
|
56
56
|
%else:
|
|
57
|
-
local ${intf} = require '${project_name
|
|
57
|
+
local ${intf} = require '${render_utils.get_interface_require_path(intf_data["interface"], project_name, intf)}'
|
|
58
58
|
% endif
|
|
59
59
|
% endfor
|
|
60
60
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
'${intf['name']}', {
|
|
4
4
|
% if 'properties' in intf['data'] :
|
|
5
5
|
% for p,p_data in intf['data']['properties'].items():
|
|
6
|
-
${p} = {'${render_utils.do_type_to_dbus_json(intf['data'], p_data)}', ${render_utils.options_json(p_data)}, ${render_utils.readonly_json(p_data)}, ${render_utils.default_json(p_data)}
|
|
6
|
+
${p} = {'${render_utils.do_type_to_dbus_json(intf['data'], p_data)}', ${render_utils.options_json(p_data)}, ${render_utils.readonly_json(p_data)}, ${render_utils.default_json(p_data)}},
|
|
7
7
|
% endfor
|
|
8
8
|
% endif
|
|
9
9
|
}, {
|
|
@@ -21,6 +21,7 @@ import stat
|
|
|
21
21
|
import time
|
|
22
22
|
import subprocess
|
|
23
23
|
import tempfile
|
|
24
|
+
import re
|
|
24
25
|
from multiprocessing import Process
|
|
25
26
|
|
|
26
27
|
from git import Repo
|
|
@@ -221,6 +222,26 @@ class TaskClass(Task):
|
|
|
221
222
|
# 差异化处理完schema文件之后已完成schema整合,不在需要产品schema目录(强制删除时即使不存在也不会出错)
|
|
222
223
|
self.run_command(f"rm -rf {product_schema_path}", sudo=True)
|
|
223
224
|
|
|
225
|
+
# 将默认接口配置复制到节点目录中
|
|
226
|
+
def copy_interface_config(self, config_path, custom_path):
|
|
227
|
+
for config_dir in os.listdir(config_path):
|
|
228
|
+
# redfish的schema文件仍放在原路径,不需要进行复制
|
|
229
|
+
if not re.match(r'^[a-fA-F0-9]{2}_[a-fA-F0-9]{2}$', config_dir) and \
|
|
230
|
+
config_dir != "static_resource" and config_dir != "config_patch":
|
|
231
|
+
source_path = os.path.join(config_path, config_dir)
|
|
232
|
+
copy_cmd = f"cp -r {source_path} {custom_path}/"
|
|
233
|
+
self.tools.run_command(copy_cmd, sudo=True)
|
|
234
|
+
|
|
235
|
+
# 支持产品层级多节点共包,每个节点有独立的定制化接口配置
|
|
236
|
+
def custom_mapping_config_patch(self, config_path):
|
|
237
|
+
for custom_item in os.listdir(config_path):
|
|
238
|
+
# 节点目录命名为xx_xx格式,以十六进制表示
|
|
239
|
+
if re.match(r'^[a-fA-F0-9]{2}_[a-fA-F0-9]{2}$', custom_item):
|
|
240
|
+
custom_path = os.path.join(config_path, custom_item)
|
|
241
|
+
self.copy_interface_config(config_path, custom_path)
|
|
242
|
+
patch_work = MappingConfigPatch(self.config, config_path=custom_path)
|
|
243
|
+
patch_work.run()
|
|
244
|
+
|
|
224
245
|
# 支持映射配置文件根据产品差异进行打补丁
|
|
225
246
|
def mapping_config_patch(self):
|
|
226
247
|
self.info("开始根据配置映射打补丁")
|
|
@@ -229,6 +250,9 @@ class TaskClass(Task):
|
|
|
229
250
|
ret = self.tools.run_command(f"test -d {config_path}", ignore_error=True, sudo=True)
|
|
230
251
|
if ret.returncode != 0:
|
|
231
252
|
continue
|
|
253
|
+
|
|
254
|
+
self.custom_mapping_config_patch(config_path)
|
|
255
|
+
# 各节点的配置打完补丁后再进行默认配置的打补丁操作
|
|
232
256
|
patch_work = MappingConfigPatch(self.config, config_path=config_path)
|
|
233
257
|
patch_work.run()
|
|
234
258
|
|
bmcgo/tasks/task_buildgppbin.py
CHANGED
|
@@ -24,6 +24,10 @@ from bmcgo import misc
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class TaskClass(Task):
|
|
27
|
+
def __init__(self, config, work_name=""):
|
|
28
|
+
super(TaskClass, self).__init__(config, work_name=work_name)
|
|
29
|
+
self.suffix = "BMC"
|
|
30
|
+
|
|
27
31
|
def copy_files(self):
|
|
28
32
|
rootca = os.path.join(self.config.work_out, misc.ROOTCA_DER)
|
|
29
33
|
crl = os.path.join(self.config.work_out, misc.CMS_CRL)
|
|
@@ -79,16 +83,17 @@ class TaskClass(Task):
|
|
|
79
83
|
else:
|
|
80
84
|
pmode_file = ""
|
|
81
85
|
|
|
86
|
+
self.write_gpp_bin(pmode_file)
|
|
82
87
|
|
|
88
|
+
def write_gpp_bin(self, pmode_file):
|
|
83
89
|
self.info(f"打包: {self.config.board_name}_gpp.bin")
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
files = f"hpm_top_header Hi1711_boot_4096.bin {pmode_file}"
|
|
91
|
+
files += f"hpm_sub_header rootca.der rootfs_{self.suffix}.img.cms cms.crl rootfs_{self.suffix}.tar.gz"
|
|
92
|
+
cmd = f"ls -al {files}"
|
|
86
93
|
self.run_command(cmd, show_log=True)
|
|
87
94
|
|
|
88
95
|
target_path = f"{self.config.work_out}/{self.config.board_name}_gpp.bin"
|
|
89
|
-
cmd = f"cat
|
|
90
|
-
cmd += "hpm_sub_header rootca.der rootfs_BMC.img.cms cms.crl rootfs_BMC.tar.gz"
|
|
91
|
-
self.info("执行命令: " + cmd)
|
|
96
|
+
cmd = f"cat {files}"
|
|
92
97
|
self.pipe_command([cmd], target_path)
|
|
93
98
|
|
|
94
99
|
def run(self):
|
|
@@ -99,31 +104,37 @@ class TaskClass(Task):
|
|
|
99
104
|
def move_dependency(self):
|
|
100
105
|
# 移动到tools/build_tools目录中
|
|
101
106
|
self.chdir(self.config.sdk_path)
|
|
107
|
+
if self.config.chip == "1711":
|
|
108
|
+
self.prepare_boot_1711()
|
|
109
|
+
else:
|
|
110
|
+
self.prepare_boot_1712()
|
|
111
|
+
|
|
112
|
+
def prepare_boot_1711(self):
|
|
102
113
|
unsigned_boot = None
|
|
103
114
|
for file in os.listdir("."):
|
|
104
115
|
if re.match("^Hi1711_[0-9]{8}_[0-9a-f]{40}.tar.gz$", file) is None:
|
|
105
116
|
continue
|
|
106
117
|
unsigned_boot = file
|
|
107
118
|
break
|
|
108
|
-
|
|
119
|
+
|
|
109
120
|
if self.config.self_sign:
|
|
110
121
|
if not unsigned_boot:
|
|
111
122
|
raise errors.BmcGoException("打开了自签名模式但未找到待签名的uboot文件,构建失败")
|
|
112
|
-
self.run_command(f"tar -xvf {
|
|
123
|
+
self.run_command(f"tar -xvf {unsigned_boot}")
|
|
113
124
|
# 解压uboot_debug未签名包
|
|
114
125
|
os.makedirs("origin_uboot_debug")
|
|
115
126
|
self.run_command(f"tar -xvf bin/original_bin/uboot_debug.tar.gz -C origin_uboot_debug")
|
|
116
|
-
self.
|
|
127
|
+
self.self_sign_uboot_1711("origin_uboot_debug", ".", True)
|
|
117
128
|
# 解压uboot未签名包
|
|
118
129
|
os.makedirs("origin_uboot")
|
|
119
130
|
self.run_command(f"tar -xvf bin/original_bin/uboot.tar.gz -C origin_uboot")
|
|
120
|
-
self.
|
|
121
|
-
|
|
131
|
+
self.self_sign_uboot_1711("origin_uboot", ".", False)
|
|
132
|
+
else:
|
|
122
133
|
self.run_command(f"dd if=Hi1711_boot_4096_pmode.bin of=Hi1711_boot_pmode.bin bs=1k count=1024 skip=768")
|
|
123
134
|
self.run_command(f"dd if=Hi1711_boot_4096_pmode_debug.bin of=Hi1711_boot_pmode_debug.bin bs=1k " +
|
|
124
135
|
"count=1024 skip=768")
|
|
125
136
|
|
|
126
|
-
def
|
|
137
|
+
def self_sign_uboot_1711(self, uboot_dir, output_dir, is_debug):
|
|
127
138
|
"""签名uboot包"""
|
|
128
139
|
cwd = os.getcwd()
|
|
129
140
|
output_dir = os.path.realpath(output_dir)
|
|
@@ -137,9 +148,15 @@ class TaskClass(Task):
|
|
|
137
148
|
self.signature("uboot.bin", "uboot.bin.cms", "cms.crl", "rootca.der")
|
|
138
149
|
self.copy_gpp_headers_files()
|
|
139
150
|
self.run_command("gpp_header uboot")
|
|
140
|
-
self.run_command("make_uboot_img.sh
|
|
141
|
-
run_cmd =
|
|
151
|
+
self.run_command(f"make_uboot_img.sh {l0_kb_size}")
|
|
152
|
+
run_cmd = (
|
|
153
|
+
f"dd if=Hi1711_boot_4096.bin of={output_dir}/Hi1711_boot_pmode{debug_flag}.bin "
|
|
142
154
|
f" bs=1K count=1024 skip={l0_kb_size}"
|
|
155
|
+
)
|
|
143
156
|
self.run_command(run_cmd)
|
|
144
157
|
self.run_command(f"cp Hi1711_boot_4096.bin {output_dir}/Hi1711_boot_4096{debug_flag}.bin")
|
|
145
158
|
self.chdir(cwd)
|
|
159
|
+
|
|
160
|
+
def prepare_boot_1712(self):
|
|
161
|
+
# 打桩函数,不允许变更函数名,供扩展实现
|
|
162
|
+
pass
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
bmcgo/__init__.py,sha256=
|
|
1
|
+
bmcgo/__init__.py,sha256=dKxwvYrGObODUzVxgVgu5y02h9fNOYaZHT0-1q3_PN0,562
|
|
2
2
|
bmcgo/bmcgo.py,sha256=uD4TsfjrFB5aQPIS6WRUVc9ShXX-dSImY9ezkB13g1w,685
|
|
3
3
|
bmcgo/bmcgo_config.py,sha256=-KYhC3jNqWkCWu6YkyxDZlyC3floXIHaibGpmyB6YWQ,11873
|
|
4
4
|
bmcgo/errors.py,sha256=QW1ndrJcJ2Ws7riOznPKVvZsNlrYk73eZol7w8gJTPU,3076
|
|
@@ -10,7 +10,7 @@ bmcgo/cli/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
|
10
10
|
bmcgo/cli/cli.py,sha256=O4FHWNLUyqNjs0BoD3aYzPyi3L3mCg7rsIL0mP7_x0U,27748
|
|
11
11
|
bmcgo/cli/config.conan2.yaml,sha256=SAtM_6_qOjZbkgUT5fzWbhbq4aWCayqE8o4xJ2vBRww,261
|
|
12
12
|
bmcgo/cli/config.yaml,sha256=tbnFhz2TTrl2-ALpHHujbXB1ymZpjGC4f0zTfqfUZfM,194
|
|
13
|
-
bmcgo/codegen/__init__.py,sha256=
|
|
13
|
+
bmcgo/codegen/__init__.py,sha256=lZxBtUuoXbVMqRJkvIqqNF4jeMLEb9Y66dch5roQBcc,775
|
|
14
14
|
bmcgo/codegen/c/__init__.py,sha256=tmBG8c6sfxgIj__lyyU5mydWeKBdqbDuIQkLI38lwjI,522
|
|
15
15
|
bmcgo/codegen/c/annotation.py,sha256=c4NiF6b9R-HbwbBGNhnH5zrfcPAYBkhWq30PT9CKzw4,1987
|
|
16
16
|
bmcgo/codegen/c/argument.py,sha256=oH08szRKxkL0S3dUZ3P8x4JV1UVFqadzhuZ343RbuHM,1871
|
|
@@ -40,9 +40,9 @@ bmcgo/codegen/lua/proto/Makefile,sha256=rS4nEBwWJEDYAb5XN9S7SfII7RMFb071jh0eh_KJ
|
|
|
40
40
|
bmcgo/codegen/lua/proto/ipmi_types.proto,sha256=BX09mymhhPkWqZE1UCVJACpLBeQh1vQN31oBRVVieFY,377
|
|
41
41
|
bmcgo/codegen/lua/proto/types.proto,sha256=_X8JCKZCvO6PfWh6tuWcEqKHROrh46rCZab-OCkfirA,1162
|
|
42
42
|
bmcgo/codegen/lua/script/base.py,sha256=E1_V6lmE5CjY2pqSYOpyNVGRVneC4pSLnLoNntm1I6A,823
|
|
43
|
-
bmcgo/codegen/lua/script/check_intfs.py,sha256=
|
|
43
|
+
bmcgo/codegen/lua/script/check_intfs.py,sha256=mXEp7mo-jDHIEMTDgz3U4br7ZQAOUUPcBUp2P3QAp3o,5916
|
|
44
44
|
bmcgo/codegen/lua/script/factory.py,sha256=pCkzFNkRjKNsITETzbgn3cBLPzP1bMi3Y84pozEEGjk,1687
|
|
45
|
-
bmcgo/codegen/lua/script/gen_db_json.py,sha256=
|
|
45
|
+
bmcgo/codegen/lua/script/gen_db_json.py,sha256=_Y2RcXN0VenffuvP4VxotcwYcCynOM3xJ1YOHU5oDlo,17145
|
|
46
46
|
bmcgo/codegen/lua/script/gen_depends.py,sha256=9erHhPSa6s-Ucv2k1vCc4aR6rsO0WxkM0yfZZKXi-1w,2720
|
|
47
47
|
bmcgo/codegen/lua/script/gen_entry.py,sha256=k__I5VBts9RM0g_KzSGr2csc_tRjXAms_GSqx6DllHY,10368
|
|
48
48
|
bmcgo/codegen/lua/script/gen_feature_json.py,sha256=gMCAIF_ZMgFIP5wXV_Of51XG61zmsDxhCeqthnj_hHQ,4855
|
|
@@ -51,7 +51,7 @@ bmcgo/codegen/lua/script/gen_intf_json.py,sha256=J_yLbYzvTps1Teej-fecLRR2Vfqz6kW
|
|
|
51
51
|
bmcgo/codegen/lua/script/gen_intf_rpc_json.py,sha256=4gKv4dFrnU8uJsnTySFiqpP6ZFnJCqC_cy1LvuS6n58,19576
|
|
52
52
|
bmcgo/codegen/lua/script/gen_ipmi_json.py,sha256=wTktlR1YZO-5PdZid8zMR8JHojL4eAn7LpF76Z46lu4,17340
|
|
53
53
|
bmcgo/codegen/lua/script/gen_mdb_json.py,sha256=2w2fk6jIlMCr6WT5yzLOmWenk_9-lh3e19oV1lDghcY,3027
|
|
54
|
-
bmcgo/codegen/lua/script/gen_rpc_msg_json.py,sha256=
|
|
54
|
+
bmcgo/codegen/lua/script/gen_rpc_msg_json.py,sha256=D53yEya9aB2mI0EvD6maPuNNn2_r0BT1Mw_UVMExg9Y,19708
|
|
55
55
|
bmcgo/codegen/lua/script/gen_schema.py,sha256=9sfqv7fHYoCiokotesBER2HglqHwrj08ftQDbrDjrlI,10600
|
|
56
56
|
bmcgo/codegen/lua/script/ipmi_types_pb2.py,sha256=CaCartJKCRgx5WLBg4mbzS8VXwSKy380o6BPYgouAJQ,6665
|
|
57
57
|
bmcgo/codegen/lua/script/lua_format.py,sha256=W3UO-II34qY0_st6QiHwSOrQZnqdz4mLWOIB3pfGe58,2003
|
|
@@ -64,15 +64,15 @@ bmcgo/codegen/lua/script/proto_loader.py,sha256=w6TTyLvXrdXZKTKOGf87kSuSsbBviVeQ
|
|
|
64
64
|
bmcgo/codegen/lua/script/proto_plugin.py,sha256=hfFr7QXndA1dbFYmpUkemFxkdSchK8i8xml_3cMdBA4,5002
|
|
65
65
|
bmcgo/codegen/lua/script/redfish_source_tree.py,sha256=HzTGY4PViZXLQLOt_U7-YMqE5Ctf-Mxa1p5voOFJU4A,3905
|
|
66
66
|
bmcgo/codegen/lua/script/sep_ipmi_message_cmds.py,sha256=dQZog5e7Eo8Z7xSrp9sUri8vg-VtEj_Sll_E_OhnBw4,8209
|
|
67
|
-
bmcgo/codegen/lua/script/template.py,sha256=
|
|
67
|
+
bmcgo/codegen/lua/script/template.py,sha256=W3cnePvZpWWjXm36wAlUyKAV781x9v_1kNnE5IJP4A4,7051
|
|
68
68
|
bmcgo/codegen/lua/script/types_pb2.py,sha256=uiRP_JPK9EF57RUZuomx1K1M9_jZFZgsHXcatFrhzow,23074
|
|
69
|
-
bmcgo/codegen/lua/script/utils.py,sha256=
|
|
69
|
+
bmcgo/codegen/lua/script/utils.py,sha256=MT_WmFiwJ5kapvlFrjyEnyeke1i_Ihg8kVfSUCekIzM,26386
|
|
70
70
|
bmcgo/codegen/lua/script/validate.py,sha256=_RHZBSDZklmcjETD8zRmnhz4DABzKoL-fNl1I9L4Ofs,2096
|
|
71
71
|
bmcgo/codegen/lua/script/yaml_to_json.py,sha256=31J1qJPIAJrx9Cq6bNZks3QCZ754spI5mjZNlshkcJ4,2291
|
|
72
72
|
bmcgo/codegen/lua/script/dto/__init__.py,sha256=nSBpsAbZ7UGd0a25ys_LLEpi3juPtUhVMy_tgGuZsNY,560
|
|
73
73
|
bmcgo/codegen/lua/script/dto/exception.py,sha256=PDuaO5-IoCq1bjPlUMLWc5MGC7LcerPD4EgX5Su6fa4,2026
|
|
74
74
|
bmcgo/codegen/lua/script/dto/kepler_abstract.py,sha256=0rfLwN2n-8-wp7C7isHuTMwDyKkYvwUKujqlmUvtaKA,1741
|
|
75
|
-
bmcgo/codegen/lua/script/dto/options.py,sha256=
|
|
75
|
+
bmcgo/codegen/lua/script/dto/options.py,sha256=pZsYgQ727NrbvG2e4QuSkM5udYVCkEX390mbjqn4SMI,1488
|
|
76
76
|
bmcgo/codegen/lua/script/dto/print_simple.py,sha256=imrPW2zlmCIcM6Nfg4HSPE2Y14g2n8uSGj-JOjJ2ijY,723
|
|
77
77
|
bmcgo/codegen/lua/script/dto/redfish_api.py,sha256=iifn1jNHtIoal0-YA-4bvNm8wLOLqloA3S9p99bD8Qg,8411
|
|
78
78
|
bmcgo/codegen/lua/script/dto/url_route.py,sha256=DkgV0Ok5FBgkVqikPcFX_OJdLm0Sd7VL7NATS_aCBpg,7849
|
|
@@ -91,7 +91,7 @@ bmcgo/codegen/lua/script/render_utils/ipmi_message_lua.py,sha256=Y-5pXMfAPDZqqoA
|
|
|
91
91
|
bmcgo/codegen/lua/script/render_utils/mdb_lua.py,sha256=gKX_GUkIbYbbviBw9cEO3pfTwoLWurczYFmoOoWA1Us,6141
|
|
92
92
|
bmcgo/codegen/lua/script/render_utils/message_lua.py,sha256=ZHJy35iJir1O149dafZnl-oEdU89-eP6VIeQmKjh9D8,1155
|
|
93
93
|
bmcgo/codegen/lua/script/render_utils/messages_lua.py,sha256=hFBLl3tqh7KIeljm0JEEyeDXkKSDxjtVMirc3euckyI,5189
|
|
94
|
-
bmcgo/codegen/lua/script/render_utils/model_lua.py,sha256=
|
|
94
|
+
bmcgo/codegen/lua/script/render_utils/model_lua.py,sha256=WstgLjxmdYNqMhkwZTu0dHXCKROv-h_tRRAdEN2XkdM,18737
|
|
95
95
|
bmcgo/codegen/lua/script/render_utils/old_model_lua.py,sha256=OFUPJOaiXDjXpknbh6Pw0TNC1dUVtjPbuIs-3fSN7p4,15611
|
|
96
96
|
bmcgo/codegen/lua/script/render_utils/plugin_lua.py,sha256=-_r-MqjDNnoYel6zdsNSkqYI3w1DKJPwJy5Vsevl33s,1481
|
|
97
97
|
bmcgo/codegen/lua/script/render_utils/redfish_proto.py,sha256=lAVo9pPxkc7Iv22enuqCOJVTFy8_63C57iADjzYWz5g,3130
|
|
@@ -102,11 +102,11 @@ bmcgo/codegen/lua/script/render_utils/validate_lua.py,sha256=NVjMWZwMxwUj9kdTaCR
|
|
|
102
102
|
bmcgo/codegen/lua/templates/Makefile,sha256=-br3qnXM_73_nJhYVgF7TsNtVxt_p_h4l5TYPjWqQIs,4044
|
|
103
103
|
bmcgo/codegen/lua/templates/errors.lua.mako,sha256=T93tESJl0K3r5izufq6NsqqCptQbVslpsTEjkQdDq0U,1536
|
|
104
104
|
bmcgo/codegen/lua/templates/messages.lua.mako,sha256=tbvVXx-zodE5sqyKNW4-dzNmPpZ2yBKpkECsIf9-tkU,1115
|
|
105
|
-
bmcgo/codegen/lua/templates/apps/Makefile,sha256=
|
|
105
|
+
bmcgo/codegen/lua/templates/apps/Makefile,sha256=k8CN5UdGAS-VkzSaYVPSNlJIbaCQn8uq8c0TX7FygHg,19526
|
|
106
106
|
bmcgo/codegen/lua/templates/apps/Makefile.mdb.mk,sha256=Qmd-n_YsQbfnpED_6PIp_6pL13w6UCCGgBoBA4h6r_0,3296
|
|
107
107
|
bmcgo/codegen/lua/templates/apps/app.lua.mako,sha256=Y_aZCPyNgeqfa39_RWxV-_m3out1p4vTTWnzqXtPV7E,276
|
|
108
108
|
bmcgo/codegen/lua/templates/apps/class.lua.mako,sha256=FZsGAZeiytVwihxyyjhw6Hvv4V01Lhtz8Q9FPZYieZw,1208
|
|
109
|
-
bmcgo/codegen/lua/templates/apps/client.lua.mako,sha256=
|
|
109
|
+
bmcgo/codegen/lua/templates/apps/client.lua.mako,sha256=NWTE9VteYnqi1zaWv4ToDsMTWe8Hf8ZSwkoKzohuW9Y,18028
|
|
110
110
|
bmcgo/codegen/lua/templates/apps/controller.lua.mako,sha256=ET9dSNasgAw7HuhLxV4pwq2X-E44Zk1rKSQJPUj_ir0,11310
|
|
111
111
|
bmcgo/codegen/lua/templates/apps/datas.lua.mako,sha256=xAU1c9xe3-bcVfxA3vSbvrkCDcKqCv65gM92lcSPwvo,135
|
|
112
112
|
bmcgo/codegen/lua/templates/apps/db.lua.mako,sha256=wROjv7qofMaZhTrAywhIWhwuDL9Gs3UMHSQJ97tKZD0,2723
|
|
@@ -123,16 +123,16 @@ bmcgo/codegen/lua/templates/apps/mc.lua.mako,sha256=_PMYCI0-RImOv2LQYZU0aUKuL4jM
|
|
|
123
123
|
bmcgo/codegen/lua/templates/apps/mdb.lua.mako,sha256=SWZejbAl-27d8Q_pb_I0IOAxxKIX3aEd2IXke2QHyvg,1237
|
|
124
124
|
bmcgo/codegen/lua/templates/apps/mdb_interface.lua.mako,sha256=wZYf_FZa8nQO0bF9X4ilog47RO7I3VYE1cZdQ8IPg2M,2371
|
|
125
125
|
bmcgo/codegen/lua/templates/apps/message.lua.mako,sha256=Rj1B_wi8dc2IUvoT0-Q2TfgUpIBxsXXaeqk00zXW1RA,1025
|
|
126
|
-
bmcgo/codegen/lua/templates/apps/model.lua.mako,sha256=
|
|
126
|
+
bmcgo/codegen/lua/templates/apps/model.lua.mako,sha256=GT2aI4LVPBO1fQJncFoS9GPqzxtFVfKIdenvAzvsAJI,8956
|
|
127
127
|
bmcgo/codegen/lua/templates/apps/orm_classes.lua.mako,sha256=Oz2fKu5uhDJn7d0q178rgX9IDJ4Xmm0nfZYYrek5SNY,335
|
|
128
128
|
bmcgo/codegen/lua/templates/apps/plugin.lua.mako,sha256=w8aVvxcuNKEmHjWiwFhe6aSIxkMHJKMuc5EaKNgb7DQ,246
|
|
129
129
|
bmcgo/codegen/lua/templates/apps/redfish.proto.mako,sha256=0yisLKgHi-wuipvjbVZGYH_8ESCEr4wcB3KvAWsJUyE,2628
|
|
130
|
-
bmcgo/codegen/lua/templates/apps/service.lua.mako,sha256=
|
|
130
|
+
bmcgo/codegen/lua/templates/apps/service.lua.mako,sha256=eYCNAsu-fG93hFYwyueM8Y45Tkd84trMQGbkukBSrg0,15724
|
|
131
131
|
bmcgo/codegen/lua/templates/apps/signal_listen.lua.mako,sha256=K3I2xg7iXw60Z-PTiSFq_BNJFHjK6GdBOxUF3XfXHNA,602
|
|
132
132
|
bmcgo/codegen/lua/templates/apps/utils/default_intf.lua.mako,sha256=PD8_TWmefd17hP03_BUPMnuvRa0sheLlYMF0QOYGwWM,1392
|
|
133
133
|
bmcgo/codegen/lua/templates/apps/utils/enum.mako,sha256=6rmXhAScF2yx4izXa0V1mQimqgWGysdMbAEIGhUVcU0,499
|
|
134
134
|
bmcgo/codegen/lua/templates/apps/utils/imports.mako,sha256=Dj7WEQ-rzy1j19Ox38TA99vzK2So2VdAcdZ9CTKsg5c,433
|
|
135
|
-
bmcgo/codegen/lua/templates/apps/utils/mdb_intf.lua.mako,sha256=
|
|
135
|
+
bmcgo/codegen/lua/templates/apps/utils/mdb_intf.lua.mako,sha256=JDliqjdIlJeOJlgzxIRJwp8J8a5MFFyRTR3GxrjijgA,1490
|
|
136
136
|
bmcgo/codegen/lua/templates/apps/utils/mdb_obj.lua.mako,sha256=sq4tCcQQK7HLcfyszHrYmBy5HlgOt4jyQxHqvzwSzeY,801
|
|
137
137
|
bmcgo/codegen/lua/templates/apps/utils/message.mako,sha256=IAKhqdzR-dPzPF_akR1EieD-aQ2B33DaeU-287gXQN4,4958
|
|
138
138
|
bmcgo/codegen/lua/templates/apps/utils/request.lua.mako,sha256=8ZQ_SxYq1s0JjIDUyEAVlSj0trGdQSaz5UohjMf0SfQ,3071
|
|
@@ -158,14 +158,14 @@ bmcgo/codegen/lua/templates/new_app/user_conf/rootfs/etc/systemd/system/multi-us
|
|
|
158
158
|
bmcgo/codegen/lua/v1/script/gen_schema.py,sha256=LtSswrIqjgk3PuGSlzKSB5Cw5OeSafYkm7PdLQ7Mrao,11717
|
|
159
159
|
bmcgo/codegen/lua/v1/script/render_utils/client_lua.py,sha256=0dKvOrd-fihPUZckr8_y275STe1rWppIWpYxHhtz-no,3773
|
|
160
160
|
bmcgo/codegen/lua/v1/script/render_utils/db_lua.py,sha256=59XfkKtUz8Rv73zcyIcQR25JN_2atS4hQq_4BcXRrqo,7948
|
|
161
|
-
bmcgo/codegen/lua/v1/script/render_utils/model_lua.py,sha256=
|
|
162
|
-
bmcgo/codegen/lua/v1/templates/apps/client.lua.mako,sha256=
|
|
161
|
+
bmcgo/codegen/lua/v1/script/render_utils/model_lua.py,sha256=aFLapGuGRSRrRsLYVlpUzisHGdesDgxeeR-QQXIjA3A,19263
|
|
162
|
+
bmcgo/codegen/lua/v1/templates/apps/client.lua.mako,sha256=LpYZshtj9t4A7ofGz2klgsRwrBzG8Q9HYhX8WMoBL1s,10753
|
|
163
163
|
bmcgo/codegen/lua/v1/templates/apps/db.lua.mako,sha256=zrlqjVN9k6G1i3OeW2OROxzsYyhNAY-wpDt_nva5jL4,2094
|
|
164
164
|
bmcgo/codegen/lua/v1/templates/apps/local_db.lua.mako,sha256=6Tp99mTF9tLTMz2K6kviaxG9Lwtt0d6cMYY7ZGgMFCE,6460
|
|
165
165
|
bmcgo/codegen/lua/v1/templates/apps/message.lua.mako,sha256=-AUAwlgVIaNN7fiReXqDXX5Icq88i0SAar5XHlCrXQU,1039
|
|
166
|
-
bmcgo/codegen/lua/v1/templates/apps/model.lua.mako,sha256=
|
|
166
|
+
bmcgo/codegen/lua/v1/templates/apps/model.lua.mako,sha256=MfT94MxEI0lUZXyLWf1GXgtAc4nYtgnTL-9t8zmokgY,2085
|
|
167
167
|
bmcgo/codegen/lua/v1/templates/apps/service.lua.mako,sha256=wd_NJtiSSMbR-lxEqv-rluHOdUCpeV9ZlrZDA7DDaZY,5564
|
|
168
|
-
bmcgo/codegen/lua/v1/templates/apps/utils/mdb_intf.lua.mako,sha256=
|
|
168
|
+
bmcgo/codegen/lua/v1/templates/apps/utils/mdb_intf.lua.mako,sha256=QxiwSUH8VcAQs-af8q3uN8evq6qzIWGOKf9mN43P0iE,1235
|
|
169
169
|
bmcgo/codegen/lua/v1/templates/apps/utils/mdb_obj.lua.mako,sha256=oCzx2u3bjvCdNKX5oC8j6Q-Zb21q6SFCqd14_VzrWvo,349
|
|
170
170
|
bmcgo/component/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
171
171
|
bmcgo/component/build.py,sha256=zEtX3IG43z-EC8frpuRRH8zx2KjVuA1LlLnhDgErhqE,12920
|
|
@@ -224,9 +224,9 @@ bmcgo/tasks/__init__.py,sha256=VapgzhPMmB7dzPIRohoVm1jjfVn_v97cYNCRmkxScaU,539
|
|
|
224
224
|
bmcgo/tasks/misc.py,sha256=GK_bSDLGZW0FxywB2ICG1iIEz2y2QoCb1YQQk8SYOIA,711
|
|
225
225
|
bmcgo/tasks/task.py,sha256=95nKxTe5PW3rfhpm5YFasPtmP8oCraeWJKq0D5mbl6A,18578
|
|
226
226
|
bmcgo/tasks/task_build_conan.py,sha256=Si-8fIrQ_Vva6gw0kdLApEZY5cKt8Mt1C_8Ef4If61I,53872
|
|
227
|
-
bmcgo/tasks/task_build_rootfs_img.py,sha256=
|
|
227
|
+
bmcgo/tasks/task_build_rootfs_img.py,sha256=ffFLFVZ6wMpAvUi9au32IYNTr8TBmi7R6ZE1orvOj68,30565
|
|
228
228
|
bmcgo/tasks/task_build_wbd_up.py,sha256=X9-0Qqad-s3mGfJBMeBQvfZ99KlWcgaMluDr_zv6Z-o,3122
|
|
229
|
-
bmcgo/tasks/task_buildgppbin.py,sha256=
|
|
229
|
+
bmcgo/tasks/task_buildgppbin.py,sha256=VdViuNyOEBwHV3zbP6fJnZ3aUxK_RwyIPTv4Hseszrw,7018
|
|
230
230
|
bmcgo/tasks/task_buildhpm_ext4.py,sha256=giAWz-XYmtYv6KTK9BJOyXJY7yDar6oONmEvHPoqsl0,3514
|
|
231
231
|
bmcgo/tasks/task_create_interface_config.py,sha256=rkFRGLrUgYCics-n1CKwCoQscU2BaRQkH7KP3zwJ6FI,5393
|
|
232
232
|
bmcgo/tasks/task_download_buildtools.py,sha256=imiOIWXxKOiWolALasTuSp3EkXrVeFWD0bPLERA78W0,4520
|
|
@@ -263,8 +263,8 @@ bmcgo/utils/installations/install_plans/qemu.yml,sha256=lT7aKag60QUH6hTGFKa3hGRq
|
|
|
263
263
|
bmcgo/utils/installations/install_plans/studio.yml,sha256=AEspVgsVAnmUdvqZYNCb7SPoUEq_0i61dfpauyguLa4,229
|
|
264
264
|
bmcgo/utils/installations/installers/apt_installer.py,sha256=nPaCb4cobSi9InN_aHsEPtQ0k4FgsCUWE5_VgBPvcRE,3769
|
|
265
265
|
bmcgo/utils/installations/installers/pip_installer.py,sha256=dDdios1EQ7fzt90r02pZeoM3jCmjslLzkSvzd2hgRVM,3241
|
|
266
|
-
openubmc_bingo-0.6.
|
|
267
|
-
openubmc_bingo-0.6.
|
|
268
|
-
openubmc_bingo-0.6.
|
|
269
|
-
openubmc_bingo-0.6.
|
|
270
|
-
openubmc_bingo-0.6.
|
|
266
|
+
openubmc_bingo-0.6.73.dist-info/METADATA,sha256=PHXfq2bMBgoUx9je1I5Eovu_Z1ZmXNWXl4VHk54cIDw,1010
|
|
267
|
+
openubmc_bingo-0.6.73.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
268
|
+
openubmc_bingo-0.6.73.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
|
|
269
|
+
openubmc_bingo-0.6.73.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
|
|
270
|
+
openubmc_bingo-0.6.73.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|