Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash RPM PreUninstall scriptlet在卸载软件包之前未运行_Bash_Cmake_Rpm - Fatal编程技术网

Bash RPM PreUninstall scriptlet在卸载软件包之前未运行

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

我用Cpack做了一个RPM。它可以安装和卸载一个软件。但是,我遇到了一个问题,即在卸载包文件之前,预卸载脚本没有运行

我使用
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")