| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
add some new project features. Co-authored-by: liukejin<liukejin@huawei.com> # message auto-generated for no-merge-commit merge: !91 merge merge_project into master add some new project features. Created-by: liukejin Commit-by: liukejin Merged-by: cann-robot Description: ## 描述 add some new project features. 1. add gen timestamp script to append version_info a timestamp 2. support operators pkg cross-compilation 3. update install scripts 4. cmd support asan cov ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-cv!91 | 8 个月前 | |
feat(build): 支持 --pkg-type=deb/rpm 包构建 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1058 merge master_deb_rpm into master feat(build): 支持 --pkg-type=deb/rpm 包构建 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 为 ops-cv 增加 **deb / rpm** 包构建能力。原来的 bash build.sh --pkg 只能出 run 包(External generator),本次在 run 之外加 deb / rpm 两种格式,沿用 cann-cmake 公共仓的 set_cann_cpack_config(... PACKAGE_TYPE ...) 通道,不引入新的打包框架。 ### 改动清单 **CMakeLists.txt** - 新增 PACKAGE_TYPE 缓存选项,值域 run / rpm / deb,默认 run,透传给 cmake/package.cmake 的 set_cann_cpack_config **build.sh** - 新增 --pkg-type=run|rpm|deb 参数(默认 run),长选项白名单同步加 pkg-type= - 新增 check_pkg_type() 校验函数,在 getopts 阶段做值合法性校验 - check_param 阶段新增三条互斥约束: - --pkg-type 必须与 --pkg 配合 - --pkg-type=rpm|deb 不允许与 --static / --jit 共用 - --pkg-type=rpm|deb 不允许与 --ops / --vendor_name / --experimental 共用(只支持内置算子打包) - assemble_cmake_args 透传 -DPACKAGE_TYPE=${PACKAGE_TYPE} 给 cmake - 三个新函数: - find_rpm_deb_package — 共享的 find 实现,glob 收紧为 cann-ops-cv*.${TYPE},排除 .tmp / .bak / .partial 和 BUILD_OUT_PATH - clean_rpm_deb_package — 在 cmake --build . --target package 之前清理 BUILD_PATH 下残留的同类型旧包 - collect_rpm_deb_package — 构建成功后从 BUILD_PATH 拷贝到 BUILD_OUT_PATH,找不到包则 [ERROR] 退出 - cmake --build . --target package 失败立即 exit 1,避免后续 collect 误把旧产物当新构建结果拷贝 **cmake/package.cmake** - 透传 PACKAGE_TYPE 给 set_cann_cpack_config - 显式补齐 CANN_VERSION_ops-cv_VERSION 和 CANN_VERSION_ops-cv_VERSION_MAJOR_MINOR 两个变量: version.cmake 用下划线名 ops_cv 注册,set_cann_cpack_config 用连字符 component ops-cv;cann-cmake 公共仓 prepare.cmake 在拼装版本号时按 component 拼出的变量名是连字符的(CANN_VERSION_ops-cv_VERSION),直接读会拿到空,显式赋值避免 CPACK_PACKAGE_VERSION 退化为空、产物文件名变成 cann-ops-cv__Linux-x86_64.{deb,rpm} 这种缺版本号形态 **scripts/package/ops_cv/ops_cv.xml** - scene.info 安装权限 440 → 640 - share/info/ops_cv 目录权限 550 → 750 - version.info 显式 install_mod="440" - 目的:配合 deb / rpm 的 postinst 脚本在 share/info/ops_cv/ 目录下写 version.info,确保安装后该目录属主可写,version.info 自身只读 ### 触发方式 bash bash build.sh --pkg --pkg-type=deb --soc=ascend910b -j16 bash build.sh --pkg --pkg-type=rpm --soc=ascend910b -j16 bash build.sh --pkg # 默认 run,与原行为一致 ## 关联的Issue 无 ## 测试 - [x] --pkg 默认 run 包构建,产物路径和文件名与改前一致(回归) - [x] --pkg --pkg-type=deb 在 Ubuntu 22.04 容器内构建出 cann-ops-cv_<ver>_linux-x86_64.deb,dpkg-deb -I 校验 Package: cann-ops-cv、Version: 9.1.0 正常 - [x] --pkg --pkg-type=rpm 在 openEuler 22.03 容器内构建出 cann-ops-cv-<ver>-<arch>.rpm,rpm -qpi 校验 Package / Version 正常 - [x] 重复跑 --pkg --pkg-type=deb:clean_rpm_deb_package 正确清掉上次 .deb,collect_rpm_deb_package 拿到的是本次新产物 - [x] --pkg-type=deb 与 --static / --jit / --ops / --experimental 组合:check_param 按预期报 [ERROR] 退出 - [x] --pkg-type=invalid:预校验 + getopts 两阶段都按预期报 [ERROR] --pkg-type only supports run/rpm/deb - [x] cmake --build . --target package 故意制造失败(临时改坏 pack_built_in):脚本在 exit 1 处停下,不会把上次的旧 .deb 误拷出来 ## 文档更新 无(用户面向接口和命令行未变,只新增参数,help 文本和 examples 在 build.sh 内已更新) ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1058 | 2 个月前 | |
feat: 新增deb/rpm包custom_postinst.sh和custom_prerm.sh Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !1196 merge master_debrmp_scripts into master feat: 新增deb/rpm包custom_postinst.sh和custom_prerm.sh Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 新增 deb/rpm 包的自定义安装后脚本和卸载前脚本,用于 ops-cv 包的生命周期管理。 ### custom_postinst.sh(安装后执行) - 安装 es_cv whl 到 site-packages - 清理 ops_cv 源码目录 - 创建 ops_cv impl 的 __init__.py 文件 - **跨架构 .so 拷贝**:当包架构(PKG_ARCH_NAME)与当前机器架构(uname -m)不一致时,复制 graph/host so 到实际架构目录 ### custom_prerm.sh(卸载前执行) - pip uninstall es_cv 包 - 删除 site-packages 中的 es_cv 文件 - 删除 ops_cv impl 的 __init__.py - 删除跨架构 .so 文件及空目录 - 清理 whl 源码残留和空目录 ### 变更文件 | 文件 | 行数 | 说明 | |------|------|------| | scripts/package/ops_cv/rpm_deb/custom_postinst.sh | 66 | 安装后脚本 | | scripts/package/ops_cv/rpm_deb/custom_prerm.sh | 55 | 卸载前脚本 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#665](https://gitcode.com/cann/ops-cv/issues/665) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1196 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 2 个月前 | ||
| 1 个月前 |