Added systemd support.
This commit is contained in:
@@ -13,6 +13,7 @@ message(STATUS "Project description: ${PROJECT_DESCRIPTION}")
|
||||
# Settings
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
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_SSL ON CACHE BOOL "Build with SSL")
|
||||
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)
|
||||
|
||||
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)
|
||||
install(CODE "execute_process(COMMAND update-rc.d ${PROJECT_NAME} defaults)")
|
||||
if (USE_SYSTEMD)
|
||||
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()
|
||||
|
||||
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