Jim Fehlig wrote: > The libvirt-daemon package contains several hypervisor-specific files, > directories, and script, which can be problematic when building the > package with multiple hypervisor support, e.g. both QEMU and Xen. > > E.g. installing a QEMU+Xen enabled libvirt-daemon on a Xen-only system > will result in the creation of qemu and kvm groups and a qemu user. > > Move the hypervisor-specific files, directories, and script to the > respective hypervisor driver subpackages. > Any thoughts on moving these hypervisor-specific items to their subpackages? Regards, Jim > --- > libvirt.spec.in | 117 ++++++++++++++++++++++---------------------------------- > 1 file changed, 46 insertions(+), 71 deletions(-) > > diff --git a/libvirt.spec.in b/libvirt.spec.in > index cfd8890..76c21ec 100644 > --- a/libvirt.spec.in > +++ b/libvirt.spec.in > @@ -1522,23 +1522,6 @@ then > fi > > %if %{with_libvirtd} > -%pre daemon > - %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 > -# We want soft static allocation of well-known ids, as disk images > -# are commonly shared across NFS mounts by id rather than name; see > -# https://fedoraproject.org/wiki/Packaging:UsersAndGroups > -getent group kvm >/dev/null || groupadd -f -g 36 -r kvm > -getent group qemu >/dev/null || groupadd -f -g 107 -r qemu > -if ! getent passwd qemu >/dev/null; then > - if ! getent passwd 107 >/dev/null; then > - useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu > - else > - useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu > - fi > -fi > -exit 0 > - %endif > - > %post daemon > > %if %{with_network} > @@ -1647,6 +1630,25 @@ fi > %endif > %endif > > + %if %{with_qemu} > +%pre daemon-driver-qemu > + %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 > +# We want soft static allocation of well-known ids, as disk images > +# are commonly shared across NFS mounts by id rather than name; see > +# https://fedoraproject.org/wiki/Packaging:UsersAndGroups > +getent group kvm >/dev/null || groupadd -f -g 36 -r kvm > +getent group qemu >/dev/null || groupadd -f -g 107 -r qemu > +if ! getent passwd qemu >/dev/null; then > + if ! getent passwd 107 >/dev/null; then > + useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu > + else > + useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu > + fi > +fi > +exit 0 > + %endif > + %endif > + > %if %{with_network} > %post daemon-config-network > if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then > @@ -1770,26 +1772,8 @@ exit 0 > %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6 > %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf > %endif > -%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_libxl} > -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ > - %endif > > %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd > - %if %{with_qemu} > -%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf > -%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.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/ > > @@ -1805,28 +1789,6 @@ exit 0 > %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ > %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/ > > - %if %{with_qemu} > -%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ > -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ > -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/ > -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ > -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ > - %endif > - %if %{with_lxc} > -%ghost %dir %{_localstatedir}/run/libvirt/lxc/ > -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ > - %endif > - %if %{with_uml} > -%ghost %dir %{_localstatedir}/run/libvirt/uml/ > -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ > - %endif > - %if %{with_libxl} > -%ghost %dir %{_localstatedir}/run/libvirt/libxl/ > -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ > - %endif > - %if %{with_xen} > -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ > - %endif > %if %{with_network} > %ghost %dir %{_localstatedir}/run/libvirt/network/ > %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ > @@ -1836,16 +1798,6 @@ exit 0 > %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver > %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so > > - %if %{with_qemu} > -%{_datadir}/augeas/lenses/libvirtd_qemu.aug > -%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug > - %endif > - > - %if %{with_lxc} > -%{_datadir}/augeas/lenses/libvirtd_lxc.aug > -%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug > - %endif > - > %{_datadir}/augeas/lenses/libvirtd.aug > %{_datadir}/augeas/lenses/tests/test_libvirtd.aug > %{_datadir}/augeas/lenses/virtlockd.aug > @@ -1864,10 +1816,6 @@ exit 0 > > %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ > > - %if %{with_lxc} > -%attr(0755, root, root) %{_libexecdir}/libvirt_lxc > - %endif > - > %if %{with_storage_disk} > %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper > %endif > @@ -1933,30 +1881,57 @@ exit 0 > %if %{with_qemu} > %files daemon-driver-qemu > %defattr(-, root, root) > +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ > +%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf > +%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf > +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu > +%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ > +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ > +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/ > +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ > +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ > +%{_datadir}/augeas/lenses/libvirtd_qemu.aug > +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug > %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so > %endif > > %if %{with_lxc} > %files daemon-driver-lxc > %defattr(-, root, root) > +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ > +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf > +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc > +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ > +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ > +%{_datadir}/augeas/lenses/libvirtd_lxc.aug > +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug > +%attr(0755, root, root) %{_libexecdir}/libvirt_lxc > %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so > %endif > > %if %{with_uml} > %files daemon-driver-uml > %defattr(-, root, root) > +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ > +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml > +%ghost %dir %{_localstatedir}/run/libvirt/uml/ > +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ > %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so > %endif > > %if %{with_xen} > %files daemon-driver-xen > %defattr(-, root, root) > +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ > %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so > %endif > > %if %{with_libxl} > %files daemon-driver-libxl > %defattr(-, root, root) > +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ > +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ > +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ > %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so > %endif > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list