From 89bf843a6d5a9ddf8a1d338230c61afd9c7d46e5 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 4 Mar 2010 15:17:08 +0100 Subject: [PATCH] Change logrotate to be per-hypervisor logs Having a single logrotate configuration file for all hypervisors did not work as logrotate would get confused if an hypervisor not supported on that platform was still listed. Simplest is to split the logrotate as separate per hypervisor files and change the spec file to only install the ones compiled in. * daemon/libvirtd.lxc.logrotate.in daemon/libvirtd.qemu.logrotate.in daemon/libvirtd.uml.logrotate.in: copy and split the original daemon/libvirtd.logrotate.in file * daemon/Makefile.am: update to support the different files and cleanup in sed suggested by Eric Blake * libvirt.spec.in: only install the relevant logrotate configs * daemon/.gitignore: update logrotate generated list --- daemon/.gitignore | 2 +- daemon/Makefile.am | 33 +++++++++++++++---- ...logrotate.in => libvirtd.lxc.logrotate.in} | 2 +- daemon/libvirtd.qemu.logrotate.in | 9 +++++ daemon/libvirtd.uml.logrotate.in | 9 +++++ libvirt.spec.in | 6 +++- 6 files changed, 51 insertions(+), 10 deletions(-) rename daemon/{libvirtd.logrotate.in => libvirtd.lxc.logrotate.in} (53%) create mode 100644 daemon/libvirtd.qemu.logrotate.in create mode 100644 daemon/libvirtd.uml.logrotate.in diff --git a/daemon/.gitignore b/daemon/.gitignore index 38cf28dcf..437f0ec84 100644 --- a/daemon/.gitignore +++ b/daemon/.gitignore @@ -9,4 +9,4 @@ Makefile.in libvirt_qemud libvirtd libvirtd.init -libvirtd.logrotate +libvirtd.*.logrotate diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 958a4f600..a071609aa 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -25,7 +25,9 @@ EXTRA_DIST = \ libvirtd.sasl \ libvirtd.sysconf \ libvirtd.aug \ - libvirtd.logrotate.in \ + libvirtd.qemu.logrotate.in \ + libvirtd.lxc.logrotate.in \ + libvirtd.uml.logrotate.in \ test_libvirtd.aug \ $(AVAHI_SOURCES) \ $(DAEMON_SOURCES) @@ -177,20 +179,37 @@ remote_dispatch_args.h: $(srcdir)/remote_generate_stubs.pl $(REMOTE_PROTOCOL) remote_dispatch_ret.h: $(srcdir)/remote_generate_stubs.pl $(REMOTE_PROTOCOL) perl -w $(srcdir)/remote_generate_stubs.pl -r $(REMOTE_PROTOCOL) > $@ -BUILT_SOURCES += libvirtd.logrotate +LOGROTATE_CONFS = libvirtd.qemu.logrotate libvirtd.lxc.logrotate \ + libvirtd.uml.logrotate -libvirtd.logrotate: libvirtd.logrotate.in - sed \ - -e s!\@localstatedir\@!@localstatedir@!g \ +BUILT_SOURCES += $(LOGROTATE_CONFS) + +libvirtd.qemu.logrotate: libvirtd.qemu.logrotate.in + sed \ + -e 's![@]localstatedir[@]!$(localstatedir)!g' \ + < $< > $@-t + mv $@-t $@ + +libvirtd.lxc.logrotate: libvirtd.lxc.logrotate.in + sed \ + -e 's![@]localstatedir[@]!$(localstatedir)!g' \ + < $< > $@-t + mv $@-t $@ + +libvirtd.uml.logrotate: libvirtd.uml.logrotate.in + sed \ + -e 's![@]localstatedir[@]!$(localstatedir)!g' \ < $< > $@-t mv $@-t $@ -install-logrotate: libvirtd.logrotate +install-logrotate: $(LOGROTATE_CONFS) mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu/ mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/lxc/ mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/uml/ mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d/ - $(INSTALL_DATA) $< $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd + $(INSTALL_DATA) libvirtd.qemu.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.qemu + $(INSTALL_DATA) libvirtd.lxc.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.lxc + $(INSTALL_DATA) libvirtd.uml.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.uml if LIBVIRT_INIT_SCRIPT_RED_HAT install-init: libvirtd.init diff --git a/daemon/libvirtd.logrotate.in b/daemon/libvirtd.lxc.logrotate.in similarity index 53% rename from daemon/libvirtd.logrotate.in rename to daemon/libvirtd.lxc.logrotate.in index 0c51fd3df..4e7d314c7 100644 --- a/daemon/libvirtd.logrotate.in +++ b/daemon/libvirtd.lxc.logrotate.in @@ -1,4 +1,4 @@ -@localstatedir@/log/libvirt/qemu/*.log @localstatedir@/log/libvirt/uml/*.log @localstatedir@/log/libvirt/lxc/*.log { +@localstatedir@/log/libvirt/lxc/*.log { weekly missingok rotate 4 diff --git a/daemon/libvirtd.qemu.logrotate.in b/daemon/libvirtd.qemu.logrotate.in new file mode 100644 index 000000000..15cf019b2 --- /dev/null +++ b/daemon/libvirtd.qemu.logrotate.in @@ -0,0 +1,9 @@ +@localstatedir@/log/libvirt/qemu/*.log { + weekly + missingok + rotate 4 + compress + delaycompress + copytruncate + minsize 100k +} diff --git a/daemon/libvirtd.uml.logrotate.in b/daemon/libvirtd.uml.logrotate.in new file mode 100644 index 000000000..135a37dd1 --- /dev/null +++ b/daemon/libvirtd.uml.logrotate.in @@ -0,0 +1,9 @@ +@localstatedir@/log/libvirt/uml/*.log { + weekly + missingok + rotate 4 + compress + delaycompress + copytruncate + minsize 100k +} diff --git a/libvirt.spec.in b/libvirt.spec.in index 2df4424d0..a54d54620 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -668,16 +668,20 @@ fi %{_sysconfdir}/rc.d/init.d/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf -%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ %if %{with_qemu} %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu %endif %if %{with_lxc} %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc +%endif +%if %{with_uml} +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml %endif %dir %{_datadir}/libvirt/ -- 2.39.5