| support deb\rpm pkg Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8121 merge pkg into master support deb\rpm pkg Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 此 PR 为构建系统新增了 deb 和 rpm 包格式支持。通过新增的 --pkg-type 参数(支持 run/rpm/deb/all),用户可在 --pkg 构建模式下选择生成指定格式的系统安装包,并配套了 RPM/DEB 包的安装后/卸载前脚本以自动管理 Python wheel 文件,同时更新了底层 cann-cmake 依赖版本及包描述文件的权限配置。 主要改动 build.sh 新增 --pkg-type 参数及包类型构建流程:新增 check_pkg_type 校验函数,限定仅接受 run/rpm/deb/all;在 check_param 中约束非 run/all 类型不得与 --static、--jit、--ops/--vendor_name/--experimental 等自定义算子选项混用;build_pkg 中对 all 类型循环构建三种包,并通过 clean_rpm_deb_package 和 collect_rpm_deb_package 清理旧产物与复制成品到输出目录。 新增 RPM/DEB 安装与卸载脚本:custom_postinst.sh 在包安装后通过 pip install 自动部署 es_packages/whl 及 python/site-packages 下的 .whl 文件;custom_prerm.sh 在包卸载前通过 pip uninstall 移除 cann-ops-nn 和 es-nn,并清理相关目录和残留文件。 cmake/package.cmake 传递 PACKAGE_TYPE 并调整包配置:set_cann_cpack_config 调用中新增 PACKAGE_TYPE "${PACKAGE_TYPE}" 参数;移除了 path.cfg 配置文件的安装逻辑;新增 CANN_VERSION_ops-nn_VERSION 的版本号映射以兼容 CPack 组件命名。 fetch_cann_cmake.cmake 升级底层依赖版本:CANN_CMAKE_TAG 从 master-015 升级至 master-046,并新增离线包的 URL_HASH(SHA256)校验。 CI 打包脚本及包描述文件权限调整:ops_run_repackage.sh 新增 --pkg-type 参数解析,并在非 run 类型时调用 ops_generate_rpm_deb.sh 生成 RPM/DEB 包;ops_nn.xml 调整 scene.info 权限为 640、version.info 显式设为 440,并移除了对已删除 EngineeringFiles.xml 的引用。 ## 关联的Issue [#4536](https://gitcode.com/cann/ops-nn/issues/4536) ## 测试 本地验证 --pkg-type 参数校验逻辑 CI 流水线已通过 ## 文档更新 更新 docs/zh/install/compile.md 中 cann-cmake 版本信息 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8121 | 28 天前 |