| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 个月前 |