On Fri, Mar 30, 2012 at 02:22:01PM +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > NB: this is in response to a Fedora 17 beta blocker bug. > Currently gnome-boxes depends on 'libvirt' which pulls > in the default virtual network, which kills networking > if you install Fedora 17 inside a KVM guest. > > There are a number of flaws with our packaging of the libvirtd > daemon: > > - Installing 'libvirt' does not install 'qemu-kvm' or 'xen' > etc which are required to actually run the hypervisor in > question > - Installing 'libvirt' pulls in the default configuration > files which may not be wanted & cause problems if installed > inside a guest > - It is not possible to explicitly required all the peices > required to manage a specific hypervisor > > This change takes the 'libvirt' RPM and and changes it thus > > - libvirt: just a virtual package with dep on libvirt-daemon and > libvirt-daemon-configs > - libvirt-daemon: the libvirt daemon and related pieces > - libvirt-daemon-configs: the default network & filter configs > - libvirt-docs: the website HTML > > We then introduce some more virtual (empty) packages > > - libvirt-daemon-qemu: Deps on libvirt-daemon & 'qemu' > - libvirt-daemon-kvm: Deps on libvirt-daemon & 'qemu-kvm' > - libvirt-daemon-lxc: Deps on libvirt-daemon > - libvirt-daemon-uml: Deps on libvirt-daemon > - libvirt-daemon-xen: Deps on libvirt-daemon & 'xen' > > - libvirt-qemu: Deps on libvirt-daemon-qemu & libvirt-daemon-configs > - libvirt-kvm: Deps on libvirt-daemon-kvm & libvirt-daemon-configs > - libvirt-lxc: Deps on libvirt-daemon-lxc & libvirt-daemon-configs > - libvirt-uml: Deps on libvirt-daemon-uml & libvirt-daemon-configs > - libvirt-xen: Deps on libvirt-daemon-xen & libvirt-daemon-configs > > My intent in the future is to turn on the driver modules by > default, at which time 'libvirt-daemon' will cease to include > any specific drivers, instead we'll get libvirt-daemon-driver-XXXX > packages for each driver. The libvirt-daemon-XXX packages will > then pull in each driver that they require. > > It is recommended that applications required a locally installed > libvirtd daemon, use either 'Requires: libvirt-daemon-XXXX' or > 'Requires: libvirt-XXX' and *not* "Requires: libvirt-daemon" > or 'Requires: libvirt' I'm not an RPM wizard, so I cannot evaluate the changes, but ACK to the design, I think it's a great change. Dave > * libvirt.spec.in: Refactor RPMs > * docs/packaging.html.in, docs/sitemap.html.in: Document > new RPM split rationale > --- > docs/packaging.html.in | 100 ++++++++++ > docs/sitemap.html.in | 4 + > libvirt.spec.in | 474 +++++++++++++++++++++++++++++++++++------------- > 3 files changed, 456 insertions(+), 122 deletions(-) > create mode 100644 docs/packaging.html.in > > diff --git a/docs/packaging.html.in b/docs/packaging.html.in > new file mode 100644 > index 0000000..2e4abf7 > --- /dev/null > +++ b/docs/packaging.html.in > @@ -0,0 +1,100 @@ > +<?xml version="1.0"?> > +<html> > + <body> > + <h1>Distribution packaging</h1> > + > + <ul id="toc"></ul> > + > + <p> > + This page describes the rationale behind the libvirt distribution > +packaging in RPM format. The RPM specfile provided with libvirt targets > +all Fedora and RHEL releases. It is split up into a number of sub-RPMs > +in order to facilitate minimal installations, targetting specific > +feature sets. > + </p> > + > + <h2>Real packages</h2> > + > + <p> > + The so called "real" packages provide the actual file payloads > + related to libvirt. If very specific / targetted functionality > + is required, then applications can depend on one or more of these > + real packages. > + </p> > + > + <dl> > + <dt>libvirt-client</dt> > + <dd>This package provides the main libvirt.so library along with the virsh command line tool. > + If a C based application only wants to be able to manage remote hypervisors, this is all > + that they need depend on</dd> > + <dt>libvirt-devel</dt> > + <dd>This package provides the header files and libraries required to compile and link C > + applications using libvirt</dd> > + <dt>libvirt-python</dt> > + <dd>This package provides the Python binding to the C libraries. It will pull in the libvirt-client > + RPM. If a Python application only wants to be able to manage remote hypervisors, this is all that > + they need depend on</dd> > + <dt>libvirt-daemon</dt> > + <dd>This package provides server side libvirtd daemon, which is required in order to > + manage any stateful hypervisors (currently QEMU, KVM, Xen, LXC and UML).</dd> > + <dt>libvirt-daemon-configs</dt> > + <dd>This package provides the standard configuration files for setting up a NAT > + based network, and network filter rules for ensuring clean VM traffic.</dd> > + </dl> > + > + <h2>Virtual packages</h2> > + > + <p> > + The virtual packages provide convenient targets for application dependencies to > + pull in functionality related to specific hypervisors. Since the packaging of > + the <code>libvirt-daemon</code> RPM is expected to change in the future to split > + each hypervisor driver out into a separate RPM, applications are strongly > + recommended to depend on one of the following virtual packages, instead of > + depending directly on <code>libvirt-daemon</code> > + </p> > + > + <dl> > + <dt>libvirt</dt> > + <dd>This package, simply pulls in every single other server side RPM. > + If an application wants to ensure all possible libvirt drivers are installed, > + this is what they should depend on</dd> > + > + <dt>libvirt-daemon-qemu</dt> > + <dd>This package pulls in the server side daemon, drivers and the QEMU TCG binaries > + required to provide emulation of non-native architectures</dd> > + <dt>libvirt-daemon-kvm</dt> > + <dd>This package pulls in the server side daemon, drivers and the KVM binaries > + required to provide hardware accelerated virtualization of the native > + architectures</dd> > + <dt>libvirt-daemon-lxc</dt> > + <dd>This package pulls in the server side daemon and drivers required to > + run native Linux containers</dd> > + <dt>libvirt-daemon-uml</dt> > + <dd>This package pulls in the server side daemon and drivers required to > + run User Mode Linux. The application must still provide the actual > + UML binary kenrels</dd> > + <dt>libvirt-daemon-xen</dt> > + <dd>This package pulls in the server side daemon and drivers required to > + run guests on the Xen hypervisor.</dd> > + > + <dt>libvirt-qemu</dt> > + <dd>This package pulls in the server side daemon, drivers and the QEMU TCG binaries > + required to provide emulation of non-native architectures</dd> > + <dt>libvirt-kvm</dt> > + <dd>This package pulls in the server side daemon, drivers and the KVM binaries > + required to provide hardware accelerated virtualization of the native > + architectures</dd> > + <dt>libvirt-lxc</dt> > + <dd>This package pulls in the server side daemon, drivers and default > + configuration files required to run native Linux containers</dd> > + <dt>libvirt-uml</dt> > + <dd>This package pulls in the server side daemon, drivers and default > + configuration files required to run User Mode Linux. The application > + must still provide the actual UML binary kenrels</dd> > + <dt>libvirt-xen</dt> > + <dd>This package pulls in the server side daemon, drivers and default > + configuration files required to run guests on the Xen hypervisor.</dd> > + </dl> > + > + </body> > +</html> > diff --git a/docs/sitemap.html.in b/docs/sitemap.html.in > index 1de2b20..620c989 100644 > --- a/docs/sitemap.html.in > +++ b/docs/sitemap.html.in > @@ -84,6 +84,10 @@ > <a href="hooks.html">Hooks</a> > <span>Hooks for system specific management</span> > </li> > + <li> > + <a href="packaging.html">Distribution packaging</a> > + <span>Rationale for distribution RPM packaging</span> > + </li> > </ul> > </li> > <li> > diff --git a/libvirt.spec.in b/libvirt.spec.in > index 67f1c33..743d43e 100644 > --- a/libvirt.spec.in > +++ b/libvirt.spec.in > @@ -52,6 +52,14 @@ > %define with_libxl 0%{!?_without_libxl:%{server_drivers}} > %define with_vmware 0%{!?_without_vmware:%{server_drivers}} > > +%define with_qemu_tcg %{with_qemu} > +# Change if we ever provide qemu-kvm binaries on non-x86 hosts > +%ifarch %{ix86} x86_64 > +%define with_qemu_kvm %{with_qemu} > +%else > +%define with_qemu_kvm 0 > +%endif > + > # Then the hypervisor drivers that talk via a native remote protocol > %define with_phyp 0%{!?_without_phyp:1} > %define with_esx 0%{!?_without_esx:1} > @@ -125,8 +133,10 @@ > > # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC > %if 0%{?rhel} == 5 > +%define with_qemu_tcg 0 > %ifnarch x86_64 > %define with_qemu 0 > +%define with_qemu_kvm 0 > %endif > %define with_lxc 0 > %endif > @@ -134,8 +144,10 @@ > # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen > # on all archs. Other archs all have LXC available though > %if 0%{?rhel} >= 6 > +%define with_qemu_tcg 0 > %ifnarch x86_64 > %define with_qemu 0 > +%define with_qemu_kvm 0 > %endif > %define with_xen 0 > %endif > @@ -268,109 +280,17 @@ Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root > URL: http://libvirt.org/ > > -# All runtime requirements for the libvirt package (runtime requrements > -# for subpackages are listed later in those subpackages) > - > -# The client side, i.e. shared libs and virsh are in a subpackage > -Requires: %{name}-client = %{version}-%{release} > - > -# Used by many of the drivers, so turn it on whenever the > -# daemon is present > %if %{with_libvirtd} > -# for modprobe of pci devices > -Requires: module-init-tools > -# for /sbin/ip & /sbin/tc > -Requires: iproute > -%if %{with_avahi} > -Requires: avahi-libs > -%endif > -%endif > -%if %{with_network} > -Requires: dnsmasq >= 2.41 > -Requires: radvd > -%endif > -%if %{with_network} || %{with_nwfilter} > -Requires: iptables > -Requires: iptables-ipv6 > -%endif > -%if %{with_nwfilter} > -Requires: ebtables > -%endif > -# needed for device enumeration > -%if %{with_hal} > -Requires: hal > -%endif > -%if %{with_udev} > -Requires: udev >= 145 > -%endif > -%if %{with_polkit} > -%if 0%{?fedora} >= 12 || 0%{?rhel} >=6 > -Requires: polkit >= 0.93 > -%else > -Requires: PolicyKit >= 0.6 > -%endif > -%endif > -%if %{with_storage_fs} > -Requires: nfs-utils > -# For mkfs > -Requires: util-linux-ng > -# For pool-build probing for existing pools > -BuildRequires: libblkid-devel >= 2.17 > -# For glusterfs > -%if 0%{?fedora} >= 11 > -Requires: glusterfs-client >= 2.0.1 > -%endif > -%endif > -%if %{with_qemu} > -# From QEMU RPMs > -Requires: /usr/bin/qemu-img > -# For image compression > -Requires: gzip > -Requires: bzip2 > -Requires: lzop > -Requires: xz > -%else > -%if %{with_xen} > -# From Xen RPMs > -Requires: /usr/sbin/qcow-create > -%endif > -%endif > -%if %{with_storage_lvm} > -# For LVM drivers > -Requires: lvm2 > -%endif > -%if %{with_storage_iscsi} > -# For ISCSI driver > -Requires: iscsi-initiator-utils > -%endif > -%if %{with_storage_disk} > -# For disk driver > -Requires: parted > -Requires: device-mapper > -%endif > -%if %{with_storage_mpath} > -# For multipath support > -Requires: device-mapper > -%endif > -%if %{with_cgconfig} > -Requires: libcgroup > -%endif > -%ifarch %{ix86} x86_64 ia64 > -# For virConnectGetSysinfo > -Requires: dmidecode > -%endif > -# For service management > -%if %{with_systemd} > -Requires(post): systemd-units > -Requires(post): systemd-sysv > -Requires(preun): systemd-units > -Requires(postun): systemd-units > -%endif > -%if %{with_numad} > -Requires: numad > +Requires: libvirt-daemon = %{version}-%{release} > +Requires: libvirt-daemon-configs = %{version}-%{release} > +# XXX when we turn on driver modules, we need to add > +# deps on each driver (Requires: libvirt-daemon-drv-qemu) > %endif > +Requires: libvirt-docs = %{version}-%{release} > +Requires: libvirt-client = %{version}-%{release} > > -# All build-time requirements > +# All build-time requirements. Run-time requirements are > +# listed against each sub-RPM > %if 0%{?enable_autotools} > BuildRequires: autoconf > BuildRequires: automake > @@ -537,6 +457,271 @@ Libvirt is a C toolkit to interact with the virtualization capabilities > of recent versions of Linux (and other OSes). The main package includes > the libvirtd server exporting the virtualization support. > > +%if %{with_libvirtd} > +%package daemon > +Summary: Server side daemon and supporting files for libvirt library > +Group: Development/Libraries > + > +# All runtime requirements for the libvirt package (runtime requrements > +# for subpackages are listed later in those subpackages) > + > +# The client side, i.e. shared libs and virsh are in a subpackage > +Requires: %{name}-client = %{version}-%{release} > + > +# Used by many of the drivers, so turn it on whenever the > +# daemon is present > +%if %{with_libvirtd} > +# for modprobe of pci devices > +Requires: module-init-tools > +# for /sbin/ip & /sbin/tc > +Requires: iproute > +%if %{with_avahi} > +Requires: avahi-libs > +%endif > +%endif > +%if %{with_network} > +Requires: dnsmasq >= 2.41 > +Requires: radvd > +%endif > +%if %{with_network} || %{with_nwfilter} > +Requires: iptables > +Requires: iptables-ipv6 > +%endif > +%if %{with_nwfilter} > +Requires: ebtables > +%endif > +# needed for device enumeration > +%if %{with_hal} > +Requires: hal > +%endif > +%if %{with_udev} > +Requires: udev >= 145 > +%endif > +%if %{with_polkit} > +%if 0%{?fedora} >= 12 || 0%{?rhel} >=6 > +Requires: polkit >= 0.93 > +%else > +Requires: PolicyKit >= 0.6 > +%endif > +%endif > +%if %{with_storage_fs} > +Requires: nfs-utils > +# For mkfs > +Requires: util-linux-ng > +# For pool-build probing for existing pools > +BuildRequires: libblkid-devel >= 2.17 > +# For glusterfs > +%if 0%{?fedora} >= 11 > +Requires: glusterfs-client >= 2.0.1 > +%endif > +%endif > +%if %{with_qemu} > +# From QEMU RPMs > +Requires: /usr/bin/qemu-img > +# For image compression > +Requires: gzip > +Requires: bzip2 > +Requires: lzop > +Requires: xz > +%else > +%if %{with_xen} > +# From Xen RPMs > +Requires: /usr/sbin/qcow-create > +%endif > +%endif > +%if %{with_storage_lvm} > +# For LVM drivers > +Requires: lvm2 > +%endif > +%if %{with_storage_iscsi} > +# For ISCSI driver > +Requires: iscsi-initiator-utils > +%endif > +%if %{with_storage_disk} > +# For disk driver > +Requires: parted > +Requires: device-mapper > +%endif > +%if %{with_storage_mpath} > +# For multipath support > +Requires: device-mapper > +%endif > +%if %{with_cgconfig} > +Requires: libcgroup > +%endif > +%ifarch %{ix86} x86_64 ia64 > +# For virConnectGetSysinfo > +Requires: dmidecode > +%endif > +# For service management > +%if %{with_systemd} > +Requires(post): systemd-units > +Requires(post): systemd-sysv > +Requires(preun): systemd-units > +Requires(postun): systemd-units > +%endif > +%if %{with_numad} > +Requires: numad > +%endif > + > +%package docs > +Summary: Documentation for libvirt library and daemon > +Group: Development/Libraries > + > +%description docs > +Copy of the libvirt website documentation > + > +%description daemon > +Server side daemon required to manage the virtualization capabilities > +of recent versions of Linux. Requires a hypervisor specific sub-RPM > +for specific drivers. > + > +%package daemon-configs > +Summary: Default configuration files for the libvirtd daemon > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > + > +%description daemon-configs > +Default configuration files for setting up NAT based networking > +and guest network traffic filtering. > +%endif > + > +# XXX when we turn on driver modules, we will need to > +# create daemon-drv-XXX sub-RPMs and add them as deps > +# to all of the following daemon-XXX RPMs > + > +%if %{with_qemu_tcg} > +%package daemon-qemu > +Summary: Server side daemon & driver required to run QEMU guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > +Requires: qemu > +%endif > + > +%if %{with_qemu_kvm} > +%package daemon-kvm > +Summary: Server side daemon & driver required to run QEMU guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > +Requires: qemu-kvm > +%endif > + > +%if %{with_qemu_tcg} > +%description daemon-qemu > +Server side daemon and driver required to manage the virtualization > +capabilities of the QEMU TCG emulators > +%endif > + > +%if %{with_qemu_kvm} > +%description daemon-kvm > +Server side daemon and driver required to manage the virtualization > +capabilities of the QEMU KVM hypervisor > +%endif > + > +%if %{with_qemu_tcg} > +%package qemu > +Summary: Server side daemon, driver & default configs required to run QEMU guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon-qemu = %{version}-%{release} > +Requires: libvirt-configs = %{version}-%{release} > + > +%description qemu > +Server side daemon, driver and default network & firewall configs > +required to manage the virtualization capabilities of QEMU. > +%endif > + > +%if %{with_qemu_kvm} > +%package kvm > +Summary: Server side daemon, driver & default configs required to run KVM guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon-kvm = %{version}-%{release} > +Requires: libvirt-configs = %{version}-%{release} > + > +%description kvm > +Server side daemon, driver and default network & firewall configs > +required to manage the virtualization capabilities of KVM. > +%endif > + > + > +%if %{with_lxc} > +%package daemon-lxc > +Summary: Server side daemon & driver required to run LXC guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > +Requires: lxc > + > +%description daemon-lxc > +Server side daemon and driver required to manage the virtualization > +capabilities of LXC > + > +%package lxc > +Summary: Server side daemon, driver & default configs required to run LXC guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon-lxc = %{version}-%{release} > +Requires: libvirt-configs = %{version}-%{release} > + > +%description lxc > +Server side daemon, driver and default network & firewall configs > +required to manage the virtualization capabilities of LXC. > +%endif > + > + > +%if %{with_uml} > +%package daemon-uml > +Summary: Server side daemon & driver required to run UML guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > +# There are no UML kernel RPMs in Fedora/RHEL to depend on. > + > +%description daemon-uml > +Server side daemon and driver required to manage the virtualization > +capabilities of UML > + > +%package uml > +Summary: Server side daemon, driver & default configs required to run UML guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon-uml = %{version}-%{release} > +Requires: libvirt-configs = %{version}-%{release} > + > +%description uml > +Server side daemon, driver and default network & firewall configs > +required to manage the virtualization capabilities of UML. > +%endif > + > + > +%if %{with_xen} > +%package daemon-xen > +Summary: Server side daemon & driver required to run XEN guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon = %{version}-%{release} > +Requires: xen > + > +%description daemon-xen > +Server side daemon and driver required to manage the virtualization > +capabilities of XEN > + > +%package xen > +Summary: Server side daemon, driver & default configs required to run XEN guests > +Group: Development/Libraries > + > +Requires: libvirt-daemon-xen = %{version}-%{release} > +Requires: libvirt-configs = %{version}-%{release} > + > +%description xen > +Server side daemon, driver and default network & firewall configs > +required to manage the virtualization capabilities of Xen. > +%endif > + > %package client > Summary: Client side library and utilities of the libvirt library > Group: Development/Libraries > @@ -582,7 +767,7 @@ Group: Development/Libraries > Requires: sanlock >= 1.8 > #for virt-sanlock-cleanup require augeas > Requires: augeas > -Requires: %{name} = %{version}-%{release} > +Requires: %{name}-daemon = %{version}-%{release} > > %description lock-sanlock > Includes the Sanlock lock manager plugin for the QEMU > @@ -811,8 +996,7 @@ autoreconf -if > %{with_packager_version} \ > --with-qemu-user=%{qemu_user} \ > --with-qemu-group=%{qemu_group} \ > - %{init_scripts} \ > - --with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid > + %{init_scripts} > make %{?_smp_mflags} > gzip -9 ChangeLog > > @@ -884,6 +1068,8 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc > rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml > %endif > > +mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version} > + > %clean > rm -fr %{buildroot} > > @@ -898,7 +1084,8 @@ do > done > make check > > -%pre > +%if %{with_libvirtd} > +%pre daemon > %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 > # Normally 'setup' adds this in /etc/passwd, but this is > # here for case of upgrades from earlier Fedora/RHEL. This > @@ -910,22 +1097,9 @@ getent passwd qemu >/dev/null || \ > -c "qemu user" qemu > %endif > > -%post > +%post daemon > > -%if %{with_libvirtd} > %if %{with_network} > -# We want to install the default network for initial RPM installs > -# or on the first upgrade from a non-network aware libvirt only. > -# We check this by looking to see if the daemon is already installed > -if ! /sbin/chkconfig libvirtd && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml > -then > - UUID=`/usr/bin/uuidgen` > - sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \ > - < %{_datadir}/libvirt/networks/default.xml \ > - > %{_sysconfdir}/libvirt/qemu/networks/default.xml > - ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml > -fi > - > # All newly defined networks will have a mac address for the bridge > # auto-generated, but networks already existing at the time of upgrade > # will not. We need to go through all the network configs, look for > @@ -991,8 +1165,8 @@ fi > %endif > %endif > > -%preun > %if %{with_libvirtd} > +%preun daemon > %if %{with_systemd} > if [ $1 -eq 0 ] ; then > # Package removal, not upgrade > @@ -1007,8 +1181,8 @@ fi > %endif > %endif > > -%postun > %if %{with_libvirtd} > +%postun daemon > %if %{with_systemd} > /bin/systemctl daemon-reload >/dev/null 2>&1 || : > if [ $1 -ge 1 ] ; then > @@ -1019,6 +1193,20 @@ fi > %endif > > %if %{with_libvirtd} > +%if %{with_network} > +%post daemon-configs > +if [ $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ] ; then > + UUID=`/usr/bin/uuidgen` > + sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \ > + < %{_datadir}/libvirt/networks/default.xml \ > + > %{_sysconfdir}/libvirt/qemu/networks/default.xml > + ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml > +fi > +%endif > +%endif > + > + > +%if %{with_libvirtd} > %if %{with_systemd} > %triggerun -- libvirt < 0.9.4 > %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||: > @@ -1064,10 +1252,19 @@ fi > /bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || : > %endif > > -%if %{with_libvirtd} > %files > %defattr(-, root, root) > > +%files docs > +%defattr(-, root, root) > +%dir %{_datadir}/doc/libvirt-docs-%{version} > +%dir %{_datadir}/doc/libvirt-docs-%{version}/html > +%{_datadir}/doc/libvirt-docs-%{version}/html/* > + > +%if %{with_libvirtd} > +%files daemon > +%defattr(-, root, root) > + > %doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO > %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ > > @@ -1078,7 +1275,6 @@ fi > %endif > > %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ > -%{_sysconfdir}/libvirt/nwfilter/*.xml > > %{_sysconfdir}/rc.d/init.d/libvirtd > %if %{with_systemd} > @@ -1190,8 +1386,42 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd > %{_mandir}/man8/libvirtd.8* > > %doc docs/*.xml > + > +%files daemon-configs > +%defattr(-, root, root) > +%{_sysconfdir}/libvirt/nwfilter/*.xml > %endif > > +%files daemon-qemu > +%defattr(-, root, root) > + > +%files daemon-kvm > +%defattr(-, root, root) > + > +%files daemon-lxc > +%defattr(-, root, root) > + > +%files daemon-uml > +%defattr(-, root, root) > + > +%files daemon-xen > +%defattr(-, root, root) > + > +%files qemu > +%defattr(-, root, root) > + > +%files kvm > +%defattr(-, root, root) > + > +%files lxc > +%defattr(-, root, root) > + > +%files uml > +%defattr(-, root, root) > + > +%files xen > +%defattr(-, root, root) > + > %if %{with_sanlock} > %files lock-sanlock > %defattr(-, root, root) > -- > 1.7.7.6 > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list