CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA中的多个脚本失败

时间:2019-05-03 18:49:21

标签: cmake c++14

set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "./postinst; ./prerm ")

我在CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA中具有张贴和发布脚本的顺序与前面提到的顺序相同。安装应用程序时,postinst脚本将作为第一个脚本执行。但是,当我卸载应用程序时,prerm不会执行。如果更改CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA中定义脚本的顺序,则prerm在卸载前执行,但postinst不执行。

如何确保它们在应有的状态下执行? 可以同时使用conffile和postrm吗?

1 个答案:

答案 0 :(得分:0)

您即将纠正它,您需要将./切换为$ {CMAKE_CURRENT_SOURCE_DIR}

像这样:

set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/postinst" "${CMAKE_CURRENT_SOURCE_DIR}/postrm")

作为附加说明,请确保正确设置了所有权限(即可执行文件) 希望对您有帮助

ps 您可以使用以下命令检查文件是否已插入到deb软件包中

sudo dpkg -e DebPackage.deb /some/location/