已关闭
[Requirement|需求建议]: install.sh 新增 --check 选项用于安装前依赖版本校验 #2003
songkai111创建于  6月18日关闭于  6月18日
songkai111成员
6月18日 创建

一、背景信息 (必填)

为 install.sh 安装脚本新增 --check 命令行选项,用于在不执行完整安装/升级/卸载流程的前提下,独立校验当前环境中各依赖组件的版本是否满足本包 version.info 的声明要求。此前安装前缺少独立的依赖版本校验入口,用户无法快速确认依赖是否就绪。

二、价值/作用 (必填)

  • 提供轻量级依赖校验能力:仅执行版本检查并返回退出码(0 成功 / 1 失败),不产生安装副作用,便于在 CI/自动化脚本或人工排查中复用。
  • 提前发现版本不匹配问题,避免因依赖版本不满足导致安装后运行异常。
  • 与 --full/--upgrade/--uninstall 互斥,保持命令行语义清晰。

三、设计方案 (必填)

3.1 使能方式

不涉及算子框架使能。本需求为 shell 安装脚本(scripts/package/ops_math/scripts/install.sh)的命令行功能增强,通过 bash install.sh <run_pkg> <directory> --check 调用。

3.2 总体设计
3.2.1 算子支持的数据类型

不涉及(非算子改动)。

3.2.2 host侧设计

不涉及(非算子 host 侧改动)。

3.2.3 kernel侧设计

不涉及(非算子 kernel 侧改动)。

实际设计说明
  1. 参数解析:get_opts() 新增 --check 分支,设置 IS_CHECK="y" 并计入 CONFLICT_CMD_NUMS(与 --full/--upgrade/--uninstall 互斥);错误提示文案同步由 full/upgrade/uninstall 更新为 full/upgrade/uninstall/check。
  2. 校验逻辑 check_dependencies(version_info_file):
    • 读取 version.info 中以 required_package_ 开头的行,按 required_package_<component>_version=<req_version> 解析组件名与要求版本(去引号)。
    • 查找 ${ASCEND_HOME_PATH:-${TARGET_VERSION_DIR}}/share/info/${component}/version.info,读取其 Version= 字段作为实际版本。
    • 支持 >= 操作符:拆分操作符与版本号,用 sort -V 比较;全部通过返回 0,任一失败返回 1。
  3. 主流程 main():init_env 后若 IS_CHECK="y" 则调用 check_dependencies "${VERSION_INFO_FILE}" 并以返回码退出。
3.3 支持硬件

不涉及特定硬件限制;脚本依赖 ${ASCEND_HOME_PATH} 或安装目标路径下的 share/info/<component>/version.info 进行版本比对。

3.4 算子约束限制

不涉及(非算子改动)。

💡 备注(选填)
本次改动仅涉及 scripts/package/ops_math/scripts/install.sh 一个文件(+84 / -2)。

关联 PR:https://gitcode.com/cann/ops-math/pull/3439

likedislike
Ssongkai111成员
6月18日 添加了label:requirement
songkai111成员
6月18日 评论:

/assign @songkai111

likedislike
CANN-robotCANN-robot成员
6月18日 将 songkai111 设为负责人
CANN-robotCANN-robot成员
6月18日 关闭了 issue
CANN-robotCANN-robot成员
6月18日 添加了label:resolved