openubmc-bingo 0.5.269__py3-none-any.whl → 0.5.272__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/lua/templates/apps/ipmi.lua.mako +1 -1
- bmcgo/component/analysis/smc_dfx_whitelist.json +8 -7
- bmcgo/component/analysis/sr_validation.py +13 -32
- bmcgo/ipmigen/template/cmd.c.mako +1 -1
- bmcgo/tasks/task_build_rootfs_img.py +3 -1
- bmcgo/worker.py +52 -47
- {openubmc_bingo-0.5.269.dist-info → openubmc_bingo-0.5.272.dist-info}/METADATA +1 -1
- {openubmc_bingo-0.5.269.dist-info → openubmc_bingo-0.5.272.dist-info}/RECORD +12 -12
- {openubmc_bingo-0.5.269.dist-info → openubmc_bingo-0.5.272.dist-info}/WHEEL +0 -0
- {openubmc_bingo-0.5.269.dist-info → openubmc_bingo-0.5.272.dist-info}/entry_points.txt +0 -0
- {openubmc_bingo-0.5.269.dist-info → openubmc_bingo-0.5.272.dist-info}/top_level.txt +0 -0
bmcgo/__init__.py
CHANGED
|
@@ -46,7 +46,7 @@ ${ClassName}.${ipmi['name']} = {
|
|
|
46
46
|
encode = ${utils_py.format_value(render_utils.get_option(ipmi, 'encode'), '')},
|
|
47
47
|
req = msg.${ipmi['name']}Req,
|
|
48
48
|
rsp = msg.${ipmi['name']}Rsp,
|
|
49
|
-
% if version >=
|
|
49
|
+
% if version >= 3:
|
|
50
50
|
manufacturer = ${utils_py.format_value(render_utils.get_manufacturer(ipmi), '')},
|
|
51
51
|
% endif
|
|
52
52
|
sysLockedPolicy = '${render_utils.get_sys_locked_policy(ipmi)}'
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
"ChipType": "Smc",
|
|
4
|
+
"ChipAddress": 96,
|
|
5
|
+
"ScannerOffset": 1006636292
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"ChipType": "Chip",
|
|
9
|
+
"ChipAddress": 212,
|
|
10
|
+
"ScannerOffset": 39
|
|
10
11
|
}
|
|
11
12
|
]
|
|
@@ -16,7 +16,7 @@ import stat
|
|
|
16
16
|
import re
|
|
17
17
|
from collections import defaultdict
|
|
18
18
|
from pathlib import Path
|
|
19
|
-
from typing import Dict, List
|
|
19
|
+
from typing import Dict, List, Set, Tuple
|
|
20
20
|
from colorama import Fore, Style
|
|
21
21
|
from bmcgo.logger import Logger
|
|
22
22
|
|
|
@@ -193,7 +193,7 @@ class SrValidate(SrParser):
|
|
|
193
193
|
self.is_sr_repo = False
|
|
194
194
|
self.is_product_sr_repo = False
|
|
195
195
|
self.check_repo_type()
|
|
196
|
-
self.smc_dfx_whitelist: Dict[str,
|
|
196
|
+
self.smc_dfx_whitelist: Dict[str, Set[Tuple[int, int]]] = defaultdict(set)
|
|
197
197
|
self.load_smc_dfx_whitelist()
|
|
198
198
|
|
|
199
199
|
@staticmethod
|
|
@@ -207,25 +207,6 @@ class SrValidate(SrParser):
|
|
|
207
207
|
continue
|
|
208
208
|
hardware_sr_objects[obj_name][prop_name] = prop_data
|
|
209
209
|
|
|
210
|
-
@staticmethod
|
|
211
|
-
def get_uid(sr_objects: Dict[str, Dict]):
|
|
212
|
-
tianchi_uid = ""
|
|
213
|
-
for obj_name, obj_data in sr_objects.items():
|
|
214
|
-
class_name = SrParser.get_class_name(obj_name)
|
|
215
|
-
uid = obj_data.get("UID")
|
|
216
|
-
if class_name == 'SRUpgrade' and uid:
|
|
217
|
-
# 优先返回SRUpgrade对象下配置的UID
|
|
218
|
-
return uid
|
|
219
|
-
tianchi_data = obj_data.get("bmc.dev.Board.TianChi")
|
|
220
|
-
if isinstance(tianchi_data, dict) and not tianchi_uid:
|
|
221
|
-
inner_uid = tianchi_data.get("UID")
|
|
222
|
-
if inner_uid:
|
|
223
|
-
tianchi_uid = inner_uid
|
|
224
|
-
elif uid:
|
|
225
|
-
tianchi_uid = uid
|
|
226
|
-
# 找不到SRUpgrade对象下配置的UID后,再返回按设备树方案查找的UID
|
|
227
|
-
return tianchi_uid
|
|
228
|
-
|
|
229
210
|
@staticmethod
|
|
230
211
|
def get_chip_ref(obj_data: Dict):
|
|
231
212
|
value = obj_data.get(CHIP_KEY)
|
|
@@ -253,7 +234,11 @@ class SrValidate(SrParser):
|
|
|
253
234
|
with open(whitelist_file, 'r') as file_descriptor:
|
|
254
235
|
content = json.load(file_descriptor)
|
|
255
236
|
for item in content:
|
|
256
|
-
|
|
237
|
+
chip_type = item.get("ChipType")
|
|
238
|
+
chip_address = item.get("ChipAddress")
|
|
239
|
+
scanner_offset = item.get("ScannerOffset")
|
|
240
|
+
if isinstance(chip_type, str) and isinstance(chip_address, int) and isinstance(scanner_offset, int):
|
|
241
|
+
self.smc_dfx_whitelist[chip_type].add((chip_address, scanner_offset))
|
|
257
242
|
except Exception as e:
|
|
258
243
|
log.error('smc_dfx_whitelist.json 文件解析失败: %s', e)
|
|
259
244
|
|
|
@@ -354,18 +339,15 @@ class SrValidate(SrParser):
|
|
|
354
339
|
self.issues_report[relpath].add(("error", f"器件'{obj}'有多条上行总线"))
|
|
355
340
|
chips.add(obj)
|
|
356
341
|
|
|
357
|
-
def match_smc_dfx_whitelist(self, file_objs: Dict[str, Dict],
|
|
358
|
-
if chip not in file_objs
|
|
342
|
+
def match_smc_dfx_whitelist(self, file_objs: Dict[str, Dict], chip: str, scanner_data: Dict):
|
|
343
|
+
if chip not in file_objs:
|
|
359
344
|
return False
|
|
360
345
|
chip_data = file_objs.get(chip)
|
|
361
|
-
|
|
346
|
+
chip_address = chip_data.get("Address")
|
|
362
347
|
scanner_offset = scanner_data.get("Offset")
|
|
363
|
-
if not
|
|
348
|
+
if not chip_address or not scanner_offset:
|
|
364
349
|
return False
|
|
365
|
-
|
|
366
|
-
if item.get("SmcAddress") == smc_address and item.get("ScannerOffset") == scanner_offset:
|
|
367
|
-
return True
|
|
368
|
-
return False
|
|
350
|
+
return (chip_address, scanner_offset) in self.smc_dfx_whitelist[SrParser.get_class_name(chip)]
|
|
369
351
|
|
|
370
352
|
def check_smc_dfx_info(self, relpath: str):
|
|
371
353
|
smc_dfx_info_objs = {}
|
|
@@ -376,12 +358,11 @@ class SrValidate(SrParser):
|
|
|
376
358
|
if not smc_dfx_info_objs:
|
|
377
359
|
return
|
|
378
360
|
|
|
379
|
-
uid = self.get_uid(self.sr_objs[relpath])
|
|
380
361
|
for obj_name, obj_data in self.sr_objs[relpath].items():
|
|
381
362
|
chip = self.get_chip_ref(obj_data)
|
|
382
363
|
condition = self.get_class_name(obj_name) == "Scanner" and obj_name != "Scanner_PowerGood" \
|
|
383
364
|
and chip and chip in smc_dfx_info_objs
|
|
384
|
-
condition = condition and not self.match_smc_dfx_whitelist(self.sr_objs[relpath],
|
|
365
|
+
condition = condition and not self.match_smc_dfx_whitelist(self.sr_objs[relpath], chip, obj_data)
|
|
385
366
|
if not condition:
|
|
386
367
|
continue
|
|
387
368
|
smc_dfx_info_obj_name, smc_dfx_info_obj_data = smc_dfx_info_objs.get(chip)
|
|
@@ -351,7 +351,7 @@ static void ${cmd.name}_start(void)
|
|
|
351
351
|
% if version >= 3:
|
|
352
352
|
IpmiCmdInfo_set_Sensitive(obj, ${"TRUE" if cmd.sensitive else "FALSE"});
|
|
353
353
|
% endif
|
|
354
|
-
% if version >=
|
|
354
|
+
% if version >= 3:
|
|
355
355
|
gint32 value[2] = ${cmd.manufacturer};
|
|
356
356
|
IpmiCmdInfo_set_Manufacturer(obj, 2, value);
|
|
357
357
|
% endif
|
|
@@ -66,7 +66,8 @@ class TaskClass(Task):
|
|
|
66
66
|
self.rtos_datafs = f"{self.rtos_rootfs}/data"
|
|
67
67
|
# 镜像挂载点
|
|
68
68
|
self.mnt_datafs = f"{self.buildimg_dir}/mnt_datafs"
|
|
69
|
-
self.
|
|
69
|
+
self.run_command(f"rm -rf {self.mnt_datafs}", sudo=True)
|
|
70
|
+
self.run_command(f"mkdir {self.mnt_datafs}", sudo=True)
|
|
70
71
|
self.tools.check_path(self.rtos_rootfs)
|
|
71
72
|
|
|
72
73
|
def component_cust_conf(self):
|
|
@@ -482,6 +483,7 @@ class TaskClass(Task):
|
|
|
482
483
|
|
|
483
484
|
# ! 制作datafs img镜像,供work_buildpkg_ext4.py使用
|
|
484
485
|
datafs_mount_path = f"{self.config.build_path}/mnt_datafs/"
|
|
486
|
+
self.run_command(f"rm -rf {datafs_mount_path}", sudo=True)
|
|
485
487
|
self.run_command(f"mkdir -p {datafs_mount_path}", sudo=True)
|
|
486
488
|
|
|
487
489
|
# 复制所有文件到挂载目录
|
bmcgo/worker.py
CHANGED
|
@@ -253,56 +253,61 @@ class WorkerScheduler(Process):
|
|
|
253
253
|
if not ret:
|
|
254
254
|
log.debug(f"等待任务 {self.work_name} 类 {self.klass} 发生错误")
|
|
255
255
|
return -1
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
if
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
log.error(f"运行子任务 {self.work_name} 类 {self.klass}失败")
|
|
294
|
-
return -1
|
|
295
|
-
# 创建include_target子任务
|
|
296
|
-
target_include = self.work.get("target_include")
|
|
297
|
-
if target_include:
|
|
298
|
-
ret = create_target_scheduler(work_name, target_include, self.perf, self.config, self.args)
|
|
256
|
+
try:
|
|
257
|
+
log.success(f"任务 {work_name} 开始")
|
|
258
|
+
target_config = self.work.get("target_config")
|
|
259
|
+
config.deal_conf(target_config)
|
|
260
|
+
# bmcgo的任务类名固定为TaskClass
|
|
261
|
+
work_class = self.load_class()
|
|
262
|
+
# 如果未指定类时,不需要执行
|
|
263
|
+
if work_class is not None:
|
|
264
|
+
work_x = work_class(config, work_name)
|
|
265
|
+
# work配置项和target配置项
|
|
266
|
+
work_config = self.work.get("work_config")
|
|
267
|
+
work_x.deal_conf(work_config)
|
|
268
|
+
ret = ws_client.set_if_not_exist(self.target_name, work_name, "Running")
|
|
269
|
+
self.perf.add_data(work_name, "running")
|
|
270
|
+
if not args.debug_frame and ret:
|
|
271
|
+
# 创建进程并且等待完成或超时
|
|
272
|
+
ret = work_x.run()
|
|
273
|
+
if ret is not None and ret != 0:
|
|
274
|
+
return -1
|
|
275
|
+
elif not args.debug_frame and not ret:
|
|
276
|
+
# 不需要创建进程,等待任务执行完成即可
|
|
277
|
+
wait_list = []
|
|
278
|
+
wait_list.append(work_name)
|
|
279
|
+
ret = wait_finish(self.target_name, wait_list, work_name)
|
|
280
|
+
if not ret:
|
|
281
|
+
log.debug(f"等待任务 {self.work_name} 类 {self.klass} 发生错误")
|
|
282
|
+
return -1
|
|
283
|
+
|
|
284
|
+
log.debug(f"任务 {work_name} 开始安装步骤")
|
|
285
|
+
if not args.debug_frame:
|
|
286
|
+
ret = work_x.install()
|
|
287
|
+
if ret is not None and ret != 0:
|
|
288
|
+
return -1
|
|
289
|
+
self.perf.add_data(work_name, "finish")
|
|
290
|
+
|
|
291
|
+
# 创建子任务
|
|
292
|
+
ret = exec_works(self.target_name, self.work.get("subworks"), work_name, self.perf, self.config, self.args)
|
|
299
293
|
if not ret:
|
|
300
294
|
ws_client.set(self.target_name, self.work_name, TASK_STATUS_FAILED, ignore_error=True)
|
|
301
|
-
log.error(f"
|
|
295
|
+
log.error(f"运行子任务 {self.work_name} 类 {self.klass}失败")
|
|
302
296
|
return -1
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
297
|
+
# 创建include_target子任务
|
|
298
|
+
target_include = self.work.get("target_include")
|
|
299
|
+
if target_include:
|
|
300
|
+
ret = create_target_scheduler(work_name, target_include, self.perf, self.config, self.args)
|
|
301
|
+
if not ret:
|
|
302
|
+
ws_client.set(self.target_name, self.work_name, TASK_STATUS_FAILED, ignore_error=True)
|
|
303
|
+
log.error(f"创建计划表 {target_include} 失败")
|
|
304
|
+
return -1
|
|
305
|
+
log.success(f"任务 {work_name} 完成")
|
|
306
|
+
ws_client.set(self.target_name, self.work_name, "Done")
|
|
307
|
+
return 0
|
|
308
|
+
except Exception as exc:
|
|
309
|
+
log.error(f"任务 {work_name} 执行失败, {str(exc)}")
|
|
310
|
+
raise errors.BmcGoException(f"任务 {work_name} 执行失败") from exc
|
|
306
311
|
|
|
307
312
|
|
|
308
313
|
class Worker():
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
bmcgo/__init__.py,sha256=
|
|
1
|
+
bmcgo/__init__.py,sha256=DlfF7Ejd_JSfShXVP-6tqxiwWr3mLrm5BaoI26J5HBY,563
|
|
2
2
|
bmcgo/bmcgo.py,sha256=uD4TsfjrFB5aQPIS6WRUVc9ShXX-dSImY9ezkB13g1w,685
|
|
3
3
|
bmcgo/bmcgo_config.py,sha256=zPghH-W8vNK1bAc5PjfwnWzkHYT499PlGbhUWhPKT5U,10888
|
|
4
4
|
bmcgo/errors.py,sha256=QW1ndrJcJ2Ws7riOznPKVvZsNlrYk73eZol7w8gJTPU,3076
|
|
5
5
|
bmcgo/frame.py,sha256=iUZSd3Pj7T4yDZYX7A4DeaV9dnmJqOTjMIiJMmL9zfM,10427
|
|
6
6
|
bmcgo/logger.py,sha256=4TPOkBA80Z00rSCOdEv_WkwE5Kr3HCDt-HuVe9waXck,6645
|
|
7
7
|
bmcgo/misc.py,sha256=KNO1PX54UnxBpvT-4Y5BKHSSeJrmDJaWnUwVhfGquu0,4259
|
|
8
|
-
bmcgo/worker.py,sha256
|
|
8
|
+
bmcgo/worker.py,sha256=hEzgS9_dZczjkWylxraqo6fvWde1aKndRiINNzq6xBM,15675
|
|
9
9
|
bmcgo/cli/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
10
10
|
bmcgo/cli/cli.py,sha256=pqAkvjrk4F7x58-fYeGn0TydT3szZ2pM7guYwDoU2Ew,21520
|
|
11
11
|
bmcgo/cli/config.yaml,sha256=tbnFhz2TTrl2-ALpHHujbXB1ymZpjGC4f0zTfqfUZfM,194
|
|
@@ -113,7 +113,7 @@ bmcgo/codegen/lua/templates/apps/entry.lua.mako,sha256=vedgTAr6Y9AIn69C_1qb5kzKf
|
|
|
113
113
|
bmcgo/codegen/lua/templates/apps/feature.lua.mako,sha256=c6gZ4fc62GG2Eg15UitkHVHE9bEq7qceOIwIsZ6AOtk,1105
|
|
114
114
|
bmcgo/codegen/lua/templates/apps/generate_route.mako,sha256=1T0ViRtA-m4MaXyv4vyGj-okc3tPsChdL205FIwTgoI,716
|
|
115
115
|
bmcgo/codegen/lua/templates/apps/impl_feature.lua.mako,sha256=lmb99UUocc7lKUMMl70RjfOjhkQCl7EZBGgqw-F6pBE,3255
|
|
116
|
-
bmcgo/codegen/lua/templates/apps/ipmi.lua.mako,sha256=
|
|
116
|
+
bmcgo/codegen/lua/templates/apps/ipmi.lua.mako,sha256=xzsmOvc1XHILCNSW6NyV5OPdbUzsW4focMR3Hf9I2D8,3834
|
|
117
117
|
bmcgo/codegen/lua/templates/apps/ipmi_cmd.lua.mako,sha256=om0Iw87ZunwFq_WZM_IyDVaj-7S7wTW9KZdowzQeRrw,408
|
|
118
118
|
bmcgo/codegen/lua/templates/apps/ipmi_message.lua.mako,sha256=nNwKm3SI_5fFFlfA92KlWCq5LgI4CQChmAH3Y2YTd5A,957
|
|
119
119
|
bmcgo/codegen/lua/templates/apps/local_db.lua.mako,sha256=CxyeW41Oo8G7PsRpO-k5a0ios1Y5m-DSRWKjfhNvI98,8408
|
|
@@ -182,8 +182,8 @@ bmcgo/component/analysis/dep_node.py,sha256=DSB30uim1Qrjs0zuphz0JXetP0ECBC7rzCEl
|
|
|
182
182
|
bmcgo/component/analysis/intf_deps.py,sha256=IlcPixdaBpXpb6U4M-I1hRRGHCg5SCUg07V6kAosacE,7382
|
|
183
183
|
bmcgo/component/analysis/intf_validation.py,sha256=zp_LiiJYYP8Y0lsFISX1KLY172q-qEOz0nFuQ--uPFQ,11131
|
|
184
184
|
bmcgo/component/analysis/rule.py,sha256=xvntmvFdGa0J8WBlrHDdJ5bcl3jr4pXezR3KKvOg4Ag,7549
|
|
185
|
-
bmcgo/component/analysis/smc_dfx_whitelist.json,sha256=
|
|
186
|
-
bmcgo/component/analysis/sr_validation.py,sha256=
|
|
185
|
+
bmcgo/component/analysis/smc_dfx_whitelist.json,sha256=ur8WLSSDM696_PtbSOYciMV50TzbUgP2voVt_QbTCw0,202
|
|
186
|
+
bmcgo/component/analysis/sr_validation.py,sha256=OrgPPjlOoLgRQyD_J6VZXAY0I6gtqGVOAhpGj0IY11Q,14876
|
|
187
187
|
bmcgo/component/coverage/__init__.py,sha256=ZgUEyI86FTlOdBzcuTzz7UqTtfWcz416Gx4BCqcQlhA,557
|
|
188
188
|
bmcgo/component/coverage/c_incremental_cov_report.template,sha256=FPhK1DZtmWsjDxa32R1ViH3IGCtNHcx0zFfgRo0s2nI,1576
|
|
189
189
|
bmcgo/component/coverage/incremental_cov.py,sha256=tkeGpWfXXkipeDTEB9bS_p2S60rL_Eh0AWQbnSwHlK0,16803
|
|
@@ -209,7 +209,7 @@ bmcgo/functional/upgrade.py,sha256=HgTtUYtntuRcsO9qb1ciBvZ2gwyHrd0snyH7gjPKA6o,3
|
|
|
209
209
|
bmcgo/ipmigen/__init__.py,sha256=xrppKUuQkt1jTqnr6gHWiWeEyUMFJeiZxcA7Hx9XXUo,789
|
|
210
210
|
bmcgo/ipmigen/ctype_defination.py,sha256=PmkKRWTvmVQsZ-njio16ayXpsyFhC6le9Tu0baWU-xw,3179
|
|
211
211
|
bmcgo/ipmigen/ipmigen.py,sha256=SZWoylTM-Tp4KSOQyfHidMjhhIzp4WIa40oxcrFfKB8,14506
|
|
212
|
-
bmcgo/ipmigen/template/cmd.c.mako,sha256=
|
|
212
|
+
bmcgo/ipmigen/template/cmd.c.mako,sha256=wqfIFXnmRIQ_UtlJjAVMOjjjIXz8E5xEJMFyw7ompIU,13955
|
|
213
213
|
bmcgo/ipmigen/template/ipmi.c.mako,sha256=LNrJmXQut4923aQkkkuHFp9tTR9ExrBi0WYfxVLTykU,696
|
|
214
214
|
bmcgo/ipmigen/template/ipmi.h.mako,sha256=veZ42lJq4hljyNH5uL_yesHpoANF3pprTL1VwTlflqs,2006
|
|
215
215
|
bmcgo/target/app.yml,sha256=OaCk1YntS6h_cKUt8rvJ7fkqXMFjK5v4Iu2Nhx66ZFY,469
|
|
@@ -221,7 +221,7 @@ bmcgo/tasks/download_buildtools_hm.py,sha256=f4UxStARc8Z8DnT_5O6ONajQ7P0sKyJ8bri
|
|
|
221
221
|
bmcgo/tasks/misc.py,sha256=GK_bSDLGZW0FxywB2ICG1iIEz2y2QoCb1YQQk8SYOIA,711
|
|
222
222
|
bmcgo/tasks/task.py,sha256=n7EhquD3FQeT8LHk0tREKOG9t1BcbMge_TY6ekGFydk,17064
|
|
223
223
|
bmcgo/tasks/task_build_conan.py,sha256=nQt4VyK4QHh2u4JbM8kfK9WBVIMGKI18S2NPg9orlvQ,32962
|
|
224
|
-
bmcgo/tasks/task_build_rootfs_img.py,sha256=
|
|
224
|
+
bmcgo/tasks/task_build_rootfs_img.py,sha256=JKEvldJnLWu2IdVSntuVowocQwdVtBQUpxzhplYauPI,29209
|
|
225
225
|
bmcgo/tasks/task_build_wbd_up.py,sha256=X9-0Qqad-s3mGfJBMeBQvfZ99KlWcgaMluDr_zv6Z-o,3122
|
|
226
226
|
bmcgo/tasks/task_buildgppbin.py,sha256=Xjfw6j8OsyS_XRiOt4vqIK1rDQ4sNKG__eurDu-M9bo,6341
|
|
227
227
|
bmcgo/tasks/task_buildhpm_ext4.py,sha256=DBZnmU_eb14J0CW_wVoCc9VKnssFF1vXmRhLJQ6kR28,3482
|
|
@@ -254,8 +254,8 @@ bmcgo/utils/installations/version_util.py,sha256=dOwvLZ7iOmnzSeyD6_pRm7NS7I13Um5
|
|
|
254
254
|
bmcgo/utils/installations/install_plans/bingo.yml,sha256=Zw1HnAyNJdEwkE3fnd-_GCe9bwv1m6bmMlaQTJXaFa8,210
|
|
255
255
|
bmcgo/utils/installations/installers/apt_installer.py,sha256=nPaCb4cobSi9InN_aHsEPtQ0k4FgsCUWE5_VgBPvcRE,3769
|
|
256
256
|
bmcgo/utils/installations/installers/pip_installer.py,sha256=dDdios1EQ7fzt90r02pZeoM3jCmjslLzkSvzd2hgRVM,3241
|
|
257
|
-
openubmc_bingo-0.5.
|
|
258
|
-
openubmc_bingo-0.5.
|
|
259
|
-
openubmc_bingo-0.5.
|
|
260
|
-
openubmc_bingo-0.5.
|
|
261
|
-
openubmc_bingo-0.5.
|
|
257
|
+
openubmc_bingo-0.5.272.dist-info/METADATA,sha256=IpWk_uqNBVhPkTRiZqbogAdFspHNvwzfIlxap7vWcH8,925
|
|
258
|
+
openubmc_bingo-0.5.272.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
259
|
+
openubmc_bingo-0.5.272.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
|
|
260
|
+
openubmc_bingo-0.5.272.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
|
|
261
|
+
openubmc_bingo-0.5.272.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|