openubmc-bingo 0.6.48__py3-none-any.whl → 0.6.54__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/cli/cli.py +0 -8
- bmcgo/component/analysis/analysis.py +6 -2
- bmcgo/component/analysis/dep-rules.json +10 -4
- bmcgo/component/analysis/dep_node.py +2 -0
- bmcgo/component/analysis/intf_validation.py +8 -7
- bmcgo/component/analysis/sr_validation.py +5 -4
- bmcgo/functional/analysis.py +18 -12
- bmcgo/tasks/task_build_conan.py +9 -6
- bmcgo/utils/component_version_check.py +4 -4
- bmcgo/utils/config.py +2 -0
- bmcgo/utils/tools.py +7 -4
- {openubmc_bingo-0.6.48.dist-info → openubmc_bingo-0.6.54.dist-info}/METADATA +1 -1
- {openubmc_bingo-0.6.48.dist-info → openubmc_bingo-0.6.54.dist-info}/RECORD +17 -17
- {openubmc_bingo-0.6.48.dist-info → openubmc_bingo-0.6.54.dist-info}/WHEEL +0 -0
- {openubmc_bingo-0.6.48.dist-info → openubmc_bingo-0.6.54.dist-info}/entry_points.txt +0 -0
- {openubmc_bingo-0.6.48.dist-info → openubmc_bingo-0.6.54.dist-info}/top_level.txt +0 -0
bmcgo/__init__.py
CHANGED
bmcgo/cli/cli.py
CHANGED
|
@@ -451,14 +451,6 @@ class Command(object):
|
|
|
451
451
|
"""检查当前环境中正在使用的bmc studio版本,
|
|
452
452
|
优先通过pip获取,获取不到通过bmc_studio/mds/server获取
|
|
453
453
|
"""
|
|
454
|
-
package_info = tools.run_command('pip3 show hw_ibmc_bmc_studio', sudo=True,
|
|
455
|
-
command_echo=False, ignore_error=True, capture_output=True)
|
|
456
|
-
version = ""
|
|
457
|
-
if package_info:
|
|
458
|
-
version = package_info.stdout.replace("\n", " ")
|
|
459
|
-
match = re.match(r".*([0-9]+\.[0-9]+\.[0-9]+)", version)
|
|
460
|
-
if match:
|
|
461
|
-
return match.group(1)
|
|
462
454
|
studio_path = tools.get_studio_path()
|
|
463
455
|
bmc_studio_conf = os.path.join(f"{studio_path}/mds/service.json")
|
|
464
456
|
if not os.path.isfile(bmc_studio_conf):
|
|
@@ -119,18 +119,22 @@ class AnalysisComp():
|
|
|
119
119
|
excluded_str = "/dev" if misc.conan_v1() else "openubmc"
|
|
120
120
|
if node.package_name == "busybox" and excluded_str in node.ref:
|
|
121
121
|
continue
|
|
122
|
+
if node.is_build_tool:
|
|
123
|
+
continue
|
|
122
124
|
packages[node.index] = node
|
|
123
125
|
requires[node.index] = node_data.get("requires", [])
|
|
124
126
|
if misc.conan_v2():
|
|
125
127
|
dependencies_data = node_data.get("dependencies", [])
|
|
126
|
-
dependencies_keys =
|
|
128
|
+
dependencies_keys = [key for key, dep in dependencies_data.items() if dep["direct"]]
|
|
127
129
|
requires[node.index] = dependencies_keys
|
|
128
130
|
comm_name = misc.community_name()
|
|
129
131
|
for index, pkg in packages.items():
|
|
130
132
|
if not pkg.name.startswith(comm_name):
|
|
131
133
|
self.set_node_subsys(pkg)
|
|
132
134
|
for require_id in requires.get(index, []):
|
|
133
|
-
|
|
135
|
+
require_package = packages.get(int(require_id), None)
|
|
136
|
+
if require_package:
|
|
137
|
+
pkg.requires.append(require_package)
|
|
134
138
|
if not pkg.name.startswith(comm_name):
|
|
135
139
|
self.nodes.append(pkg)
|
|
136
140
|
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"Version": "0.0.
|
|
2
|
+
"Version": "0.0.47",
|
|
3
3
|
"Description": "此文件对iBMCV3子系统与子系统、组件与组件的依赖关系约束进行了描述, 只有子系统架构师/领域专家才能修改",
|
|
4
4
|
"Changelog": {
|
|
5
|
+
"0.0.47": [
|
|
6
|
+
"1、framework子系统增加设备驱动管理组件devmon",
|
|
7
|
+
"2、framework子系统增加设备驱动管理库component_drivers, libmcpp"
|
|
8
|
+
],
|
|
5
9
|
"0.0.46": [
|
|
6
10
|
"1、om子系统增加可观测组件observability",
|
|
7
11
|
"2、opensource增加可观测需要的开源软件, 包括fluent-bit, libyaml, opentelemetry, grpc, abseil, protobuf, re2, c_ares,opentelemetry-proto",
|
|
@@ -42,7 +46,6 @@
|
|
|
42
46
|
"libyaml",
|
|
43
47
|
"opentelemetry",
|
|
44
48
|
"grpc",
|
|
45
|
-
"grpc_tool",
|
|
46
49
|
"abseil",
|
|
47
50
|
"protobuf",
|
|
48
51
|
"re2",
|
|
@@ -103,7 +106,8 @@
|
|
|
103
106
|
"persistence",
|
|
104
107
|
"key_mgmt",
|
|
105
108
|
"hwdiscovery",
|
|
106
|
-
"hwproxy"
|
|
109
|
+
"hwproxy",
|
|
110
|
+
"devmon"
|
|
107
111
|
],
|
|
108
112
|
"Libraries": [
|
|
109
113
|
"persistence",
|
|
@@ -117,7 +121,9 @@
|
|
|
117
121
|
"libmcc",
|
|
118
122
|
"libmgmt_protocol",
|
|
119
123
|
"libkvs",
|
|
120
|
-
"liblogger"
|
|
124
|
+
"liblogger",
|
|
125
|
+
"component_drivers",
|
|
126
|
+
"libmcpp"
|
|
121
127
|
],
|
|
122
128
|
"Configurations": [
|
|
123
129
|
"rootfs_user"
|
|
@@ -51,7 +51,9 @@ class DepNode():
|
|
|
51
51
|
self.local_tables = {}
|
|
52
52
|
self.remote_tables = {}
|
|
53
53
|
self.table_conflict = False
|
|
54
|
+
self.is_build_tool = False
|
|
54
55
|
if misc.conan_v2():
|
|
56
|
+
self.is_build_tool = node.get("context") == "build"
|
|
55
57
|
self.recipe_folder = node.get("recipe_folder")
|
|
56
58
|
self.binary = node.get("binary", "")
|
|
57
59
|
if self.binary == "Skip":
|
|
@@ -34,15 +34,13 @@ class InterfaceValidation:
|
|
|
34
34
|
self.intf_hardcoded: Dict[str, Set[str]] = defaultdict(set)
|
|
35
35
|
self.all_predefined_intfs: Set[str] = set()
|
|
36
36
|
self.remote = remote
|
|
37
|
-
self.
|
|
38
|
-
self._parse_hardcoded_interfaces()
|
|
39
|
-
self._pull_all_interfaces()
|
|
37
|
+
self.mdb_interface_repo_url = "https://gitcode.com/openUBMC/mdb_interface.git"
|
|
40
38
|
|
|
41
39
|
@staticmethod
|
|
42
40
|
def extract_dbus_intf_in_file(file_path):
|
|
43
41
|
all_intfs = list()
|
|
44
42
|
with open(file_path, "r") as file_descriptor:
|
|
45
|
-
#
|
|
43
|
+
# d-bus interface pattern: bmc.(kepler|dev).[A-Z]
|
|
46
44
|
pattern = "[\"\']bmc\.(?:kepler|dev)(?:\.[A-Z].*?)?[\"\']"
|
|
47
45
|
intf_match = re.findall(pattern, file_descriptor.read())
|
|
48
46
|
for intf in intf_match:
|
|
@@ -96,6 +94,10 @@ class InterfaceValidation:
|
|
|
96
94
|
return package
|
|
97
95
|
|
|
98
96
|
def run(self):
|
|
97
|
+
self._parse_mds_interfaces()
|
|
98
|
+
self._parse_hardcoded_interfaces()
|
|
99
|
+
self._pull_all_interfaces()
|
|
100
|
+
|
|
99
101
|
intf_validation_passed = self._validate_mds_intf() and self._validate_hardcoded_intf() and \
|
|
100
102
|
self._check_dbus_call()
|
|
101
103
|
if intf_validation_passed:
|
|
@@ -142,7 +144,6 @@ class InterfaceValidation:
|
|
|
142
144
|
self.intf_hardcoded[intf].update([file_path])
|
|
143
145
|
|
|
144
146
|
def _pull_interfaces_from_repo(self):
|
|
145
|
-
mdb_interface_repo_url = "https://gitcode.com/openUBMC/mdb_interface.git"
|
|
146
147
|
mktemp_cmd = subprocess.run(["/usr/bin/mktemp", "-d", "--suffix", "_mdb_interface"], capture_output=True)
|
|
147
148
|
if mktemp_cmd.returncode != 0:
|
|
148
149
|
raise OSError(f"创建文件夹失败, 错误消息: {mktemp_cmd.stderr}")
|
|
@@ -150,10 +151,10 @@ class InterfaceValidation:
|
|
|
150
151
|
|
|
151
152
|
git_cmd = Helper.get_git_path()
|
|
152
153
|
repo_fetch = subprocess.run(
|
|
153
|
-
[git_cmd, "clone", mdb_interface_repo_url, temp_dir, "--depth=1"],
|
|
154
|
+
[git_cmd, "clone", self.mdb_interface_repo_url, temp_dir, "--depth=1"],
|
|
154
155
|
stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
|
|
155
156
|
if repo_fetch.returncode != 0:
|
|
156
|
-
log.error("克隆远端仓库 %s 失败, 错误信息: %s", mdb_interface_repo_url, repo_fetch.stderr)
|
|
157
|
+
log.error("克隆远端仓库 %s 失败, 错误信息: %s", self.mdb_interface_repo_url, repo_fetch.stderr)
|
|
157
158
|
intf_dir = os.path.join(temp_dir, "json/intf/mdb/bmc")
|
|
158
159
|
|
|
159
160
|
for root, _, files in os.walk(intf_dir):
|
|
@@ -22,6 +22,7 @@ from bmcgo.logger import Logger
|
|
|
22
22
|
|
|
23
23
|
global log
|
|
24
24
|
log = Logger()
|
|
25
|
+
script_dir = os.path.split(os.path.realpath(__file__))[0]
|
|
25
26
|
|
|
26
27
|
SOFT_SR_SUFFIX = "_soft.sr"
|
|
27
28
|
SOFTWARE_SUFFIX = "software"
|
|
@@ -194,7 +195,7 @@ class SrValidate(SrParser):
|
|
|
194
195
|
self.is_product_sr_repo = False
|
|
195
196
|
self.check_repo_type()
|
|
196
197
|
self.smc_dfx_whitelist: Dict[str, Set[Tuple[int, int]]] = defaultdict(set)
|
|
197
|
-
self.
|
|
198
|
+
self.whitelist_file = os.path.join(script_dir, "smc_dfx_whitelist.json")
|
|
198
199
|
|
|
199
200
|
@staticmethod
|
|
200
201
|
def merge_sr_objects(hardware_sr_objects: Dict[str, Dict], software_sr_objects: Dict[str, Dict]):
|
|
@@ -227,11 +228,10 @@ class SrValidate(SrParser):
|
|
|
227
228
|
log.error('mds/service.json 文件解析失败: %s', e)
|
|
228
229
|
|
|
229
230
|
def load_smc_dfx_whitelist(self):
|
|
230
|
-
|
|
231
|
-
if not os.path.exists(whitelist_file):
|
|
231
|
+
if not os.path.exists(self.whitelist_file):
|
|
232
232
|
return
|
|
233
233
|
try:
|
|
234
|
-
with open(whitelist_file, 'r') as file_descriptor:
|
|
234
|
+
with open(self.whitelist_file, 'r') as file_descriptor:
|
|
235
235
|
content = json.load(file_descriptor)
|
|
236
236
|
for item in content:
|
|
237
237
|
chip_type = item.get("ChipType")
|
|
@@ -245,6 +245,7 @@ class SrValidate(SrParser):
|
|
|
245
245
|
def run(self):
|
|
246
246
|
if not self.is_sr_repo:
|
|
247
247
|
return True
|
|
248
|
+
self.load_smc_dfx_whitelist()
|
|
248
249
|
self.find_soft_sr_files()
|
|
249
250
|
self.walk_sr_dir()
|
|
250
251
|
file_count, problems_total, issues_count = self.log_issues()
|
bmcgo/functional/analysis.py
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
# See the Mulan PSL v2 for more details.
|
|
13
13
|
import os
|
|
14
14
|
import argparse
|
|
15
|
-
from multiprocessing import Process
|
|
16
15
|
import urllib3
|
|
17
16
|
from bmcgo.frame import Frame
|
|
18
17
|
from bmcgo.misc import CommandInfo
|
|
@@ -60,23 +59,30 @@ class BmcgoCommand:
|
|
|
60
59
|
self.out_dir = pre_parsed_args.out_dir
|
|
61
60
|
self.lock_file = pre_parsed_args.lock_file
|
|
62
61
|
self.board_name = pre_parsed_args.board_name
|
|
62
|
+
|
|
63
|
+
def component_analysis(self):
|
|
64
|
+
if not InterfaceValidation(self.remote).run() or not SrValidate(os.getcwd()).run():
|
|
65
|
+
return -1
|
|
66
|
+
return 0
|
|
63
67
|
|
|
68
|
+
def product_analysis(self, custom_sr_dir):
|
|
69
|
+
analysis_task = AnalysisComp(self.board_name, self.out_dir, self.lock_file, custom_sr_dir)
|
|
70
|
+
result = analysis_task.run()
|
|
71
|
+
return result
|
|
72
|
+
|
|
64
73
|
def run(self):
|
|
65
74
|
is_integrated, work_dir = self._is_integrated_project()
|
|
66
75
|
if is_integrated:
|
|
67
76
|
os.chdir(work_dir)
|
|
68
77
|
else:
|
|
69
78
|
os.chdir(self.bconfig.component.folder)
|
|
70
|
-
#
|
|
79
|
+
# 组件级
|
|
71
80
|
if not is_integrated:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
custom_sr_dir =
|
|
76
|
-
|
|
77
|
-
if not is_integrated:
|
|
78
|
-
custom_sr_dir = os.getcwd()
|
|
79
|
-
elif self.rebuild:
|
|
81
|
+
return self.component_analysis()
|
|
82
|
+
|
|
83
|
+
# 产品级
|
|
84
|
+
custom_sr_dir = os.getcwd()
|
|
85
|
+
if self.rebuild:
|
|
80
86
|
parsed = []
|
|
81
87
|
if self.board_name:
|
|
82
88
|
parsed.append("-b")
|
|
@@ -85,9 +91,9 @@ class BmcgoCommand:
|
|
|
85
91
|
frame = Frame(self.bconfig, config)
|
|
86
92
|
frame.parse(parsed)
|
|
87
93
|
frame.run()
|
|
94
|
+
|
|
88
95
|
os.chdir(os.path.join(work_dir, misc.BUILD))
|
|
89
|
-
|
|
90
|
-
rc = analysis_task.run()
|
|
96
|
+
rc = self.product_analysis(custom_sr_dir)
|
|
91
97
|
if not rc:
|
|
92
98
|
return -1
|
|
93
99
|
log.success("BMC 构建分析成功")
|
bmcgo/tasks/task_build_conan.py
CHANGED
|
@@ -251,8 +251,8 @@ class ConanLockParse:
|
|
|
251
251
|
for com, entry_degree in entry_degree_temp_dict.items():
|
|
252
252
|
if entry_degree != 0:
|
|
253
253
|
continue
|
|
254
|
-
#
|
|
255
|
-
if com.startswith("
|
|
254
|
+
# 最终组件,不推送(远端没有,直接弹出)
|
|
255
|
+
if com.startswith(f"{misc.community_name()}/"):
|
|
256
256
|
self._degree.pop(com)
|
|
257
257
|
break
|
|
258
258
|
cmd_tmp = cmd.replace("com_name", f"{com}")
|
|
@@ -459,7 +459,7 @@ class TaskClass(Task):
|
|
|
459
459
|
self.component_check = ComponentVersionCheck(
|
|
460
460
|
manifest_yml="manifest.yml",
|
|
461
461
|
ibmc_lock=self.lockfile,
|
|
462
|
-
community_name=
|
|
462
|
+
community_name=misc.community_name(),
|
|
463
463
|
openubmcsdk=openubmcsdk
|
|
464
464
|
)
|
|
465
465
|
for dep in deps:
|
|
@@ -521,7 +521,7 @@ class TaskClass(Task):
|
|
|
521
521
|
self.component_check = ComponentVersionCheck(
|
|
522
522
|
manifest_yml="manifest.yml",
|
|
523
523
|
ibmc_lock=self.lockfile,
|
|
524
|
-
community_name=
|
|
524
|
+
community_name=misc.community_name(),
|
|
525
525
|
openubmcsdk=openubmcsdk
|
|
526
526
|
)
|
|
527
527
|
for dep in deps:
|
|
@@ -582,7 +582,7 @@ class TaskClass(Task):
|
|
|
582
582
|
with os.fdopen(os.open(self.package_info, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR |
|
|
583
583
|
stat.S_IWGRP | stat.S_IRGRP | stat.S_IWOTH | stat.S_IROTH), 'w') as fp:
|
|
584
584
|
for package in require_list:
|
|
585
|
-
if "
|
|
585
|
+
if f"{misc.community_name()}/" not in package:
|
|
586
586
|
fp.write(f"{package.split('#')[0]}\n")
|
|
587
587
|
else:
|
|
588
588
|
package_info_list.remove(package)
|
|
@@ -813,6 +813,9 @@ class TaskClass(Task):
|
|
|
813
813
|
os.makedirs(openubmc_dir, exist_ok=True)
|
|
814
814
|
shutil.copytree(conanfile_dir, openubmc_dir, dirs_exist_ok=True)
|
|
815
815
|
self.chdir(openubmc_dir)
|
|
816
|
+
# 替换默认的根组件名为实际的community name
|
|
817
|
+
tools.run_command(f"sed -i 's/openubmc/{misc.community_name()}/g' conanfile.py")
|
|
818
|
+
|
|
816
819
|
# 复制manifest.yml文件
|
|
817
820
|
if misc.conan_v2():
|
|
818
821
|
self.merge_manifest_v2()
|
|
@@ -1061,7 +1064,7 @@ class TaskClass(Task):
|
|
|
1061
1064
|
for dirname in os.listdir("."):
|
|
1062
1065
|
if not os.path.isdir(dirname):
|
|
1063
1066
|
continue
|
|
1064
|
-
if dirname != "rootfs" and dirname !=
|
|
1067
|
+
if dirname != "rootfs" and dirname != misc.community_name():
|
|
1065
1068
|
comps.append(dirname)
|
|
1066
1069
|
|
|
1067
1070
|
self.copy_components(comps, profile)
|
|
@@ -94,7 +94,7 @@ class ComponentVersionCheck:
|
|
|
94
94
|
def get_dict(self):
|
|
95
95
|
self.openubmc_folder()
|
|
96
96
|
self.manifest_dict = self.generate_manifest_dict()
|
|
97
|
-
self.ibmc_lock_dict = self.
|
|
97
|
+
self.ibmc_lock_dict = self.generate_bmc_lock_dict()
|
|
98
98
|
|
|
99
99
|
def generate_manifest_dict(self) -> dict:
|
|
100
100
|
"""根据 manifest.yml(conan目录) 配置生成 组件名: 组件配置 的字典
|
|
@@ -106,8 +106,8 @@ class ComponentVersionCheck:
|
|
|
106
106
|
manifest_dict = {x[misc.CONAN].split('/')[0]: x[misc.CONAN].split('@')[0] for x in dependency_list}
|
|
107
107
|
return manifest_dict
|
|
108
108
|
|
|
109
|
-
def
|
|
110
|
-
"""根据
|
|
109
|
+
def generate_bmc_lock_dict(self) -> dict:
|
|
110
|
+
"""根据 bmc.lock 配置生成 组件名: 组件配置 的字典
|
|
111
111
|
|
|
112
112
|
Returns:
|
|
113
113
|
dict: 返回 组件名: 组件配置 的字典
|
|
@@ -116,7 +116,7 @@ class ComponentVersionCheck:
|
|
|
116
116
|
component_list = self.ibmc_lock["graph_lock"]["nodes"]
|
|
117
117
|
ibmc_lock_dict = {x["ref"].split('/')[0]: x["ref"].split('@')[0]
|
|
118
118
|
for x in [component_conf for _, component_conf in component_list.items()]}
|
|
119
|
-
ibmc_lock_dict.pop(
|
|
119
|
+
ibmc_lock_dict.pop(misc.community_name())
|
|
120
120
|
else:
|
|
121
121
|
component_list = self.ibmc_lock["requires"]
|
|
122
122
|
ibmc_lock_dict = {x.split('/')[0]: x.split('@')[0] for x in component_list}
|
bmcgo/utils/config.py
CHANGED
|
@@ -762,6 +762,8 @@ class Config:
|
|
|
762
762
|
|
|
763
763
|
def merge_dependencies(self, dependencies, subsys_comps, base_deps):
|
|
764
764
|
for com_package in dependencies:
|
|
765
|
+
if "overwrite" in com_package:
|
|
766
|
+
del com_package["overwrite"]
|
|
765
767
|
com_package_split = com_package.get(misc.CONAN).split("/")
|
|
766
768
|
if len(com_package_split) > 2:
|
|
767
769
|
continue
|
bmcgo/utils/tools.py
CHANGED
|
@@ -245,16 +245,19 @@ class Tools():
|
|
|
245
245
|
pkg_name = pkg_info[0]
|
|
246
246
|
has_version = len(pkg_info) > 1
|
|
247
247
|
for sub in base_manifest.get(dependency_type, {}):
|
|
248
|
+
overwrite = sub.get("overwrite", False)
|
|
248
249
|
sub_name = sub.get(misc.CONAN)
|
|
249
250
|
sub_pkg_name = sub_name.split("/")[0]
|
|
250
251
|
# 上下层具有相同组件名的组件
|
|
251
252
|
if pkg_name == sub_pkg_name:
|
|
252
|
-
if has_version:
|
|
253
|
+
if not has_version:
|
|
254
|
+
com_package[misc.CONAN] = sub_name
|
|
255
|
+
elif overwrite:
|
|
256
|
+
com_package[misc.CONAN] = name
|
|
257
|
+
else:
|
|
253
258
|
raise errors.BmcGoException(
|
|
254
259
|
"配置错误: 不允许删除平台组件或定制平台组件版本号{}".format(name)
|
|
255
260
|
)
|
|
256
|
-
else:
|
|
257
|
-
com_package[misc.CONAN] = sub_name
|
|
258
261
|
break
|
|
259
262
|
|
|
260
263
|
@staticmethod
|
|
@@ -630,7 +633,7 @@ class Tools():
|
|
|
630
633
|
self.run_command(f"chown {user_group} {img_path}", sudo=True)
|
|
631
634
|
|
|
632
635
|
def get_studio_path(self):
|
|
633
|
-
ret = self.run_command("whereis bmc_studio", sudo=
|
|
636
|
+
ret = self.run_command("whereis bmc_studio", sudo=False, ignore_error=True,
|
|
634
637
|
command_echo=False, capture_output=True).stdout
|
|
635
638
|
if not ret:
|
|
636
639
|
return ""
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
bmcgo/__init__.py,sha256=
|
|
1
|
+
bmcgo/__init__.py,sha256=Y20uB-lzoOxGYwmJ3S3NWAJ5M7IU3uSDByPsqPFXXCw,562
|
|
2
2
|
bmcgo/bmcgo.py,sha256=uD4TsfjrFB5aQPIS6WRUVc9ShXX-dSImY9ezkB13g1w,685
|
|
3
3
|
bmcgo/bmcgo_config.py,sha256=-HZcTsnccE5wUsgGJ59kq8sDdu8feftIbpyoFvyvBhU,11264
|
|
4
4
|
bmcgo/errors.py,sha256=QW1ndrJcJ2Ws7riOznPKVvZsNlrYk73eZol7w8gJTPU,3076
|
|
@@ -7,7 +7,7 @@ bmcgo/logger.py,sha256=rcMqJnyQ5Ag3k04KLEskrG8ZJ508OOU_JH4fMFiGOqQ,6644
|
|
|
7
7
|
bmcgo/misc.py,sha256=w0vzsD7uzrsxTly5Y1viLgYTKHhLP4sxa499XwbqHnU,6986
|
|
8
8
|
bmcgo/worker.py,sha256=OXz5Gam3pmZjgQeoGJrYy73ZrQszCOxk9X19nbeBI_A,15710
|
|
9
9
|
bmcgo/cli/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
10
|
-
bmcgo/cli/cli.py,sha256=
|
|
10
|
+
bmcgo/cli/cli.py,sha256=n1871pHyqnbiTS-jQ6hC2G_xKNgPt8hadtXl1B2KMsM,27017
|
|
11
11
|
bmcgo/cli/config.conan2.yaml,sha256=SAtM_6_qOjZbkgUT5fzWbhbq4aWCayqE8o4xJ2vBRww,261
|
|
12
12
|
bmcgo/cli/config.yaml,sha256=tbnFhz2TTrl2-ALpHHujbXB1ymZpjGC4f0zTfqfUZfM,194
|
|
13
13
|
bmcgo/codegen/__init__.py,sha256=eplRBfR_obzVWMQtIeX1RRq6DOEezBx_l1EqcZYLRPM,775
|
|
@@ -175,16 +175,16 @@ bmcgo/component/deploy.py,sha256=Iy5CsiolKS1h5jDg13nYkfy6--BtbBZ8FLou2oVuoLQ,654
|
|
|
175
175
|
bmcgo/component/gen.py,sha256=lhPe_VV08CDFSydSLCX7IC5m8obNvYZSSzIp9o84nd0,7248
|
|
176
176
|
bmcgo/component/package_info.py,sha256=pYgubJ-564JXQmEaSlYfGnoVgrNlY3O5jJP1vxZe-Qc,14844
|
|
177
177
|
bmcgo/component/test.py,sha256=Kpg5fmcJ-F2lDlHsKTBXjhB00T-IOr5QWGfHsRXVgA0,45260
|
|
178
|
-
bmcgo/component/analysis/analysis.py,sha256=
|
|
178
|
+
bmcgo/component/analysis/analysis.py,sha256=oc5m6qGWZm6G3n8cVENs86DAWywMNuxTqhO5QIb9fX8,9363
|
|
179
179
|
bmcgo/component/analysis/build_deps.py,sha256=cyQh5D3R1syQfMJcNxEIKKSJGanPMNRFPGlJRitDAa0,7324
|
|
180
180
|
bmcgo/component/analysis/data_deps.py,sha256=lDCVZ1B56pOW3BApCroujEaak4I07tN9mDOWruhuDkc,16431
|
|
181
|
-
bmcgo/component/analysis/dep-rules.json,sha256=
|
|
182
|
-
bmcgo/component/analysis/dep_node.py,sha256=
|
|
181
|
+
bmcgo/component/analysis/dep-rules.json,sha256=fLNK_MN7plr9WYLzlla56geGBreYQ_3t9xZSIX0beag,35251
|
|
182
|
+
bmcgo/component/analysis/dep_node.py,sha256=1ZfSElBPfreuugPclQPgQcTq-LlshYLlDVwzgr1lHVY,5267
|
|
183
183
|
bmcgo/component/analysis/intf_deps.py,sha256=IlcPixdaBpXpb6U4M-I1hRRGHCg5SCUg07V6kAosacE,7382
|
|
184
|
-
bmcgo/component/analysis/intf_validation.py,sha256=
|
|
184
|
+
bmcgo/component/analysis/intf_validation.py,sha256=CIfyc8AWIm5z2SnjhoNQEppIkaJoOxDtQc3eynI2Oa4,11437
|
|
185
185
|
bmcgo/component/analysis/rule.py,sha256=xvntmvFdGa0J8WBlrHDdJ5bcl3jr4pXezR3KKvOg4Ag,7549
|
|
186
186
|
bmcgo/component/analysis/smc_dfx_whitelist.json,sha256=ur8WLSSDM696_PtbSOYciMV50TzbUgP2voVt_QbTCw0,202
|
|
187
|
-
bmcgo/component/analysis/sr_validation.py,sha256=
|
|
187
|
+
bmcgo/component/analysis/sr_validation.py,sha256=8fmTGw_UyhvySQ2ASSMMA1w2jNMXihya97TJJa5GY8Y,14943
|
|
188
188
|
bmcgo/component/coverage/__init__.py,sha256=ZgUEyI86FTlOdBzcuTzz7UqTtfWcz416Gx4BCqcQlhA,557
|
|
189
189
|
bmcgo/component/coverage/c_incremental_cov_report.template,sha256=FPhK1DZtmWsjDxa32R1ViH3IGCtNHcx0zFfgRo0s2nI,1576
|
|
190
190
|
bmcgo/component/coverage/incremental_cov.py,sha256=Uf-UdY4CW9rpP4sbURkCXBWyYMXWaG3R1Pyo3cDNvcQ,16859
|
|
@@ -193,7 +193,7 @@ bmcgo/component/template/conanfile.deploy.py.mako,sha256=zpxluBjUFmJHfFrnBknxZ3c
|
|
|
193
193
|
bmcgo/component/template_v2/conanbase.py.mako,sha256=H0yO-uijpENtujj_1u037U2mZyy_ykdkV9hkj3mFuV4,15748
|
|
194
194
|
bmcgo/component/template_v2/conanfile.deploy.py.mako,sha256=Xbd-PlfVHOWeRFLfvzINeykiZzzSHsgO_yUUvYrKqTw,512
|
|
195
195
|
bmcgo/functional/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
196
|
-
bmcgo/functional/analysis.py,sha256=
|
|
196
|
+
bmcgo/functional/analysis.py,sha256=4FaJlz7CbupHAdCdhdrRZCTlnHZ0bz7Cy32FNg9Ik_0,4097
|
|
197
197
|
bmcgo/functional/bmc_studio_action.py,sha256=Gg96UB8QtnhsaqSdMhXuS9fddzAFPhR6UYCpto9UOYA,3605
|
|
198
198
|
bmcgo/functional/check.py,sha256=ReGN_8RRM6isX_r7XXEuHzkooh8pasky5_GpAml5d_g,8356
|
|
199
199
|
bmcgo/functional/conan_index_build.py,sha256=Mp1fDpZVvecn5lUCsWZqq3mKSx9yu5pznQrDZr4Liuk,13443
|
|
@@ -224,7 +224,7 @@ bmcgo/tasks/__init__.py,sha256=VapgzhPMmB7dzPIRohoVm1jjfVn_v97cYNCRmkxScaU,539
|
|
|
224
224
|
bmcgo/tasks/download_buildtools_hm.py,sha256=f4UxStARc8Z8DnT_5O6ONajQ7P0sKyJ8brixr43fHVQ,5988
|
|
225
225
|
bmcgo/tasks/misc.py,sha256=GK_bSDLGZW0FxywB2ICG1iIEz2y2QoCb1YQQk8SYOIA,711
|
|
226
226
|
bmcgo/tasks/task.py,sha256=95nKxTe5PW3rfhpm5YFasPtmP8oCraeWJKq0D5mbl6A,18578
|
|
227
|
-
bmcgo/tasks/task_build_conan.py,sha256=
|
|
227
|
+
bmcgo/tasks/task_build_conan.py,sha256=XYK2Ge6sDE8lQI4AOh2StVXq045-LdvNVnxw848EG70,53227
|
|
228
228
|
bmcgo/tasks/task_build_rootfs_img.py,sha256=jRw-psICpACRspQOJ4e6zatG1a63V7yTpajnBmRL59E,28937
|
|
229
229
|
bmcgo/tasks/task_build_wbd_up.py,sha256=X9-0Qqad-s3mGfJBMeBQvfZ99KlWcgaMluDr_zv6Z-o,3122
|
|
230
230
|
bmcgo/tasks/task_buildgppbin.py,sha256=epBxxrYFPgoTzpBgPzSRXcUs-ia_BJWsLGflylEJS7I,6614
|
|
@@ -244,15 +244,15 @@ bmcgo/utils/buffer.py,sha256=t1SkWntWksboNFMPsltslwRdXZi3FAe8eV0JAAE7Vto,4004
|
|
|
244
244
|
bmcgo/utils/build_conans.py,sha256=3afY0XOwFtfcKud2yp6nODIuPoMKjjsoAl5AV8GbJ6w,8997
|
|
245
245
|
bmcgo/utils/combine_json_schemas.py,sha256=08JrAlLeo_JgUqzYcZNgSwJZPLfjbWVJ4esPPt9bPMY,7967
|
|
246
246
|
bmcgo/utils/component_post.py,sha256=rTSMv36geI6rbm6ZFQenZfG0mn1nVPpdJqn7g8bYtKA,2330
|
|
247
|
-
bmcgo/utils/component_version_check.py,sha256=
|
|
248
|
-
bmcgo/utils/config.py,sha256=
|
|
247
|
+
bmcgo/utils/component_version_check.py,sha256=ukc-H-A4ljkOShzVtkYWL0oTIYwxgDIZtP-fPqqHnRY,6274
|
|
248
|
+
bmcgo/utils/config.py,sha256=rXk3_UbweJSdDcj8ISgXKJHcjg9erGSPjf9BJ1nODTo,51077
|
|
249
249
|
bmcgo/utils/fetch_component_code.py,sha256=WtPJ5h1nM87X6RicrAhMOJzOzh9A0jD3CbjPc4A-REo,11280
|
|
250
250
|
bmcgo/utils/install_manager.py,sha256=XMZUuIHm7_DWRdLV4dAevsyamQ6rt8lb_7OqGWzNBC8,4927
|
|
251
251
|
bmcgo/utils/json_validator.py,sha256=_k5wU78wfYGrzvSDaqOEtT4otgKUjquVhZNpVf2PW_c,7524
|
|
252
252
|
bmcgo/utils/mapping_config_patch.py,sha256=_gKfZnrvsLPgHn1yXhEJRVTAeuGpeGD9T-Pqyw5Ydys,16827
|
|
253
253
|
bmcgo/utils/merge_csr.py,sha256=JNxHCfW1au84WQshdz0aQy8wMTEOHonjQT3s6LjlZN4,4580
|
|
254
254
|
bmcgo/utils/perf_analysis.py,sha256=fh6lV9AAKVhpPkGPwAJ8EWfGfUoHjqGYQxrvc32Xiac,4767
|
|
255
|
-
bmcgo/utils/tools.py,sha256=
|
|
255
|
+
bmcgo/utils/tools.py,sha256=MmFWnfL1ahRReBb7QaHjLNH3731IXDiBBRiOk9CPsQE,33152
|
|
256
256
|
bmcgo/utils/installations/README.md,sha256=hKXnFYmeHEuROFMFE-vzlGLSHg71bei5ZYwyYZphWNk,2
|
|
257
257
|
bmcgo/utils/installations/__init__.py,sha256=BDXz8BcSlCkfo5UYt6j2rm89-HiYA1ZzfpFhy99MH-0,538
|
|
258
258
|
bmcgo/utils/installations/base_installer.py,sha256=3UZiKWoa41ygRbLD3QsE2FTp-VFp79V0I53QLRIf4E8,5902
|
|
@@ -264,8 +264,8 @@ bmcgo/utils/installations/install_plans/qemu.yml,sha256=lT7aKag60QUH6hTGFKa3hGRq
|
|
|
264
264
|
bmcgo/utils/installations/install_plans/studio.yml,sha256=APR3GM-3Q11LFfe8vh7t3LztDn4LLEpNHRUNjkaVekA,143
|
|
265
265
|
bmcgo/utils/installations/installers/apt_installer.py,sha256=nPaCb4cobSi9InN_aHsEPtQ0k4FgsCUWE5_VgBPvcRE,3769
|
|
266
266
|
bmcgo/utils/installations/installers/pip_installer.py,sha256=dDdios1EQ7fzt90r02pZeoM3jCmjslLzkSvzd2hgRVM,3241
|
|
267
|
-
openubmc_bingo-0.6.
|
|
268
|
-
openubmc_bingo-0.6.
|
|
269
|
-
openubmc_bingo-0.6.
|
|
270
|
-
openubmc_bingo-0.6.
|
|
271
|
-
openubmc_bingo-0.6.
|
|
267
|
+
openubmc_bingo-0.6.54.dist-info/METADATA,sha256=_xhyMb6Ab68CxPxVQ0SIr6xI51VbgHr9n7kDLWLPJds,1010
|
|
268
|
+
openubmc_bingo-0.6.54.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
269
|
+
openubmc_bingo-0.6.54.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
|
|
270
|
+
openubmc_bingo-0.6.54.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
|
|
271
|
+
openubmc_bingo-0.6.54.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|