| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: deb/rpm 安装后补充 opp/vendors 空目录,卸载时清理 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !688 merge master into master fix: deb/rpm 安装后补充 opp/vendors 空目录,卸载时清理 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 deb/rpm 包安装后缺少 opp/vendors 空目录,导致与 run 包安装结果不一致。 **改动方法:** - custom_postinst.sh:安装后创建 ${INSTALL_PATH}/opp/vendors 空目录(权限 555) - custom_prerm.sh:卸载前在目录为空时删除 opp/vendors,避免误删用户自定义内容 ## 关联的Issue - #292 ## 测试 对比 run/deb/rpm 三种包安装后的文件列表、内容 md5、权限和空目录: - run 包安装包含 4 个空目录(含 opp/vendors),deb/rpm 缺失该目录 - 修复后 deb/rpm 安装后 opp/vendors 存在,卸载后正确清理 - 其余文件内容 md5 完全一致 ## 文档更新 无需更新文档。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!688 | 1 个月前 | |
feat: support deb/rpm package publishing Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !678 merge master into master feat: support deb/rpm package publishing Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 opbase 仓库支持 deb/rpm 包发布能力,参考 ops-math/4178 PR 的改动。 ### 改动原因 ops-math 已支持 deb/rpm 包发布,opbase 仓需要对齐该能力,使 opbase 能在 Debian/Ubuntu 和 RHEL/CentOS 等系统上通过原生包管理器安装。 ### 改动方法 1. **CMakeLists.txt**: 新增 PACKAGE_TYPE cache 变量,支持 run/rpm/deb/all 四种包类型 2. **build.sh**: 新增 --pkg-type 参数,实现 rpm/deb/all 构建流程(含 clean_rpm_deb_package / collect_rpm_deb_package / find_rpm_deb_package) 3. **cmake/fetch_cann_cmake.cmake**: cann-cmake 从 master-026 升级到 master-041(新版内置 deb/rpm 打包能力),移除固定 URL_HASH 4. **cmake/package.cmake**: set_cann_cpack_config 传入 PACKAGE_TYPE;移除 path.cfg(改由新 cann-cmake 统一处理) 5. **scripts/package/module/ascend/EngineeringFiles.xml**: 删除(新 cann-cmake 不再依赖该文件) 6. **scripts/package/opbase/opbase.xml**: scene.info install_mod 调整为 640;移除 EngineeringFiles block 引用 7. **scripts/tools/third_lib_download.py**: cann-cmake 下载 URL 更新为 master-041 与 ops-math/4178 的主要差异: - opbase 的 build.sh 未拆分,不涉及 ops-math 的模块化脚本改造 - opbase 不依赖 whl 包,无需 custom_postinst.sh / custom_prerm.sh ## 测试 - 通过 bash build.sh --pkg --pkg-type=all -j32 成功构建 run/rpm/deb 三种包 - 三种包分别通过各自系统包管理器安装后,对安装内容进行全量对比: - RPM 与 DEB 安装后内容完全一致(210 个文件,MD5 全部匹配) - RUN 与 RPM/DEB 共有文件内容、软链接完全一致 - 差异项仅为各包管理器自有的运维文件(如 RUN 安装器生成的软链接/卸载脚本/元数据),非包内容差异 ## 关联的Issue - #289 ## 文档更新 无 ## 类型标签 - [x] 新特性 See merge request: cann/opbase!678 | 1 个月前 | |
fix: 统一 lcov 忽略错误参数以兼容 lcov>=2.0 覆盖率生成 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !574 merge master into master fix: 统一 lcov 忽略错误参数以兼容 lcov>=2.0 覆盖率生成 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 修复 scripts/util/generate_cpp_cov.sh 在 lcov >= 2.0 环境下覆盖率生成失败的问题。 lcov 2.0 及以上版本对多项条件(mismatch、inconsistent、empty、negative)实施了更严格的校验,而原脚本仅在个别命令上传入 --ignore-errors inconsistent,导致覆盖率采集(lcov -c)、过滤(lcov -r / lcov --remove)和 HTML 报告生成(genhtml)环节因严格校验报错而中断。 ### 改动方法 1. 新增统一的忽略错误参数变量 LCOV_IGNORE_ERRORS="--ignore-errors mismatch,inconsistent,empty,negative",集中管理所有需要忽略的错误类型。 2. 将该变量应用到脚本中全部 4 处 lcov / genhtml 调用: - generate_coverage() 中的 lcov -c(采集) - generate_coverage() 中的 lcov -r(移除外部路径) - filter_coverage() 中的 lcov --remove(过滤无关目录) - generate_html() 中的 genhtml(生成 HTML 报告) 3. 移除原先分散、仅覆盖 inconsistent 的局部 --ignore-errors inconsistent 写法。 ## 关联的Issue - #238 ## 测试 在 lcov >= 2.0 环境下运行 scripts/util/generate_cpp_cov.sh,覆盖率采集、过滤及 HTML 报告生成均正常完成,不再因严格校验中断。 ## 文档更新 无。本次仅修改覆盖率生成脚本,不涉及文档。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!574 | 2 个月前 | |
docs: 补齐op_common公共接口列表并修复AllocTensor函数声明 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !588 merge master into master docs: 补齐op_common公共接口列表并修复AllocTensor函数声明 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 补齐 op_common 公共接口列表中缺失的 20 个接口,并修复 AllocTensor 函数声明及公共接口目录。 ### 改动原因 - op_common_interface_list.md 接口列表缺失 20 个已实现接口的文档条目(11 个 log 类、7 个 platform 类、2 个 infershape 类),开发者无法从列表索引到这些接口。 - AllocTensor.md 函数原型缺少 op:: 命名空间前缀和结尾分号,与实际 C++ 签名不一致。 - 00_op_common_list.md 目录缺少"预留接口"分类入口。 ### 改动方法 - op_common_interface_list.md:在 log 分类新增 11 个 OP_LOGE 接口(EZ0028~EZ0038),rowspan 33→44;在 platform 分类新增 7 个接口(GetVRegSize/GetSimtMaxThreadNum/GetSimtMaxDCacheSize/GetCacheLineSize/GetSectorCacheLineSize/GetNddmaDcacheSize/GetWorkspaceSize),rowspan 4→11;在 infershape 分类新增 BroadcastShape(归入 broadcast util,rowspan 1→2)和 InferShape4Reduce,rowspan 6→8。 - AllocTensor.md:三组函数原型统一为 aclTensor*,增加 op:: 命名空间前缀,默认值改为 op::Format::FORMAT_ND。 - 00_op_common_list.md:末尾新增"预留接口"条目。 ## 关联的Issue #242 https://gitcode.com/cann/opbase/issues/243 ## 测试 文档变更,无功能代码改动,通过 Markdown 表格格式预览校验。 ## 文档更新 - 更新 docs/zh/api/op_common/op_common_interface_list.md:补齐 20 个缺失接口。 - 更新 docs/zh/api/nnopbase/opdev/op_executor/AllocTensor.md:修正函数声明。 - 更新 docs/zh/api/op_common/00_op_common_list.md:补充预留接口目录。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!588 | 2 个月前 |