【发布时间】:2018-11-28 13:05:09
【问题描述】:
我正在构建一个应该作为服务运行的 Debian 软件包。另外,我有一个描述我的服务的文件。
install(TARGETS "${SERVICE_NAME}"
DESTINATION "bin"
COMPONENT "${SERVICE_NAME}")
install(FILES "${SERVICE_NAME}.service"
DESTINATION "/lib/systemd/system/"
COMPONENT "${SERVICE_NAME}")
cpack_add_component_group("${SERVICE_NAME}")
cpack_add_component("${SERVICE_NAME}"
DISPLAY_NAME "${SERVICE_NAME}"
DESCRIPTION "${DESCRIPTION}"
GROUP "${SERVICE_NAME}"
INSTALL_TYPES Full)
我想在安装包后运行:
systemctl enable wb-rules && service wb-rules start
作为另一种选择,也许 CPack 有一个现成的解决方案来安装 system.d 服务?
【问题讨论】:
-
为什么否定???
-
不是我的反对意见,但这是一个广泛的问题,没有迹象表明您已经研究过该主题或实际尝试过任何事情。也许您可以edit 您的问题包含一些背景知识,包括您目前拥有的代码。
-
你可以这样设置一个 CPACK 变量:
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/make/rpm/post")在 post 脚本中运行你想要的任何东西。