| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修复卸载脚本:避免 rm -rf 误删共享 python 目录并在目录不存在时中止卸载 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4430 merge master into master 修复卸载脚本:避免 rm -rf 误删共享 python 目录并在目录不存在时中止卸载 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修复 ops-math RPM/DEB 卸载脚本 scripts/package/ops_math/rpm_deb/custom_prerm.sh 的两个缺陷: 1. **误删共享 python 目录**:${WHL_INSTALL_DIR_PATH} 的父目录 parent 可能是与其他软件共享的 python 安装目录,原先使用 rm -rf 存在误删风险,改为 [ -d ... ] && rmdir ... || true,仅删除空目录。 2. **目录不存在时中止卸载**:rmdir / rm 操作未做目录存在性判断,目录不存在时命令返回非零导致卸载流程中止;现为 WHL_INSTALL_DIR_PATH、es_packages、ops_math 等清理步骤均增加 [ -d ... ] 守卫与 || true,目录不存在时跳过并继续卸载。 ## 关联的Issue - #2504: ops-math 卸载脚本 custom_prerm.sh 存在 rm -rf 误删共享 python 目录及目录不存在时中止卸载问题 ## 测试 - 构建并安装 ops-math RPM/DEB 包后执行卸载,验证卸载正常完成、无报错中止。 - 模拟 WHL_INSTALL_DIR_PATH 及 sourcedir 下目录不存在,验证卸载脚本跳过清理步骤、不误删共享目录且正常退出。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4430 | 1 个月前 | |
feat(install): 新增 --check 选项用于安装前依赖版本校验 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3439 merge master into master feat(install): 新增 --check 选项用于安装前依赖版本校验 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 为 install.sh 新增 --check 命令行选项,用于在安装前校验依赖组件的版本是否满足 version.info 中声明的要求,无需执行完整安装流程即可完成依赖检查。 ### 改动原因 安装前缺少独立的依赖校验入口,用户难以在不触发完整安装/升级/卸载流程的情况下,快速确认当前环境中各依赖组件(如其他 Ascend 组件)的版本是否满足本包 version.info 的要求。 ### 改动方法 1. 在 get_opts() 中新增 --check 参数解析,设置 IS_CHECK="y" 并计入 CONFLICT_CMD_NUMS,使其与 --full/--upgrade/--uninstall 互斥(每次仅允许一种操作类型)。 2. 同步更新 get_opts() 与 check_opts() 中的错误提示文案:only support one type: full/upgrade/uninstall → only support one type: full/upgrade/uninstall/check。 3. 新增 check_dependencies() 函数: - 读取 ${VERSION_INFO_FILE}(即 ../version.info)中以 required_package_ 开头的行,解析出组件名 component(取 required_package_<component>_version= 中的 <component>)和要求版本 req_version(= 后的值,去除双引号)。 - 对每个依赖项,查找 ${ASCEND_HOME_PATH:-${TARGET_VERSION_DIR}}/share/info/${component}/version.info 文件,读取其中的 Version= 字段作为实际版本 actual_version。 - 支持 >= 版本操作符:从 req_version 中拆分出操作符(op)与版本号(ver),通过 sort -V 比较实际版本与要求版本。 - 任一依赖校验失败则函数返回 1,全部通过返回 0。 4. 在 main() 的 init_env 之后增加判断:若 IS_CHECK="y",则调用 check_dependencies "${VERSION_INFO_FILE}" 并以返回码退出(成功退出 0,失败退出 1)。 ## 关联的Issue - #2003 ## 测试 构造包含 required_package_<component>_version=">=x.y.z" 的 version.info 及对应组件的 version.info(含 Version= 字段),分别验证: - 依赖版本满足 >= 要求时,输出 "All dependency checks passed." 且退出码为 0。 - 依赖版本不满足、组件 version.info 文件缺失、Version 字段读取失败等场景,输出对应 [ERROR] 日志且退出码为 1。 - --check 与 --full/--upgrade/--uninstall 同时传入时,提示 "only support one type" 并退出。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3439 | 2 个月前 | |
feat: 支持 deb/rpm 包构建 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4178 merge master into master feat: 支持 deb/rpm 包构建 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 ops-math 构建系统新增 deb/rpm 包构建能力,支持通过 --pkg-type 参数选择构建 run / rpm / deb / all 四种包类型。 ### 改动原因 当前 ops-math 仅支持生成 .run 自解压安装包,无法满足 Linux 发行版原生包管理的需求。 ### 改动方法 1. CMake 层面:新增 PACKAGE_TYPE 缓存变量(run/rpm/deb/all),升级 cann-cmake 依赖到 master-045 2. 构建脚本:build.sh 新增 --pkg-type=<TYPE> 参数,build_lib.sh 实现 rpm/deb 构建/清理/收集逻辑 3. CI 重新打包:ops_run_repackage.sh 支持 --pkg-type,在生成 .run 包后调用 ops_generate_rpm_deb.sh 4. 包管理钩子:新增 custom_postinst.sh 和 custom_prerm.sh 用于安装后/卸载前的 pip wheel 管理 5. 包配置更新:ops_math.xml 移除 EngineeringFiles,调整目录权限,添加版权头 ## 关联的Issue - #2460 ## 测试 - 本地验证 --pkg-type 参数校验逻辑 - CI 流水线已通过 ## 文档更新 - 更新 docs/zh/install/compile.md 中 cann-cmake 版本信息 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 See merge request: cann/ops-math!4178 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 |