已合并
fix(package): clean built-in AICPU artifacts on uninstall #15309
fix(package): clean built-in AICPU artifacts on uninstall #15309
已合并
qzzzy1创建于 4 天前
共 2 个文件变更+15-2
@@ -13,8 +13,8 @@
13 <file_info copy_type="delivery" src_path=""13 <file_info copy_type="delivery" src_path=""
14 dst_path="opp/built-in/op_impl/aicpu/"14 dst_path="opp/built-in/op_impl/aicpu/"
15 install_path="opp/built-in/op_impl/aicpu/" install_type="all" optional="true">15 install_path="opp/built-in/op_impl/aicpu/" install_type="all" optional="true">
16- <file value="config" entity="true" install_mod="755"/>16+ <file value="config" install_mod="755"/>
Iridescent
IridescentIridescent4 天前

【review】 问题分类:可维护性 位置:scripts/package/module/ascend/OpsTransformerInc.xml:16,代码:(同文件 17 行 kernel 同理) 问题:这里把 opp/built-in/op_impl/aicpu/{config,kernel} 两个条目的 entity="true" 去掉,而同一仓库今天另有一个未合入的 PR(#15204)在完全相同的两行上新增了 entity="true",两个 PR 对同一份打包清单做的是方向相反的修改。 可能导致的结果:两个 PR 若先后合入,最终行为取决于合入顺序且不会产生冲突告警(同一行文本改动在各自分支上都可编译/可打包):先合 15204 再合本 PR 会回到不带 entity 的旧行为,安装/卸载时对这两个目录的处理与作者预期不一致,遗留目录或删除范围出现回归。 建议的修改方法:与 #15204 的作者确认这两个条目最终应以哪种语义交付(entity 是否表示目录整体投递),只保留一个 PR 生效,并在 PR 描述中互相引用说明;若最终保留本 PR 的写法,请补充对应的安装/卸载验证结论。

likedislike
17- <file value="kernel" entity="true" install_mod="755"/>17+ <file value="kernel" install_mod="755"/>
18 </file_info>18 </file_info>
19 <file_info copy_type="delivery" src_path=""19 <file_info copy_type="delivery" src_path=""
20 dst_path="opp/built-in/op_graph/inc"20 dst_path="opp/built-in/op_graph/inc"
@@ -180,6 +180,17 @@ remove_init_py() {
180 [ -e ${built_in_impl_path}/dynamic/__init__.py ] && rm ${built_in_impl_path}/dynamic/__init__.py > /dev/null 2>&1180 [ -e ${built_in_impl_path}/dynamic/__init__.py ] && rm ${built_in_impl_path}/dynamic/__init__.py > /dev/null 2>&1
181}181}
182 182 
183+remove_builtin_aicpu_files() {
W
Wwang-minbo4 天前

run 包这条路径是清干净了,不过 rpm/deb 那边的 custom_prerm.sh 没看到对应处理,whl 目录和 init.py 那些都是两边镜像着清的,确认下 rpm/deb 卸载时这两个 aicpu 文件会不会还残留?如果 rpm 文件清单本身能跟踪到就不用管,不然建议 prerm 里也补一份

likedislike
184+ local aicpu_impl_path=${TARGET_OPP_BUILT_IN}/op_impl/aicpu
185+ 
186+ rm -f "${aicpu_impl_path}/config/aicpu_transformer.json" > /dev/null 2>&1
W
Wwang-minbo4 天前

这两个文件名在 cmake/symbol.cmake 里也各定义了一份,和这边硬编码没有任何联动,后面 cmake 侧一改名,卸载清理就悄悄失效了,建议至少一边加个注释互相提醒,避免两边各自漂移

likedislike
187+ rm -f "${aicpu_impl_path}/kernel/libtransformer_aicpu_kernels.so" > /dev/null 2>&1
188+ 
189+ remove_dir_if_empty "${aicpu_impl_path}/config"
190+ remove_dir_if_empty "${aicpu_impl_path}/kernel"
191+ remove_dir_if_empty "${aicpu_impl_path}"
192+}
193+ 
183remove_whl_package() {194remove_whl_package() {
184 local python_dir="${TARGET_VERSION_DIR}/python/site-packages"195 local python_dir="${TARGET_VERSION_DIR}/python/site-packages"
185 196 
@@ -218,6 +229,8 @@ remove_ops_transformer() {
218 229 
219 remove_init_py230 remove_init_py
220 231 
232+ remove_builtin_aicpu_files
233+ 
221 remove_whl_package234 remove_whl_package
222 235 
223 remove_module236 remove_module