!991 merge master into master

新增白名单

Created-by: leokii
Commit-by: liangxinyan
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)
https://gitcode.com/openharmony/developtools_integration_verification/issues/562


### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/developtools_integration_verification!991
This commit is contained in:
openharmony_ci
2026-03-17 17:18:09 +08:00
3 changed files with 47 additions and 13 deletions
@@ -13962,5 +13962,33 @@
"dep_file_name": "librk_vpuapi.so",
"dep_file_path": "",
"description": "system only module libomxvpu_enc.z.so depends on librk_vpuapi.so which is unknown so type"
},
{
"so_file_name": "libcj_environment.z.so",
"so_file_path": "vendor/lib/passthrough/indirect/libomxvpu_enc.z.so",
"dep_file_name": "libz.so",
"dep_file_path": "",
"description": "system only module libomxvpu_enc.z.so depends on librk_vpuapi.so which is unknown so type"
},
{
"so_file_name": "libcj_environment.z.so",
"so_file_path": "vendor/lib/passthrough/indirect/libomxvpu_enc.z.so",
"dep_file_name": "libnative_buffer.so",
"dep_file_path": "",
"description": "system only module libomxvpu_enc.z.so depends on librk_vpuapi.so which is unknown so type"
},
{
"so_file_name": "libace_napi.z.so",
"so_file_path": "vendor/lib/passthrough/indirect/libomxvpu_enc.z.so",
"dep_file_name": "libz.so",
"dep_file_path": "",
"description": "system only module libomxvpu_enc.z.so depends on librk_vpuapi.so which is unknown so type"
},
{
"so_file_name": "libace_napi.z.so",
"so_file_path": "vendor/lib/passthrough/indirect/libomxvpu_enc.z.so",
"dep_file_name": "libnative_buffer.so",
"dep_file_path": "",
"description": "system only module libomxvpu_enc.z.so depends on librk_vpuapi.so which is unknown so type"
}
]
@@ -34,6 +34,7 @@ class BaseInnerapiRule(BaseRule):
"passthrough_indirect"] + self.__ignored_tags
self.__base_sofiles = ["libc.so", "libutils.z.so", "ld-musl-aarch64.so.1", "libconfiguration.z.so", "libusbmanager.z.so",
"libsms.z.so"]
self.load_lists()
def check(self):
passed = True
@@ -75,6 +76,8 @@ class BaseInnerapiRule(BaseRule):
for dep_name in mod["missing"]:
if dep_name in self.__base_sofiles:
continue
if dep_name in self.get_allow_list():
continue
in_whitelist = False
for so_dict in white_lists:
for k, v in so_dict.items():
@@ -124,6 +127,8 @@ class BaseInnerapiRule(BaseRule):
for dep_name in mod["missing"]:
if dep_name in self.__base_sofiles:
continue
if dep_name in self.get_vendor_allow_list():
continue
in_whitelist = False
for so_dict in white_lists:
for k, v in so_dict.items():
+14 -13
View File
@@ -30,6 +30,13 @@ class BaseRule(object):
self.__out_path = mgr.get_product_out_path()
self.__base_sofiles = ["libc.so", "libutils.z.so", "ld-musl-aarch64.so.1", "libconfiguration.z.so", "libusbmanager.z.so",
"libsms.z.so"]
def load_lists(self):
self.__passthroughs_lists = self.load_list_json("Passthrough", "passthrough_info.json")
self.__llndk_lists = self.load_list_json("LLndk", "llndk_info.json")
self.__chipsetsdksp_lists = self.load_list_json("ChipsetsdkSP", "chipsetsdk_sp_info.json")
self.__chipsetsdk_lists = self.load_list_json("ChipsetSDK", "chipsetsdk_info.json")
def load_files(self, name):
rules_dir = []
rules_dir.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../rules"))
@@ -130,6 +137,7 @@ class BaseRule(object):
def check_if_deps_correctly(self, check_modules, valid_mod_tags, valid_dep_tags, white_lists):
# check if mod and callee have wrong innerapi tags
self.load_lists()
passed = True
for mod in check_modules:
innerapi_tags = mod["innerapi_tags"]
@@ -206,17 +214,10 @@ class BaseRule(object):
return passed
def get_allow_list(self):
passthroughs = self.load_list.json("Passthrough", "passthrough_info.json")
llndk = self.load_list.json("LLndk", "llndk_info.json")
chipsetsdk_sp = self.load_list.json("ChipsetsdkSP", "chipsetsdk_sp_info.json")
return passthroughs + llndk + chipsetsdk_sp
return self.__passthroughs_lists + self.__llndk_lists + self.__chipsetsdksp_lists
def get_vendor_allow_list(self):
passthroughs = self.load_list.json("Passthrough", "passthrough_info.json")
llndk = self.load_list.json("LLndk", "llndk_info.json")
chipsetsdk_sp = self.load_list.json("ChipsetsdkSP", "chipsetsdk_sp_info.json")
chipsetsdk = self.load_list.json("Chipsetsdk", "chipsetsdk_info.json")
return passthroughs + llndk + chipsetsdk_sp + chipsetsdk
return self.__passthroughs_lists + self.__llndk_lists + self.__chipsetsdksp_lists + self.__chipsetsdk_lists
def parser_rules_file(self, rules_file, res):
try:
@@ -239,22 +240,22 @@ class BaseRule(object):
def load_list_json(self, rule_name, name):
rules_dir = []
if self._args and self._args.rules:
self.log("****add more chipsetsdk info in:{}****".format(self._args.rules))
self.log("****add more info in:{}****".format(self._args.rules))
rules_dir = rules_dir + self._args.rules
chipsetsdk_rules_path = self.get_out_path().replace("out", "out/products_ext")
new_rule_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../rules")
if os.path.exists(chipsetsdk_rules_path):
rules_dir.append(chipsetsdk_rules_path)
self.log("****add more chipsetsdk info in dir:{}****".format(chipsetsdk_rules_path))
self.log("****add more info in dir:{}****".format(chipsetsdk_rules_path))
elif os.path.exists(new_rule_path):
rules_dir.append(new_rule_path)
self.log("****add chipsetsdk_rules_path path:{}****".format(new_rule_path))
self.log("****add path:{}****".format(new_rule_path))
res = []
for d in rules_dir:
rules_file = os.path.join(d, rule_name, name)
if os.path.isfile(rules_file):
res = self.__parser_rules_file(rules_file, res)
res = self.parser_rules_file(rules_file, res)
else:
self.warn("****rules path not exist: {}****".format(rules_file))