Bash RPM PreUninstall scriptlet在卸载软件包之前未运行
我用Cpack做了一个RPM。它可以安装和卸载一个软件。但是,我遇到了一个问题,即在卸载包文件之前,预卸载脚本没有运行 我使用Bash RPM PreUninstall scriptlet在卸载软件包之前未运行,bash,cmake,rpm,Bash,Cmake,Rpm,我用Cpack做了一个RPM。它可以安装和卸载一个软件。但是,我遇到了一个问题,即在卸载包文件之前,预卸载脚本没有运行 我使用watch du命令对包中存在的已知文件验证了这一点。我可以看到这些文件在预卸载scriptlet中的echo命令显示给终端之前被删除(卸载已经开始) preuninstall scriptlet确实会执行,但它似乎发生在卸载后postninstall scriptlet之前。显然,这种执行顺序使我在卸载前的步骤中表现得很奇怪 如何让脚本在适当的时间执行?或者它正在执行并
watch du
命令对包中存在的已知文件验证了这一点。我可以看到这些文件在预卸载scriptlet中的echo命令显示给终端之前被删除(卸载已经开始)
preuninstall scriptlet确实会执行,但它似乎发生在卸载后postninstall scriptlet之前。显然,这种执行顺序使我在卸载前的步骤中表现得很奇怪
如何让脚本在适当的时间执行?或者它正在执行并且echo命令输出延迟
相关CMakeLists.txt:
SET(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/preInstall.sh")
SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/postInstall.sh")
SET(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/preUninstall.sh")
SET(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/postUninstall.sh")