From 5b58156309fbde19eb830e45df9aa2b51fef340c Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Mon, 19 Feb 2018 17:08:39 +0100 Subject: [PATCH] Fix logrotate configuration (#4212) --- Installation/logrotate.d/arangod.systemd | 4 ++-- cmake/ArangoDBInstall.cmake | 19 ------------------- cmake/packages/deb.cmake | 2 ++ cmake/packages/packages.cmake | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/Installation/logrotate.d/arangod.systemd b/Installation/logrotate.d/arangod.systemd index daf49defd2..7b04243465 100644 --- a/Installation/logrotate.d/arangod.systemd +++ b/Installation/logrotate.d/arangod.systemd @@ -3,8 +3,8 @@ weekly compress delaycompress - create 640 arangodb adm + create 640 arangodb @LOGROTATE_GROUP@ postrotate - systemctl -q is-active @SERVICE_NAME@ && systemctl kill --signal=SIGHUP arangodb3 + systemctl -q is-active @SERVICE_NAME@ && systemctl kill --signal=SIGHUP @SERVICE_NAME@ endscript } diff --git a/cmake/ArangoDBInstall.cmake b/cmake/ArangoDBInstall.cmake index bf130f917f..930333ca6d 100644 --- a/cmake/ArangoDBInstall.cmake +++ b/cmake/ArangoDBInstall.cmake @@ -178,27 +178,8 @@ if (UNIX) DESTINATION ${SYSTEMD_UNIT_DIR}/ RENAME ${SERVICE_NAME}.service ) - - # configure and install logrotate file - configure_file ( - ${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.systemd - ${PROJECT_BINARY_DIR}/arangod.systemd - NEWLINE_STYLE UNIX - ) - install( - FILES ${PROJECT_BINARY_DIR}/arangod.systemd - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/logrotate.d - RENAME ${SERVICE_NAME} - ) - else () message(STATUS "-- systemd not found") - configure_file ( - ${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.sysv - ${PROJECT_BINARY_DIR}/arangod.sysv - NEWLINE_STYLE UNIX - ) endif(SYSTEMD_FOUND) endif(NOT PKG_CONFIG_FOUND) endif(UNIX) diff --git a/cmake/packages/deb.cmake b/cmake/packages/deb.cmake index d9b5419882..83f7835a55 100644 --- a/cmake/packages/deb.cmake +++ b/cmake/packages/deb.cmake @@ -24,6 +24,8 @@ else() set(CPACK_SYSTEMD_FOUND "0") endif() +set(LOGROTATE_GROUP "adm") + # substitute the package name so debconf works: configure_file ( "${PROJECT_SOURCE_DIR}/Installation/debian/templates.in" diff --git a/cmake/packages/packages.cmake b/cmake/packages/packages.cmake index 2ca37df552..ed7e4f1b2a 100644 --- a/cmake/packages/packages.cmake +++ b/cmake/packages/packages.cmake @@ -28,6 +28,7 @@ endif () set(ARANGODB_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) # eventually the package string will be modified later on: +set(LOGROTATE_GROUP "arangodb") if ("${PACKAGING}" STREQUAL "DEB") if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*") set(ARANGODB_PACKAGE_ARCHITECTURE "amd64") @@ -77,6 +78,29 @@ else () include(packages/tar) endif () +if (UNIX) + if (SYSTEMD_FOUND) + # configure and install logrotate file + configure_file ( + ${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.systemd + ${PROJECT_BINARY_DIR}/arangod.systemd + NEWLINE_STYLE UNIX + ) + install( + FILES ${PROJECT_BINARY_DIR}/arangod.systemd + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/logrotate.d + RENAME ${SERVICE_NAME} + ) + else () + configure_file ( + ${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.sysv + ${PROJECT_BINARY_DIR}/arangod.sysv + NEWLINE_STYLE UNIX + ) + endif () +endif () + configure_file( "${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in"