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 38cf28dcf6..437f0ec841 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 958a4f600d..a071609aa3 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 $@ -install-logrotate: libvirtd.logrotate +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: $(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 0c51fd3df4..4e7d314c79 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 0000000000..15cf019b2b --- /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 0000000000..135a37dd1b --- /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 2df4424d02..a54d546208 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/