summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2016-01-13 19:44:58 +0100
committerFlorent Le Coz <louiz@louiz.org>2016-01-13 14:01:04 +0100
commit25475b60ab363299ddbe5e81ded8968b76838b44 (patch)
treea081ed2c3e99fa9c3f6727457fbe10fbdc86ba43
parent4233e1f6538351e3bf3c15c88454455998b718e5 (diff)
downloadbiboumi-25475b60ab363299ddbe5e81ded8968b76838b44.tar.gz
biboumi-25475b60ab363299ddbe5e81ded8968b76838b44.tar.bz2
biboumi-25475b60ab363299ddbe5e81ded8968b76838b44.tar.xz
biboumi-25475b60ab363299ddbe5e81ded8968b76838b44.zip
Generate systemd file from template and make installs it and the conf
The unit file Type=, as well as the executable path should now be correct with a simple “make install”, whatever the install prefix and the DESTDIR values are. ref #3152
-rw-r--r--CMakeLists.txt18
-rw-r--r--packaging/biboumi.spec12
-rw-r--r--unit/biboumi.service.cmake (renamed from unit/biboumi.service)4
3 files changed, 18 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c27477..3ff7be6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -200,11 +200,10 @@ endif()
#
## Install target
#
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin)
-if(WITH_DOC)
- install(FILES ${MAN_PAGE} DESTINATION share/man/man1 OPTIONAL)
-endif()
+install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
+install(FILES ${MAN_PAGE} DESTINATION share/man/man1 OPTIONAL COMPONENT documentation)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/biboumi.service DESTINATION /etc/systemd/system COMPONENT init)
+install(FILES conf/biboumi.cfg DESTINATION /etc/biboumi COMPONENT configuration)
#
## Dist target
@@ -228,4 +227,11 @@ endif()
add_custom_target(PrintBuildParameters ALL
${CMAKE_COMMAND} -E cmake_echo_color --cyan "Compiling ${PROJECT_NAME} with ${STR_WITH_BOTAN}, ${STR_WITH_CARES}")
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/biboumi.h.cmake ${CMAKE_BINARY_DIR}/src/biboumi.h)
+configure_file(biboumi.h.cmake src/biboumi.h)
+
+if(SYSTEMD_FOUND)
+ set(SYSTEMD_SERVICE_TYPE "notify")
+else()
+ set(SYSTEMD_SERVICE_TYPE "simple")
+endif()
+configure_file(unit/biboumi.service.cmake biboumi.service)
diff --git a/packaging/biboumi.spec b/packaging/biboumi.spec
index fb9a30f..e375504 100644
--- a/packaging/biboumi.spec
+++ b/packaging/biboumi.spec
@@ -49,14 +49,6 @@ LC_ALL=en_GB.utf-8 make doc
%install
make install DESTDIR=%{buildroot}
-# Default config file
-install -D -p -m 644 conf/biboumi.cfg \
- %{buildroot}%{biboumi_confdir}/biboumi.cfg
-
-# Systemd unit file
-install -D -p -m 644 unit/%{name}.service \
- %{buildroot}%{_unitdir}/%{name}.service
-
%check
make test_suite/fast VERBOSE=1
@@ -73,6 +65,10 @@ make test_suite/fast VERBOSE=1
%changelog
+* Wed Jan 13 2016 Le Coz Florent <louiz@louiz.org> - 2.0-2
+- Do not install the systemd unit and configuration files, because
+ “make install” does it itself now
+
* Fri May 29 2015 Le Coz Florent <louiz@louiz.org> - 2.0-1
- Update to 2.0 sources
diff --git a/unit/biboumi.service b/unit/biboumi.service.cmake
index 59001a6..0a9b76b 100644
--- a/unit/biboumi.service
+++ b/unit/biboumi.service.cmake
@@ -3,8 +3,8 @@ Description=Biboumi, XMPP to IRC gateway
After=network.target
[Service]
-Type=notify
-ExecStart=/usr/bin/biboumi /etc/biboumi/biboumi.cfg
+Type=${SYSTEMD_SERVICE_TYPE}
+ExecStart=${CMAKE_INSTALL_PREFIX}/bin/biboumi /etc/biboumi/biboumi.cfg
ExecReload=/bin/kill -s USR1 $MAINPID
WatchdogSec=10
Restart=always