Re: [PATCH RFC] spec: move hypvisor-specific files to hypervisor driver subpackages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]