Added systemd support.
This commit is contained in:
@@ -13,6 +13,7 @@ message(STATUS "Project description: ${PROJECT_DESCRIPTION}")
|
|||||||
# Settings
|
# Settings
|
||||||
# ----------------------------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------------------------
|
||||||
set(INSTALL_AS_ROOT ON CACHE BOOL "Install as root")
|
set(INSTALL_AS_ROOT ON CACHE BOOL "Install as root")
|
||||||
|
set(USE_SYSTEMD ON CACHE BOOL "Use systemd")
|
||||||
set(WITH_POSTGRESQL OFF CACHE BOOL "Build with PostgreSQL")
|
set(WITH_POSTGRESQL OFF CACHE BOOL "Build with PostgreSQL")
|
||||||
set(WITH_SSL ON CACHE BOOL "Build with SSL")
|
set(WITH_SSL ON CACHE BOOL "Build with SSL")
|
||||||
set(WITH_SQLITE3 OFF CACHE BOOL "Build with Sqlite3")
|
set(WITH_SQLITE3 OFF CACHE BOOL "Build with Sqlite3")
|
||||||
@@ -303,6 +304,11 @@ install(FILES conf/bitcoin.conf DESTINATION ${INSTALL_PATH}/conf)
|
|||||||
install(FILES conf/default.conf DESTINATION ${INSTALL_PATH} RENAME ${PROJECT_NAME}.conf)
|
install(FILES conf/default.conf DESTINATION ${INSTALL_PATH} RENAME ${PROJECT_NAME}.conf)
|
||||||
|
|
||||||
if (INSTALL_AS_ROOT)
|
if (INSTALL_AS_ROOT)
|
||||||
install(FILES auto/daemon DESTINATION /etc/init.d RENAME ${PROJECT_NAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
if (USE_SYSTEMD)
|
||||||
install(CODE "execute_process(COMMAND update-rc.d ${PROJECT_NAME} defaults)")
|
install(FILES auto/unit.service DESTINATION /etc/systemd/system RENAME ${PROJECT_NAME}.service PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||||
|
install(CODE "execute_process(COMMAND systemctl enable ${PROJECT_NAME}.service)")
|
||||||
|
else()
|
||||||
|
install(FILES auto/daemon DESTINATION /etc/init.d RENAME ${PROJECT_NAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||||
|
install(CODE "execute_process(COMMAND update-rc.d ${PROJECT_NAME} defaults)")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
21
auto/unit.service
Normal file
21
auto/unit.service
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Deal Module
|
||||||
|
After=network.target remote-fs.target nss-lookup.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/run/dm.pid
|
||||||
|
# dm will fail to start if /run/dm.pid already exists but has the wrong
|
||||||
|
# SELinux context. This might happen when running `dm -t` from the cmdline.
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
|
||||||
|
ExecStartPre=/usr/bin/rm -f /run/dm.pid
|
||||||
|
ExecStartPre=/usr/sbin/dm -t
|
||||||
|
ExecStart=/usr/sbin/dm
|
||||||
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
|
KillSignal=SIGQUIT
|
||||||
|
TimeoutStopSec=5
|
||||||
|
KillMode=mixed
|
||||||
|
PrivateTmp=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user