openubmc-bingo 0.6.65__py3-none-any.whl → 0.6.68__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/functional/check.py +5 -1
- bmcgo/tasks/task_build_rootfs_img.py +96 -83
- bmcgo/tasks/task_buildhpm_ext4.py +5 -3
- bmcgo/utils/fetch_component_code.py +18 -2
- bmcgo/utils/mapping_config_patch.py +2 -1
- {openubmc_bingo-0.6.65.dist-info → openubmc_bingo-0.6.68.dist-info}/METADATA +1 -1
- {openubmc_bingo-0.6.65.dist-info → openubmc_bingo-0.6.68.dist-info}/RECORD +11 -11
- {openubmc_bingo-0.6.65.dist-info → openubmc_bingo-0.6.68.dist-info}/WHEEL +0 -0
- {openubmc_bingo-0.6.65.dist-info → openubmc_bingo-0.6.68.dist-info}/entry_points.txt +0 -0
- {openubmc_bingo-0.6.65.dist-info → openubmc_bingo-0.6.68.dist-info}/top_level.txt +0 -0
bmcgo/__init__.py
CHANGED
bmcgo/functional/check.py
CHANGED
|
@@ -155,8 +155,12 @@ class BmcgoCommand:
|
|
|
155
155
|
FetchComponentCode(self.packages, tempdir, self.remote, include_open_source=False).run()
|
|
156
156
|
cmd = self._get_studio_command(tempdir)
|
|
157
157
|
|
|
158
|
+
# 额外加入仓颉runtime的依赖库
|
|
159
|
+
insert_path = '/usr/share/bmc_studio/server'
|
|
158
160
|
os.chdir(self.studio_dir)
|
|
159
|
-
os.environ
|
|
161
|
+
cur_path = os.environ.get('LD_LIBRARY_PATH', '')
|
|
162
|
+
new_path = f"{insert_path}:{cur_path}"
|
|
163
|
+
os.environ['LD_LIBRARY_PATH'] = new_path
|
|
160
164
|
Helper.run(cmd, stdout=subprocess.DEVNULL)
|
|
161
165
|
os.chdir(cwd)
|
|
162
166
|
error, warning = self.filter_output()
|
|
@@ -32,19 +32,6 @@ from bmcgo.utils.mapping_config_patch import MappingConfigPatch
|
|
|
32
32
|
from bmcgo import errors, misc
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
class MakeZeroImageProcess(Process):
|
|
36
|
-
def __init__(self, work, bs_count, img_path):
|
|
37
|
-
super().__init__()
|
|
38
|
-
self.work = work
|
|
39
|
-
self.bs_count = bs_count
|
|
40
|
-
self.img_path = img_path
|
|
41
|
-
|
|
42
|
-
def run(self):
|
|
43
|
-
self.work.work_name = os.path.basename(self.img_path)
|
|
44
|
-
cmd = f"dd if=/dev/zero of={self.img_path} bs=4096 count={self.bs_count}"
|
|
45
|
-
self.work.run_command(cmd)
|
|
46
|
-
|
|
47
|
-
|
|
48
35
|
class TaskClass(Task):
|
|
49
36
|
def __init__(self, config: Config, work_name=""):
|
|
50
37
|
super(TaskClass, self).__init__(config, work_name)
|
|
@@ -57,6 +44,38 @@ class TaskClass(Task):
|
|
|
57
44
|
self.rootfs_img_path = f"{self.config.work_out}/rootfs_BMC.img"
|
|
58
45
|
self.datafs_img_path = f"{self.config.hpm_build_dir}/datafs_{self.config.board_name}.img"
|
|
59
46
|
|
|
47
|
+
@staticmethod
|
|
48
|
+
def make_strip_cmd(file_list, relative_path, build_type=None):
|
|
49
|
+
base = ["sudo find {} -type f ".format(relative_path)]
|
|
50
|
+
base.append("grep -v \"/share/\"")
|
|
51
|
+
base.append("grep -v \".json$\"")
|
|
52
|
+
base.append("grep -v \"\.lua$\"")
|
|
53
|
+
base.append("grep -v \".sh$\"")
|
|
54
|
+
base.append("grep -v \".png$\"")
|
|
55
|
+
base.append("grep -v \".jpg$\"")
|
|
56
|
+
base.append("grep -v \".jpeg$\"")
|
|
57
|
+
base.append("grep -v \".html$\"")
|
|
58
|
+
base.append("grep -v \".js$\"")
|
|
59
|
+
base.append("grep -v \".css$\"")
|
|
60
|
+
base.append("grep -v \".svg$\"")
|
|
61
|
+
base.append("grep -v \".sr$\"")
|
|
62
|
+
base.append("grep -v \".conf$\"")
|
|
63
|
+
base.append("grep -v \".service$\"")
|
|
64
|
+
base.append("grep -v \".cfg$\"")
|
|
65
|
+
base.append("grep -v \".gif$\"")
|
|
66
|
+
base.append("grep -v \".ttf$\"")
|
|
67
|
+
base.append("grep -v \".target$\"")
|
|
68
|
+
if build_type == "debug":
|
|
69
|
+
# so库一般带有版本号,此处不能注明具体的版本号,否则可能导致版本变更时不能正确strip
|
|
70
|
+
not_striped_list = ["rootfs/opt/bmc"]
|
|
71
|
+
for file in not_striped_list:
|
|
72
|
+
base.append("grep -v \"{}\"".format(file))
|
|
73
|
+
base.append("sudo xargs -P 0 -I {{}} file {{}}".format(file_list))
|
|
74
|
+
base.append("grep 'not stripped'")
|
|
75
|
+
base.append("awk -F: '{{print $1}}'")
|
|
76
|
+
base.append("grep -v '.ko$'")
|
|
77
|
+
return base
|
|
78
|
+
|
|
60
79
|
def set_evn(self):
|
|
61
80
|
self.buildimg_dir = self.config.buildimg_dir
|
|
62
81
|
self.tools.check_path(self.buildimg_dir)
|
|
@@ -207,7 +226,8 @@ class TaskClass(Task):
|
|
|
207
226
|
self.info("开始根据配置映射打补丁")
|
|
208
227
|
for item in ["redfish", "web_backend", misc.CLI, "snmp"]:
|
|
209
228
|
config_path = os.path.join(self.rtos_rootfs, "opt/bmc/apps", item, "interface_config")
|
|
210
|
-
|
|
229
|
+
ret = self.tools.run_command(f"test -d {config_path}", ignore_error=True, sudo=True)
|
|
230
|
+
if ret.returncode != 0:
|
|
211
231
|
continue
|
|
212
232
|
patch_work = MappingConfigPatch(self.config, config_path=config_path)
|
|
213
233
|
patch_work.run()
|
|
@@ -334,38 +354,19 @@ class TaskClass(Task):
|
|
|
334
354
|
self.run_command(f"chmod {sr_dir_permission} {sr_dir}", sudo=True, command_echo=False)
|
|
335
355
|
self.run_command(f"chmod 440 {csr_version_file_path}", sudo=True, command_echo=False)
|
|
336
356
|
|
|
337
|
-
def
|
|
357
|
+
def strip(self):
|
|
358
|
+
# strip非ko文件
|
|
359
|
+
file_list = os.path.join(self.buildimg_dir, "no_striped.filelist")
|
|
338
360
|
work_path = os.getcwd()
|
|
339
361
|
relative_path = os.path.relpath(work_path, self.rtos_rootfs)
|
|
340
|
-
base =
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
base.append("grep -v \".html$\"")
|
|
349
|
-
base.append("grep -v \".js$\"")
|
|
350
|
-
base.append("grep -v \".css$\"")
|
|
351
|
-
base.append("grep -v \".svg$\"")
|
|
352
|
-
base.append("grep -v \".sr$\"")
|
|
353
|
-
base.append("grep -v \".conf$\"")
|
|
354
|
-
base.append("grep -v \".service$\"")
|
|
355
|
-
base.append("grep -v \".cfg$\"")
|
|
356
|
-
base.append("grep -v \".gif$\"")
|
|
357
|
-
base.append("grep -v \".ttf$\"")
|
|
358
|
-
base.append("grep -v \".target$\"")
|
|
359
|
-
if self.config.build_type == "debug":
|
|
360
|
-
# so库一般带有版本号,此处不能注明具体的版本号,否则可能导致版本变更时不能正确strip
|
|
361
|
-
not_striped_list = ["rootfs/opt/bmc"]
|
|
362
|
-
for file in not_striped_list:
|
|
363
|
-
base.append("grep -v \"{}\"".format(file))
|
|
364
|
-
base.append("sudo xargs -P 0 -I {{}} file {{}}".format(file_list))
|
|
365
|
-
base.append("grep 'not stripped'")
|
|
366
|
-
base.append("awk -F: '{{print $1}}'")
|
|
367
|
-
base.append("grep -v '.ko$'")
|
|
368
|
-
return base
|
|
362
|
+
base = self.make_strip_cmd(file_list, relative_path, self.config.build_type)
|
|
363
|
+
strip = os.path.join(self.config.cross_compile_install_path, "bin", self.config.strip)
|
|
364
|
+
self.pipe_command(base, file_list)
|
|
365
|
+
if os.path.isfile(file_list) and not self.config.enable_arm_gcov:
|
|
366
|
+
cmd = ["cat {}".format(file_list), "sudo xargs -P 0 -I {{}} {} -R .comment {{}}".format(strip)]
|
|
367
|
+
self.pipe_command(cmd)
|
|
368
|
+
cmd = ["cat {}".format(file_list), "sudo xargs -P 0 -I {{}} {} {{}}".format(strip)]
|
|
369
|
+
self.pipe_command(cmd)
|
|
369
370
|
|
|
370
371
|
def build_common_fs(self):
|
|
371
372
|
"""
|
|
@@ -374,43 +375,22 @@ class TaskClass(Task):
|
|
|
374
375
|
self.chdir(self.buildimg_dir)
|
|
375
376
|
self.info("开始构建 rootfs ...")
|
|
376
377
|
|
|
377
|
-
|
|
378
|
-
sdk_tar = os.path.join(self.config.sdk_path, "hi1711sdk.tar.gz")
|
|
379
|
-
# 解压SDK
|
|
380
|
-
self.run_command(f"rm -rf {self.rtos_rootfs}", sudo=True)
|
|
381
|
-
self.run_command(f"tar --xattrs --xattrs-include=* -xf {rtos_tar}", sudo=True)
|
|
382
|
-
self.run_command(f"sudo chown -R 0:0 {self.rtos_rootfs}", sudo=True)
|
|
383
|
-
self.info("拷贝RTOS提供的mke2fs.conf配置文件覆盖本地环境中的/etc/mke2fs.conf文件, 确保mkfs.ext4使用该配置文件")
|
|
384
|
-
self.run_command(f"cp -f {self.rtos_rootfs}/etc/mke2fs.conf /etc/mke2fs.conf", sudo=True)
|
|
385
|
-
self.run_command(f"rm -rf {self.rtos_rootfs}/etc/ssh", sudo=True)
|
|
386
|
-
self.run_command(f"rm -rf {self.rtos_rootfs}/usr/share/doc/openubmc", sudo=True)
|
|
378
|
+
self.make_rtos_rootfs()
|
|
387
379
|
|
|
388
380
|
# 记录代码分支和提交节点
|
|
389
381
|
self.create_bmc_release()
|
|
390
382
|
|
|
391
|
-
|
|
392
|
-
sdk_path = os.path.join(self.buildimg_dir, "sdk")
|
|
393
|
-
self.run_command(f"rm -rf {sdk_path}", sudo=True)
|
|
394
|
-
self.run_command(f"mkdir -p {sdk_path}", sudo=True)
|
|
395
|
-
self.run_command("tar -xf {} -C {}".format(sdk_tar, sdk_path), sudo=True)
|
|
396
|
-
ko_path = f"{self.rtos_rootfs}/lib/modules/"
|
|
397
|
-
self.run_command("cp -dfr {}/. {}".format(sdk_path, ko_path), sudo=True)
|
|
383
|
+
self.copy_ko_modules()
|
|
398
384
|
|
|
399
385
|
self.chdir(self.config.work_out)
|
|
400
386
|
self.copy_rtos_modules()
|
|
387
|
+
self.copy_upgrade_dat_file()
|
|
401
388
|
|
|
402
389
|
for cus in self.customization:
|
|
403
390
|
cus.rootfs_cust(self.rtos_rootfs)
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
strip = os.path.join(self.config.cross_compile_install_path, "bin", self.config.strip)
|
|
408
|
-
self.pipe_command(base, file_list)
|
|
409
|
-
if os.path.isfile(file_list) and not self.config.enable_arm_gcov:
|
|
410
|
-
cmd = ["cat {}".format(file_list), "sudo xargs -P 0 -I {{}} {} -R .comment {{}}".format(strip)]
|
|
411
|
-
self.pipe_command(cmd)
|
|
412
|
-
cmd = ["cat {}".format(file_list), "sudo xargs -P 0 -I {{}} {} {{}}".format(strip)]
|
|
413
|
-
self.pipe_command(cmd)
|
|
391
|
+
|
|
392
|
+
self.strip()
|
|
393
|
+
|
|
414
394
|
# 删除.a文件
|
|
415
395
|
cmd = ["sudo find {} -type f -name *.a".format(self.rtos_rootfs), "sudo xargs -P 0 -i{{}} rm {{}}"]
|
|
416
396
|
self.pipe_command(cmd)
|
|
@@ -422,6 +402,18 @@ class TaskClass(Task):
|
|
|
422
402
|
self.prepare_preloader_for_luacov()
|
|
423
403
|
self.prepare_coverage_config()
|
|
424
404
|
|
|
405
|
+
def make_rtos_rootfs(self):
|
|
406
|
+
self.info("开始构建 rootfs ...")
|
|
407
|
+
rtos_tar = os.path.join(self.config.sdk_path, "rtos.tar.gz")
|
|
408
|
+
# 解压SDK
|
|
409
|
+
self.run_command(f"rm -rf {self.rtos_rootfs}", sudo=True)
|
|
410
|
+
self.run_command(f"tar --xattrs --xattrs-include=* -xf {rtos_tar}", sudo=True)
|
|
411
|
+
self.run_command(f"sudo chown -R 0:0 {self.rtos_rootfs}", sudo=True)
|
|
412
|
+
self.info("拷贝RTOS提供的mke2fs.conf配置文件覆盖本地环境中的/etc/mke2fs.conf文件, 确保mkfs.ext4使用该配置文件")
|
|
413
|
+
self.run_command(f"cp -f {self.rtos_rootfs}/etc/mke2fs.conf /etc/mke2fs.conf", sudo=True)
|
|
414
|
+
self.run_command(f"rm -rf {self.rtos_rootfs}/etc/ssh", sudo=True)
|
|
415
|
+
self.run_command(f"rm -rf {self.rtos_rootfs}/usr/share/doc/openubmc", sudo=True)
|
|
416
|
+
|
|
425
417
|
def create_bmc_release(self):
|
|
426
418
|
bmc_release_path = f"{self.rtos_rootfs}/etc/bmc-release"
|
|
427
419
|
temp_bmc_release_file = tempfile.NamedTemporaryFile()
|
|
@@ -448,6 +440,16 @@ class TaskClass(Task):
|
|
|
448
440
|
self.run_command(f"cp {temp_bmc_release_file.name} {bmc_release_path}", sudo=True, command_echo=False)
|
|
449
441
|
self.run_command(f"chmod 644 {bmc_release_path}", sudo=True)
|
|
450
442
|
|
|
443
|
+
def copy_ko_modules(self):
|
|
444
|
+
# 解压SDK并复制到指定位置
|
|
445
|
+
sdk_tar = os.path.join(self.config.sdk_path, "hi1711sdk.tar.gz")
|
|
446
|
+
sdk_path = os.path.join(self.buildimg_dir, "sdk")
|
|
447
|
+
self.run_command(f"rm -rf {sdk_path}", sudo=True)
|
|
448
|
+
self.run_command(f"mkdir -p {sdk_path}", sudo=True)
|
|
449
|
+
self.run_command("tar -xf {} -C {}".format(sdk_tar, sdk_path), sudo=True)
|
|
450
|
+
ko_path = f"{self.rtos_rootfs}/lib/modules/"
|
|
451
|
+
self.run_command("cp -dfr {}/. {}".format(sdk_path, ko_path), sudo=True)
|
|
452
|
+
|
|
451
453
|
def copy_rtos_modules(self):
|
|
452
454
|
self.run_command("cp -af {}/. {}".format(self.config.rootfs_path, self.rtos_rootfs), sudo=True)
|
|
453
455
|
cp_cmd = "cp -df {} {}"
|
|
@@ -455,14 +457,17 @@ class TaskClass(Task):
|
|
|
455
457
|
f"{self.rtos_rootfs}/lib64/libgcc_s.so.1"), sudo=True)
|
|
456
458
|
self.run_command(cp_cmd.format("/opt/hcc_arm64le/aarch64-target-linux-gnu/lib64/libstdc++.so.6",
|
|
457
459
|
f"{self.rtos_rootfs}/lib64/libstdc++.so.6"), sudo=True)
|
|
460
|
+
self.run_command("chmod 755 {}".format(f"{self.rtos_rootfs}/lib64/libgcc_s.so.1"), sudo=True)
|
|
461
|
+
self.run_command("chmod 755 {}".format(f"{self.rtos_rootfs}/lib64/libstdc++.so.6"), sudo=True)
|
|
462
|
+
|
|
463
|
+
def copy_upgrade_dat_file(self):
|
|
464
|
+
cp_cmd = "cp -df {} {}"
|
|
458
465
|
self.run_command("mkdir -p {}".format(f"{self.rtos_rootfs}/opt/pme/upgrade"), sudo=True)
|
|
459
466
|
self.run_command(cp_cmd.format(f"{self.config.code_path}/manufacture/misc/pme_profile_en.dat",
|
|
460
467
|
f"{self.rtos_rootfs}/opt/pme/upgrade/pme_profile_en"), sudo=True)
|
|
461
468
|
self.run_command(cp_cmd.format(f"{self.config.code_path}/manufacture/misc/datatocheck_upgrade.dat",
|
|
462
469
|
f"{self.rtos_rootfs}/opt/pme/upgrade/datatocheck_upgrade.dat"),
|
|
463
470
|
sudo=True)
|
|
464
|
-
self.run_command("chmod 755 {}".format(f"{self.rtos_rootfs}/lib64/libgcc_s.so.1"), sudo=True)
|
|
465
|
-
self.run_command("chmod 755 {}".format(f"{self.rtos_rootfs}/lib64/libstdc++.so.6"), sudo=True)
|
|
466
471
|
self.run_command("chmod 400 {}".format(f"{self.rtos_rootfs}/opt/pme/upgrade/pme_profile_en"), sudo=True)
|
|
467
472
|
self.run_command("chmod 400 {}".format(f"{self.rtos_rootfs}/opt/pme/upgrade/datatocheck_upgrade.dat"),
|
|
468
473
|
sudo=True)
|
|
@@ -496,6 +501,20 @@ class TaskClass(Task):
|
|
|
496
501
|
self.run_command(f"chown 0:0 {tar_path}", sudo=True)
|
|
497
502
|
return
|
|
498
503
|
|
|
504
|
+
def rootfs_customization(self):
|
|
505
|
+
if self.config.build_type == 'debug':
|
|
506
|
+
for cus in self.customization:
|
|
507
|
+
cus.rootfs_debug_cust(self.mnt_datafs)
|
|
508
|
+
elif self.config.build_type == 'release':
|
|
509
|
+
for cus in self.customization:
|
|
510
|
+
cus.rootfs_release_cust(self.mnt_datafs)
|
|
511
|
+
|
|
512
|
+
for cus in self.customization:
|
|
513
|
+
cus.rootfs_common(self.mnt_datafs)
|
|
514
|
+
|
|
515
|
+
def make_img(self):
|
|
516
|
+
self.tools.make_img(self.rootfs_img_path, self.mnt_datafs, "376")
|
|
517
|
+
|
|
499
518
|
def make_rootfs_img(self):
|
|
500
519
|
self.make_datafs_img()
|
|
501
520
|
|
|
@@ -519,18 +538,11 @@ class TaskClass(Task):
|
|
|
519
538
|
|
|
520
539
|
self.component_swbom()
|
|
521
540
|
self.run_command(f"sudo cp -a {self.rtos_rootfs}/. {self.mnt_datafs}/")
|
|
522
|
-
|
|
523
|
-
for cus in self.customization:
|
|
524
|
-
cus.rootfs_debug_cust(self.mnt_datafs)
|
|
525
|
-
elif self.config.build_type == 'release':
|
|
526
|
-
for cus in self.customization:
|
|
527
|
-
cus.rootfs_release_cust(self.mnt_datafs)
|
|
528
|
-
|
|
529
|
-
for cus in self.customization:
|
|
530
|
-
cus.rootfs_common(self.mnt_datafs)
|
|
541
|
+
self.rootfs_customization()
|
|
531
542
|
self.chdir(self.config.work_out)
|
|
532
|
-
self.
|
|
543
|
+
self.make_img()
|
|
533
544
|
|
|
545
|
+
def post_make_rootfs_img(self):
|
|
534
546
|
self.run_command(f"zerofree -v {self.rootfs_img_path}")
|
|
535
547
|
self.run_command(f"get_img_parma_area.sh {self.rootfs_img_path}")
|
|
536
548
|
|
|
@@ -568,3 +580,4 @@ class TaskClass(Task):
|
|
|
568
580
|
self.set_evn()
|
|
569
581
|
self.build_common_fs()
|
|
570
582
|
self.make_rootfs_img()
|
|
583
|
+
self.post_make_rootfs_img()
|
|
@@ -22,6 +22,8 @@ import os
|
|
|
22
22
|
import stat
|
|
23
23
|
import shutil
|
|
24
24
|
import subprocess
|
|
25
|
+
|
|
26
|
+
from bmcgo import misc
|
|
25
27
|
from bmcgo.tasks.task import Task
|
|
26
28
|
|
|
27
29
|
|
|
@@ -58,9 +60,9 @@ class TaskClass(Task):
|
|
|
58
60
|
digest = self.get_manufacture_config("base/signature/hpm_digest", ["sha256"])
|
|
59
61
|
with os.fdopen(os.open(filelist, os.O_WRONLY | os.O_CREAT | os.O_TRUNC,
|
|
60
62
|
stat.S_IWUSR | stat.S_IRUSR), 'w') as f:
|
|
61
|
-
f.write(
|
|
62
|
-
f.write(
|
|
63
|
-
f.write(f
|
|
63
|
+
f.write("Manifest Version: 1.0\n")
|
|
64
|
+
f.write(f"Create By: {misc.vendor()}\n")
|
|
65
|
+
f.write(f"Name: {hpm_file}\n")
|
|
64
66
|
if "sha256" in digest:
|
|
65
67
|
sha256sum = shutil.which("sha256sum")
|
|
66
68
|
cmd = [sha256sum, hpm_file]
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
11
11
|
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
12
12
|
# See the Mulan PSL v2 for more details.
|
|
13
|
+
import json
|
|
13
14
|
import os
|
|
14
15
|
import re
|
|
15
16
|
import shutil
|
|
@@ -17,7 +18,7 @@ import subprocess
|
|
|
17
18
|
from multiprocessing import Pool
|
|
18
19
|
import patch_ng
|
|
19
20
|
import yaml
|
|
20
|
-
from git import Repo
|
|
21
|
+
from git import Repo, exc
|
|
21
22
|
|
|
22
23
|
from bmcgo import errors
|
|
23
24
|
from bmcgo import misc
|
|
@@ -248,6 +249,21 @@ class FetchComponentCode:
|
|
|
248
249
|
log.error("conandata(%s) 没有找到", conandata)
|
|
249
250
|
log.info("更新组件 %s 代码到 %s 失败, 无法获取到 conan 信息", component_name,
|
|
250
251
|
conan_version)
|
|
252
|
+
except exc.GitCommandError as exp:
|
|
253
|
+
# 尝试修补MDS
|
|
254
|
+
cmd = f"conan install --requires={conan_version} -r openubmc_dev\
|
|
255
|
+
--build=missing -pr profile.ini --format=json --output-folder=tmp"
|
|
256
|
+
result = json.loads(Tools().run_command(cmd, capture_output=True, ignore_error=True).stdout.strip())
|
|
257
|
+
nodes = result.get("graph").get("nodes")
|
|
258
|
+
for node in nodes.values():
|
|
259
|
+
if node.get("ref").startswith(conan_version):
|
|
260
|
+
package_folder = node.get("package_folder")
|
|
261
|
+
if os.path.exists(f"{package_folder}/include/mds"):
|
|
262
|
+
src = f"{package_folder}/include/mds"
|
|
263
|
+
dest = os.path.abspath(f"{component_name}/mds")
|
|
264
|
+
shutil.copytree(src, dest, dirs_exist_ok=True)
|
|
265
|
+
log.info("将组件 %s 复制到 %s.", component_name, f"{component_name}/mds")
|
|
266
|
+
shutil.rmtree(f"{self.target_dir}/tmp", ignore_errors=True)
|
|
251
267
|
except Exception as exp:
|
|
252
268
|
log.error("工作状态错误: %s", exp)
|
|
253
|
-
log.error("更新组件代码到 %s 失败", conan_version)
|
|
269
|
+
log.error("更新组件代码到 %s 失败", conan_version)
|
|
@@ -411,7 +411,8 @@ class MappingConfigPatch(Task):
|
|
|
411
411
|
|
|
412
412
|
|
|
413
413
|
def run(self):
|
|
414
|
-
|
|
414
|
+
ret = self.tools.run_command(f"test -d {self.config_patch_path}", ignore_error=True, sudo=True)
|
|
415
|
+
if ret.returncode != 0:
|
|
415
416
|
return
|
|
416
417
|
|
|
417
418
|
# 给予权限方便对文件做变更
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
bmcgo/__init__.py,sha256=
|
|
1
|
+
bmcgo/__init__.py,sha256=tj3MA6yimsagyzinPe_hVMnI2xQ-3IToRSL2kcmRQAU,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
|
|
@@ -195,7 +195,7 @@ bmcgo/component/template_v2/conanfile.deploy.py.mako,sha256=Xbd-PlfVHOWeRFLfvzIN
|
|
|
195
195
|
bmcgo/functional/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
196
196
|
bmcgo/functional/analysis.py,sha256=4FaJlz7CbupHAdCdhdrRZCTlnHZ0bz7Cy32FNg9Ik_0,4097
|
|
197
197
|
bmcgo/functional/bmc_studio_action.py,sha256=1-O44mp--_r6M971cZ5JgutcQMM8aQtfQgDsSRXSrX8,3920
|
|
198
|
-
bmcgo/functional/check.py,sha256=
|
|
198
|
+
bmcgo/functional/check.py,sha256=MSWjgPpHPHqM7uSyHFZLHPmQHY4KP9kXjQVGJxht_x4,9614
|
|
199
199
|
bmcgo/functional/conan_index_build.py,sha256=Mp1fDpZVvecn5lUCsWZqq3mKSx9yu5pznQrDZr4Liuk,13443
|
|
200
200
|
bmcgo/functional/config.py,sha256=ZQ-a9hegI0cV41iTo7t49ryBeUH4wPJ-qkVvWp8toV4,10824
|
|
201
201
|
bmcgo/functional/csr_build.py,sha256=k6vEWuhrmTXTndMQX-RF6v9S7So-Gi4WWjoUYzh5IVA,42046
|
|
@@ -224,10 +224,10 @@ 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=CDczgL2qiEUyAIlDVbj5o0DJzFs_HW5UdoVaFPznvdg,29207
|
|
228
228
|
bmcgo/tasks/task_build_wbd_up.py,sha256=X9-0Qqad-s3mGfJBMeBQvfZ99KlWcgaMluDr_zv6Z-o,3122
|
|
229
229
|
bmcgo/tasks/task_buildgppbin.py,sha256=epBxxrYFPgoTzpBgPzSRXcUs-ia_BJWsLGflylEJS7I,6614
|
|
230
|
-
bmcgo/tasks/task_buildhpm_ext4.py,sha256=
|
|
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
|
|
233
233
|
bmcgo/tasks/task_download_dependency.py,sha256=-ZkRcUKZyx3KYWlbBEOoJEm9rpfDGIItnJZQqpimNDM,3369
|
|
@@ -245,10 +245,10 @@ bmcgo/utils/combine_json_schemas.py,sha256=08JrAlLeo_JgUqzYcZNgSwJZPLfjbWVJ4esPP
|
|
|
245
245
|
bmcgo/utils/component_post.py,sha256=rTSMv36geI6rbm6ZFQenZfG0mn1nVPpdJqn7g8bYtKA,2330
|
|
246
246
|
bmcgo/utils/component_version_check.py,sha256=ukc-H-A4ljkOShzVtkYWL0oTIYwxgDIZtP-fPqqHnRY,6274
|
|
247
247
|
bmcgo/utils/config.py,sha256=BoNx8U8VjnHrC-lFXIhp6Ex8f02kZgUS-mTkRxi_SYM,51141
|
|
248
|
-
bmcgo/utils/fetch_component_code.py,sha256=
|
|
248
|
+
bmcgo/utils/fetch_component_code.py,sha256=4C65ct7HdsgaRuF86ifttHQFmGQQCjaA0UhvHdQ8NRY,12329
|
|
249
249
|
bmcgo/utils/install_manager.py,sha256=Ag7tcTbhBfc6aTe5FOiET-8koq8_iY38Sozmi3dquio,4919
|
|
250
250
|
bmcgo/utils/json_validator.py,sha256=_k5wU78wfYGrzvSDaqOEtT4otgKUjquVhZNpVf2PW_c,7524
|
|
251
|
-
bmcgo/utils/mapping_config_patch.py,sha256=
|
|
251
|
+
bmcgo/utils/mapping_config_patch.py,sha256=ersqH5AmDvSfrOLbsNs3mfBxLQ3AUbJlCAjjtO6dMDk,16909
|
|
252
252
|
bmcgo/utils/merge_csr.py,sha256=JNxHCfW1au84WQshdz0aQy8wMTEOHonjQT3s6LjlZN4,4580
|
|
253
253
|
bmcgo/utils/perf_analysis.py,sha256=fh6lV9AAKVhpPkGPwAJ8EWfGfUoHjqGYQxrvc32Xiac,4767
|
|
254
254
|
bmcgo/utils/tools.py,sha256=MmFWnfL1ahRReBb7QaHjLNH3731IXDiBBRiOk9CPsQE,33152
|
|
@@ -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.68.dist-info/METADATA,sha256=Xcay0PnvxM54F5ni52ceZtxY54ymFT-E4W3lt7QzE_M,1010
|
|
267
|
+
openubmc_bingo-0.6.68.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
268
|
+
openubmc_bingo-0.6.68.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
|
|
269
|
+
openubmc_bingo-0.6.68.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
|
|
270
|
+
openubmc_bingo-0.6.68.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|