openubmc-bingo 0.6.17__py3-none-any.whl → 0.6.24__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 CHANGED
@@ -9,4 +9,4 @@
9
9
  # MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
10
  # See the Mulan PSL v2 for more details.
11
11
 
12
- __version__ = '0.6.17'
12
+ __version__ = '0.6.24'
bmcgo/cli/cli.py CHANGED
@@ -312,11 +312,18 @@ class Command(object):
312
312
  studio_version = self._bmc_studio_version()
313
313
  if studio_version:
314
314
  log.info("bmc-studio 版本为: %s", studio_version)
315
+
316
+ def conan_init(self):
317
+ if misc.conan_v2():
318
+ tools.run_command("conan profile detect --force")
319
+ else:
320
+ tools.run_command("conan config init")
321
+ tools.run_command("conan config set general.revisions_enabled=1")
315
322
 
316
323
  def _check_conan_profile(self):
317
324
  profile_dir = os.path.join(tools.conan_home, "profiles")
318
325
  if not os.path.isdir(profile_dir):
319
- os.makedirs(profile_dir)
326
+ self.conan_init()
320
327
 
321
328
  if misc.conan_v2():
322
329
  bingo_profiles = "/usr/share/bingo/profiles_for_conan2"
@@ -487,7 +487,7 @@ class ModelLuaUtils(Base, Utils):
487
487
  for key, value in input_dict.items():
488
488
  if isinstance(value, dict):
489
489
  _ = self.remove_description(value)
490
- if key == 'description':
490
+ if key in ['description', 'constraint', 'example']:
491
491
  keys_to_delete.append(key)
492
492
  for key in keys_to_delete:
493
493
  del input_dict[key]
bmcgo/tasks/task.py CHANGED
@@ -33,7 +33,7 @@ from bmcgo.functional.simple_sign import BmcgoCommand as SimpleSign
33
33
 
34
34
  class Task(Process):
35
35
  name = "WorkBase"
36
- timeout = 1200
36
+ timeout = 1800
37
37
  description = "基础类"
38
38
  work_name = ""
39
39
  manifest_obj = None
@@ -54,7 +54,7 @@ class Task(Process):
54
54
  # OPENUBMC_DEFAULT_VENDOR环境变量未设置时,使用openubmc
55
55
  self.vendor = self.get_manufacture_config("base/vendor", misc.vendor())
56
56
  os.environ["OPENUBMC_PRODUCT_VENDOR"] = self.vendor
57
- self.customization_dir = os.path.join(self.config.build_path, "customizations")
57
+ self.conan_install = os.path.join(self.config.build_path, "conan_install")
58
58
 
59
59
  @property
60
60
  def conan_home(self):
@@ -331,14 +331,17 @@ class Task(Process):
331
331
 
332
332
  def _component_cust_action_v2(self, action: str):
333
333
  profile, _ = self.get_profile_config()
334
- for name in os.listdir(self.customization_dir):
335
- path_dir = os.path.join(self.customization_dir, name)
334
+ for name in os.listdir(self.conan_install):
335
+ path_dir = os.path.join(self.conan_install, name)
336
+ cust = os.path.join(path_dir, "include", "customization.py")
337
+ if not os.path.isfile(cust):
338
+ continue
336
339
  self.info(f"开始执行组件 {name} 定制化 {action},定制脚本 {path_dir}/include/customization.py")
337
340
  post = ComponentPost(self.config, path_dir, profile)
338
341
  post.post_work(os.getcwd(), action)
339
342
 
340
343
  def _component_cust_action_v1(self, action: str):
341
- conan_install = f"{self.config.build_path}/conan_install"
344
+ conan_install = self.conan_install
342
345
 
343
346
  # 优先处理rootfs定制化脚本
344
347
  comps = ["rootfs"]
@@ -333,8 +333,6 @@ class TaskClass(Task):
333
333
  def update_path(self):
334
334
  # conan source folder
335
335
  self.conan_source = os.path.join(self.config.build_path, misc.community_name())
336
- # conan install folder
337
- self.conan_install = os.path.join(self.config.build_path, "conan_install")
338
336
  # openubmc install folder
339
337
  self.openubmc_ins_dir = os.path.join(self.conan_install, misc.community_name())
340
338
  # openubmc top rootfs folder
@@ -563,6 +561,7 @@ class TaskClass(Task):
563
561
  require_list = list(bundle.keys())
564
562
  list.sort(require_list)
565
563
  package_info_list = deepcopy(require_list)
564
+ dst_file = os.path.join(self.config.rootfs_path, dst_file)
566
565
  self.run_command(f"rm -rf {dst_file}", sudo=True)
567
566
  with os.fdopen(os.open(self.package_info, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR |
568
567
  stat.S_IWGRP | stat.S_IRGRP | stat.S_IWOTH | stat.S_IROTH), 'w') as fp:
@@ -572,7 +571,8 @@ class TaskClass(Task):
572
571
  else:
573
572
  package_info_list.remove(package)
574
573
  fp.close()
575
- self.run_command(f"cp -df {self.package_info} {dst_file}", sudo=True)
574
+ os.makedirs(os.path.dirname(dst_file), exist_ok=True)
575
+ self.run_command(f"cp -f {self.package_info} {dst_file}", sudo=True)
576
576
 
577
577
  def sensitive_data_conf_gen(self, comps, dst_file):
578
578
  self.run_command(f"rm -rf {dst_file}", sudo=True)
@@ -699,6 +699,8 @@ class TaskClass(Task):
699
699
  graph_cmd = f"conan graph info . {base_cmd} -f json --lockfile={self.lockfile} --out-file={self.graphfile}"
700
700
  self.run_command(graph_cmd)
701
701
  self.success(f"start build dependency packages of {self.config.board_name}")
702
+ if self.skip_install_comp:
703
+ return
702
704
  bcp = BuildConans(self.graphfile, self.lockfile, base_cmd, self.config.from_source, self.config.log_path)
703
705
  bcp.build()
704
706
 
@@ -743,11 +745,13 @@ class TaskClass(Task):
743
745
  self.run_command(install_cmd, command_echo=True, warn_log="缓存安装失败,可能缺少某个依赖项制品,开始从源码构建缺失的软件包")
744
746
  except Exception:
745
747
  ret = -1
748
+ shutil.copyfile(self.lockfile, f"{self.conan_install}/conan.lock")
749
+ if self.skip_install_comp:
750
+ return
746
751
  if ret != 0:
747
752
  bundle_parse = ConanLockParse("openubmc.bundle", self)
748
753
  bundle_parse.conan_parallel_build(cmd, self.config.build_path)
749
754
  self.run_command(install_cmd, command_echo=True)
750
- shutil.copyfile(self.lockfile, f"{self.conan_install}/conan.lock")
751
755
  # 检查使用到的组件是否都在单板目录 manifest.yml 中配置了
752
756
  self.component_check.run()
753
757
  self.clean_luac_out()
@@ -848,14 +852,17 @@ class TaskClass(Task):
848
852
  def package_info_gen_v2(self, bmc_lock, dst_file):
849
853
  with open(bmc_lock, "r") as bmc_lock_fp:
850
854
  lock_info = json.load(bmc_lock_fp)
851
- require_list = lock_info.get("requires")
852
- self.run_command(f"rm -rf {dst_file}", sudo=True)
855
+ require_list = lock_info.get("requires", [])
853
856
  with os.fdopen(os.open(self.package_info, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR |
854
857
  stat.S_IWGRP | stat.S_IRGRP | stat.S_IWOTH | stat.S_IROTH), 'w') as fp:
855
858
  for package in require_list:
856
859
  fp.write(f"{package}\n")
857
860
  fp.close()
858
- self.run_command(f"cp -df {self.package_info} {dst_file}", sudo=True)
861
+ dst_file = os.path.join(self.config.rootfs_path, dst_file)
862
+ self.run_command(f"rm -rf {dst_file}", sudo=True)
863
+ os.makedirs(os.path.dirname(dst_file), exist_ok=True)
864
+ self.run_command(f"cp -f {self.package_info} {dst_file}", sudo=True)
865
+
859
866
 
860
867
  def sensitive_data_conf_gen_v2(self, dst_file):
861
868
  self.run_command(f"rm -rf {dst_file}", sudo=True)
@@ -964,19 +971,19 @@ class TaskClass(Task):
964
971
  rootfs.package_folder = os.path.join(self.conan_install, misc.community_name())
965
972
  self.graph_nodes[misc.community_name()] = rootfs
966
973
 
967
- def make_customization_symlinks(self):
968
- if os.path.isdir(self.customization_dir):
969
- self.run_command(f"rm -rf {self.customization_dir}")
970
- self.run_command(f"mkdir -p {self.customization_dir}")
974
+ def copy_component_include_dirs(self):
971
975
  for name, node in self.graph_nodes.items():
976
+ if node.package_folder.startswith(self.conan_install):
977
+ continue
972
978
  cust = os.path.join(node.package_folder, "include", "customization.py")
973
979
  if not os.path.isfile(cust):
974
980
  continue
975
- os.symlink(node.package_folder, os.path.join(self.customization_dir, name))
981
+ comp_dir = os.path.join(self.conan_install, name)
982
+ shutil.copytree(node.package_folder, comp_dir)
976
983
 
977
984
  def package_v2(self):
978
985
  self.update_graph_nodes()
979
- self.make_customization_symlinks()
986
+ self.copy_component_include_dirs()
980
987
  self.run_command(f"sudo rm -rf {self.config.rootfs_path}")
981
988
  os.makedirs(self.config.rootfs_path)
982
989
  profile, _ = self.get_profile_config()
@@ -1068,8 +1075,9 @@ class TaskClass(Task):
1068
1075
  self.run_command(cmd)
1069
1076
  cmd = f"cp temp/.deploy/luajit/usr/lib64/liblua.so {conan_bin}"
1070
1077
  self.run_command(cmd)
1071
- cmd = f"cp -r temp/.deploy/luajit/usr/bin/jit {conan_bin}"
1072
- self.run_command(cmd)
1078
+ if os.path.isfile("temp/.deploy/luajit/usr/bin/jit"):
1079
+ cmd = f"cp -r temp/.deploy/luajit/usr/bin/jit {conan_bin}"
1080
+ self.run_command(cmd)
1073
1081
  self.link(luac, luac_back)
1074
1082
  # 仅在覆盖率使能场景下,对luac进行打桩
1075
1083
  if self.config.enable_arm_gcov:
@@ -1088,6 +1096,10 @@ class TaskClass(Task):
1088
1096
  if self.only_manifest_yml:
1089
1097
  return
1090
1098
  self.package_lock()
1099
+ if misc.conan_v2():
1100
+ self.package_info_gen_v2(self.lockfile, "etc/package_info")
1101
+ else:
1102
+ self.package_info_gen(f"{self.conan_source}/all/openubmc.bundle", "etc/package_info")
1091
1103
  if not self.skip_package:
1092
1104
  self.package()
1093
1105
 
@@ -45,6 +45,8 @@ class FetchComponentCode:
45
45
  def resolve_version_range(component_name, version_range):
46
46
  cmd = f"conan info '{version_range}' --package-filter={component_name}/*" \
47
47
  f" -r {misc.conan_remote()} --only None 2>/dev/null"
48
+ if misc.conan_v2():
49
+ cmd = f"conan graph info --requires='{version_range}' --filter {component_name}"
48
50
  ret, output = subprocess.getstatusoutput(cmd)
49
51
  output = output.strip()
50
52
  if ret != 0 or not output:
bmcgo/utils/tools.py CHANGED
@@ -645,7 +645,7 @@ class Tools():
645
645
  error_log = kwargs.get("error_log")
646
646
  warn_log = kwargs.get("warn_log")
647
647
  log_name = kwargs.get("log_name")
648
- timeout = kwargs.get("timeout", 1200)
648
+ timeout = kwargs.get("timeout", 1800)
649
649
  capture_output = kwargs.get("capture_output", False)
650
650
  if command_key:
651
651
  key = command_key + ":"
@@ -775,7 +775,7 @@ class Tools():
775
775
  tmpdir = TemporaryDirectory()
776
776
  graph_file = os.path.join(tmpdir.name, "package.json")
777
777
  cmd = f"conan install --requires='{package}' {install_args}"
778
- cmd += f" -f json --out-file={graph_file}"
778
+ cmd += f" -f json --out-file={graph_file} -of temp"
779
779
  self.run_command(cmd, ignore_error=False)
780
780
  return self.get_package_folder_from_graph_file(graph_file, package)
781
781
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openubmc-bingo
3
- Version: 0.6.17
3
+ Version: 0.6.24
4
4
  Summary: Tools provided by openubmc
5
5
  Home-page: https://openubmc.cn
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1,4 +1,4 @@
1
- bmcgo/__init__.py,sha256=-ZiFjQB0Op9berOvBtulbZEJLN5Qomt1CPbhMxDRZfA,562
1
+ bmcgo/__init__.py,sha256=BXSf7vrJJ8RdepowzFwMLtfu3srWxlFdp6BQdVXPvQ0,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=O1E4QnAF453rj1jnfLkXfXNDPyZ6h6ry8_eoJiW7mXY,26859
10
+ bmcgo/cli/cli.py,sha256=MY-DIvJ4q0roWfshZHkPaG1VGoWWrQcKDYx5ahE-IRg,27116
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
@@ -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=eAe46JU1AJxfpifQCnioD1jxfDhfc-DLGRy8CmwCfBg,4948
94
- bmcgo/codegen/lua/script/render_utils/model_lua.py,sha256=LfNXUxpaMp2AcjRPg5Hgdr-U6GI79g5_zvpkdVP5NGA,18429
94
+ bmcgo/codegen/lua/script/render_utils/model_lua.py,sha256=kxlPkPboUKtUfK2HTWakmgKMFLLZ3UofPouWvng7UWY,18456
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
@@ -223,8 +223,8 @@ bmcgo/target/publish.yml,sha256=WvaJAUZ0_6CMV3O1p1t6dagHe-DdLcXqLxKP11_ki1E,1615
223
223
  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
- bmcgo/tasks/task.py,sha256=ayh9mxKKLtk2XKzjqXOl6Pe8fcg7S1nTks153hKT9Rw,18321
227
- bmcgo/tasks/task_build_conan.py,sha256=euVymOxVKwCv4FJMAh_dPU-Ii0WujWIXdg_I5l8Cj-A,49970
226
+ bmcgo/tasks/task.py,sha256=w8tdU5NwoUfVF4xKFvSzcCWCf0FGTBHJAToNLlP0p4w,18424
227
+ bmcgo/tasks/task_build_conan.py,sha256=kzUcYhXN5ItQrWLmzNBkhiaA5NzO7KbW8PNtm-Nrw5g,50458
228
228
  bmcgo/tasks/task_build_rootfs_img.py,sha256=JKEvldJnLWu2IdVSntuVowocQwdVtBQUpxzhplYauPI,29209
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
@@ -246,13 +246,13 @@ bmcgo/utils/combine_json_schemas.py,sha256=08JrAlLeo_JgUqzYcZNgSwJZPLfjbWVJ4esPP
246
246
  bmcgo/utils/component_post.py,sha256=rTSMv36geI6rbm6ZFQenZfG0mn1nVPpdJqn7g8bYtKA,2330
247
247
  bmcgo/utils/component_version_check.py,sha256=nKfav7EnJ_JWfCvH_SiyhhIapGXUzhFs1QvLb58MPBs,6266
248
248
  bmcgo/utils/config.py,sha256=xCljGFk7m8IVsCSchJDAzollZEZyXoMDLIgqRMepL-I,49952
249
- bmcgo/utils/fetch_component_code.py,sha256=gUjZX1m6tzUaleKrA3V42gbOFnNtepZaxItATc6nQa4,11159
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=ggG3_sS5FOcihv5SUqIkcDVDPR6eqGm1swrXGbBfDf0,32471
255
+ bmcgo/utils/tools.py,sha256=NrYd4bNzRiBGu7FklN6PT1gj-sdqUWB_lj11Q7TjI8Y,32480
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.17.dist-info/METADATA,sha256=qPEuNbLIleXDMDQrn7OmQrjBGBvdyKM4gd1iJF9yxh0,1010
268
- openubmc_bingo-0.6.17.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
269
- openubmc_bingo-0.6.17.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
270
- openubmc_bingo-0.6.17.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
271
- openubmc_bingo-0.6.17.dist-info/RECORD,,
267
+ openubmc_bingo-0.6.24.dist-info/METADATA,sha256=aVekPJxRxrfTvjLNpuaqdu3ziQW4GxLomcFhfw0zX8Q,1010
268
+ openubmc_bingo-0.6.24.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
269
+ openubmc_bingo-0.6.24.dist-info/entry_points.txt,sha256=UUoUP-vAWTgg9vEYbRwYqOBHgpRtkngdzMPb-ocz90g,42
270
+ openubmc_bingo-0.6.24.dist-info/top_level.txt,sha256=9AcvCAt1nZcOgMsGt6T07mg2Bgtdet-3mHTwg91axgI,6
271
+ openubmc_bingo-0.6.24.dist-info/RECORD,,