Use copytruncate method for logrotate
This commit is contained in:
parent
e2d21ef166
commit
6d8d5bd0e7
@ -18,11 +18,13 @@
|
|||||||
Name: corosync
|
Name: corosync
|
||||||
Summary: The Corosync Cluster Engine and Application Programming Interfaces
|
Summary: The Corosync Cluster Engine and Application Programming Interfaces
|
||||||
Version: 3.1.6
|
Version: 3.1.6
|
||||||
Release: 2%{?gitver}%{?dist}
|
Release: 3%{?gitver}%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://corosync.github.io/corosync/
|
URL: http://corosync.github.io/corosync/
|
||||||
Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
|
Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
|
||||||
|
|
||||||
|
Patch0: logrotate-Use-copytruncate-method-by-default.patch
|
||||||
|
|
||||||
# Runtime bits
|
# Runtime bits
|
||||||
# The automatic dependency overridden in favor of explicit version lock
|
# The automatic dependency overridden in favor of explicit version lock
|
||||||
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
||||||
@ -71,6 +73,7 @@ BuildRequires: make
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}%{?gittarver}
|
%setup -q -n %{name}-%{version}%{?gittarver}
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %{with runautogen}
|
%if %{with runautogen}
|
||||||
@ -289,6 +292,9 @@ network splits)
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 30 2022 Jan Friesse <jfriesse@redhat.com> - 3.1.6-3
|
||||||
|
- Use copytruncate method for logrotate
|
||||||
|
|
||||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.6-2
|
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.6-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
60
logrotate-Use-copytruncate-method-by-default.patch
Normal file
60
logrotate-Use-copytruncate-method-by-default.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 04362046c4a9d7307feb5b68341d567b7d0b94d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jan Friesse <jfriesse@redhat.com>
|
||||||
|
Date: Tue, 29 Mar 2022 17:09:22 +0200
|
||||||
|
Subject: [PATCH] logrotate: Use copytruncate method by default
|
||||||
|
|
||||||
|
The reopen lograte method has two main problems:
|
||||||
|
1. It does fail when corosync is not running (solvable by
|
||||||
|
adding "|| true")
|
||||||
|
2. If (for some reason, like SELinux) cfgtool -L fails, logrotate
|
||||||
|
fails and corosync keeps logging into old file. Added "|| true"
|
||||||
|
makes situation even worse because logrotate removes file but
|
||||||
|
corosync keeps logging into it.
|
||||||
|
|
||||||
|
Solution is to install copytruncate logrotate snip by default (and
|
||||||
|
keep reopen config file only for reference).
|
||||||
|
|
||||||
|
Signed-off-by: Jan Friesse <jfriesse@redhat.com>
|
||||||
|
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
|
||||||
|
---
|
||||||
|
conf/logrotate/Makefile.am | 7 -------
|
||||||
|
conf/logrotate/corosync-reopen.in | 5 +++++
|
||||||
|
2 files changed, 5 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/conf/logrotate/Makefile.am b/conf/logrotate/Makefile.am
|
||||||
|
index 4f7b7536..35efa2de 100644
|
||||||
|
--- a/conf/logrotate/Makefile.am
|
||||||
|
+++ b/conf/logrotate/Makefile.am
|
||||||
|
@@ -34,16 +34,9 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
EXTRA_DIST = corosync-reopen.in corosync-copytruncate.in
|
||||||
|
|
||||||
|
-if HAVE_QB_LOG_FILE_REOPEN
|
||||||
|
-corosync: corosync-reopen.in
|
||||||
|
- $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \
|
||||||
|
- -e 's#@''SBINDIR@#$(sbindir)#g' \
|
||||||
|
- $< > $@
|
||||||
|
-else
|
||||||
|
corosync: corosync-copytruncate.in
|
||||||
|
$(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \
|
||||||
|
$< > $@
|
||||||
|
-endif
|
||||||
|
|
||||||
|
logrotatecorosyncdir = ${LOGROTATEDIR}
|
||||||
|
logrotatecorosync_DATA = corosync
|
||||||
|
diff --git a/conf/logrotate/corosync-reopen.in b/conf/logrotate/corosync-reopen.in
|
||||||
|
index 839c5dae..730fb741 100644
|
||||||
|
--- a/conf/logrotate/corosync-reopen.in
|
||||||
|
+++ b/conf/logrotate/corosync-reopen.in
|
||||||
|
@@ -1,3 +1,8 @@
|
||||||
|
+# This logrotate method has two main problems and it's kept only for reference:
|
||||||
|
+# 1. It does fail when corosync is not running (solvable by adding "|| true")
|
||||||
|
+# 2. If (for some reason) cfgtool -L fails, logrotate fails and corosync keeps
|
||||||
|
+# logging into old file. Added "|| true" makes situation even worse
|
||||||
|
+# because logrotate removes file but corosync keeps logging into it.
|
||||||
|
@LOGDIR@/corosync.log {
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user