From: Louis Sautier Date: Sat, 26 Mar 2016 13:41:58 +0000 (+0100) Subject: Re-add the 'su' directive to logrotate if supported X-Git-Tag: v2.4.5~56 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45786e2b81224f1308c299f5dd9b22261acf8655;p=icinga2 Re-add the 'su' directive to logrotate if supported - try to detect a recent logrotate version which supports the 'su' directive (added in 3.8.0, see https://github.com/logrotate/logrotate/commit/5be96cf1822496f80227e9a446281c3fa42e7b67#diff-e4eb329834da3d36278b1b7d943b3bc9R6) - if logrotate can't be found, assume an old version is used - allow the parameter to be forced by the user fixes #9249 Signed-off-by: Gunnar Beutner --- 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