diff --git a/CMakeLists.txt b/CMakeLists.txt index bf5379f0f..97ccd5533 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,6 +87,22 @@ if(WIN32) add_definitions(/bigobj) endif() +if(NOT DEFINED LOGROTATE_HAS_SU) + set(LOGROTATE_HAS_SU OFF) + execute_process(COMMAND "/usr/sbin/logrotate" ERROR_VARIABLE LOGROTATE_OUTPUT) + if(LOGROTATE_OUTPUT) + string(REGEX REPLACE "^logrotate ([0-9.]*).*" "\\1" LOGROTATE_VERSION + ${LOGROTATE_OUTPUT}) + message(STATUS "Found logrotate (found version \"${LOGROTATE_VERSION}\")") + if("${LOGROTATE_VERSION}" VERSION_GREATER "3.7.9") + set(LOGROTATE_HAS_SU ON) + endif() + endif() +endif() +if(LOGROTATE_HAS_SU) + set(LOGROTATE_USE_SU "\n\tsu ${ICINGA2_USER} ${ICINGA2_GROUP}") +endif() + find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS thread system program_options regex REQUIRED) link_directories(${Boost_LIBRARY_DIRS}) diff --git a/etc/logrotate.d/icinga2.cmake b/etc/logrotate.d/icinga2.cmake index d96fd7a09..91d8d23d3 100644 --- a/etc/logrotate.d/icinga2.cmake +++ b/etc/logrotate.d/icinga2.cmake @@ -1,6 +1,6 @@ @CMAKE_INSTALL_FULL_LOCALSTATEDIR@/log/icinga2/icinga2.log @CMAKE_INSTALL_FULL_LOCALSTATEDIR@/log/icinga2/debug.log { daily - rotate 7 + rotate 7@LOGROTATE_USE_SU@ compress delaycompress missingok @@ -13,7 +13,7 @@ @CMAKE_INSTALL_FULL_LOCALSTATEDIR@/log/icinga2/error.log { daily - rotate 90 + rotate 90@LOGROTATE_USE_SU@ compress delaycompress missingok