From: Donatas Abraitis Date: Wed, 20 Apr 2022 06:48:28 +0000 (+0300) Subject: packaging: Reuse frr.logrotate for Debian and Redhat builds X-Git-Tag: base_8.5~246^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c4831d286498c6505a389af089abd9c1850e09ba;p=matthieu%2Ffrr.git packaging: Reuse frr.logrotate for Debian and Redhat builds It will be easier to maintain a single file instead of two separate. Also, fixes the issue when the file (/var/log/frr/frr.log) is not created after logrotate. Signed-off-by: Donatas Abraitis --- diff --git a/Makefile.am b/Makefile.am index 8c7bde9d4c..44d2ab8e72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -231,7 +231,7 @@ EXTRA_DIST += \ \ python/xrefstructs.json \ \ - redhat/frr.logrotate \ + tools/etc/logrotate.d/frr \ redhat/frr.pam \ redhat/frr.spec \ \ diff --git a/debian/frr.install b/debian/frr.install index 48263222f8..044b484984 100644 --- a/debian/frr.install +++ b/debian/frr.install @@ -1,6 +1,7 @@ debian/frr.conf usr/lib/tmpfiles.d etc/ tools/etc/frr/frr.conf etc/frr/ +tools/etc/logrotate.d/frr etc/logrotate.d/ tools/frr-reload usr/lib/frr/ usr/bin/mtracebis usr/bin/vtysh diff --git a/debian/frr.logrotate b/debian/frr.logrotate deleted file mode 100644 index 735af6539b..0000000000 --- a/debian/frr.logrotate +++ /dev/null @@ -1,27 +0,0 @@ -/var/log/frr/*.log { - size 500k - sharedscripts - missingok - compress - rotate 14 - create 0640 frr frr - - postrotate - pid=$(lsof -t -a -c /syslog/ /var/log/frr/* 2>/dev/null) - if [ -n "$pid" ] - then # using syslog - kill -HUP $pid - fi - # in case using file logging; if switching back and forth - # between file and syslog, rsyslogd might still have file - # open, as well as the daemons, so always signal the daemons. - # It's safe, a NOP if (only) syslog is being used. - for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd sharpd \ - pimd pim6d ripd ripngd zebra pathd pbrd staticd bfdd fabricd vrrpd; do - if [ -e /var/run/frr/$i.pid ] ; then - pids="$pids $(cat /var/run/frr/$i.pid)" - fi - done - [ -n "$pids" ] && kill -USR1 $pids || true - endscript -} diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in index 8f469d2a07..afe75e1f26 100644 --- a/redhat/frr.spec.in +++ b/redhat/frr.spec.in @@ -469,7 +469,7 @@ ln -s %{_sbindir}/frrinit.sh %{buildroot}%{_initddir}/frr install %{zeb_src}/tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/frr install %{zeb_src}/tools/etc/frr/frr.conf %{buildroot}%{_sysconfdir}/frr/frr.conf.template install -m644 %{zeb_rh_src}/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr -install -m644 %{zeb_rh_src}/frr.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/frr +install -m644 %{zeb_src}/tools/etc/logrotate.d/frr %{buildroot}%{_sysconfdir}/logrotate.d/frr install -d -m750 %{buildroot}%{rundir} %if 0%{?rhel} > 7 || 0%{?fedora} > 29 diff --git a/tools/etc/logrotate.d/frr b/tools/etc/logrotate.d/frr new file mode 100644 index 0000000000..735af6539b --- /dev/null +++ b/tools/etc/logrotate.d/frr @@ -0,0 +1,27 @@ +/var/log/frr/*.log { + size 500k + sharedscripts + missingok + compress + rotate 14 + create 0640 frr frr + + postrotate + pid=$(lsof -t -a -c /syslog/ /var/log/frr/* 2>/dev/null) + if [ -n "$pid" ] + then # using syslog + kill -HUP $pid + fi + # in case using file logging; if switching back and forth + # between file and syslog, rsyslogd might still have file + # open, as well as the daemons, so always signal the daemons. + # It's safe, a NOP if (only) syslog is being used. + for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd sharpd \ + pimd pim6d ripd ripngd zebra pathd pbrd staticd bfdd fabricd vrrpd; do + if [ -e /var/run/frr/$i.pid ] ; then + pids="$pids $(cat /var/run/frr/$i.pid)" + fi + done + [ -n "$pids" ] && kill -USR1 $pids || true + endscript +}