[libvirt] [PATCH 0/8] Refactor libvirt RPM to allow fine grained installed

Daniel P. Berrange berrange at redhat.com
Tue Apr 3 12:48:49 UTC 2012


This is an update of the patch DV reverted from GIT

  https://www.redhat.com/archives/libvir-list/2012-March/msg01332.html

At the end of this series we have the following RPMs with files

The daemon itself (if %with_libvirtd == 1 - ie skipped for %client_only builds)

 - libvirt-daemon - just libvirtd daemon & secondary drivers (storage,
                    network, nwfilter, etc)

Two optional config file packages (if %with_libvirtd == 1):

 - libvirt-daemon-config-network - just the network driver default config
 - libvirt-daemon-config-nwfilter - just the nwfilter default config

Four hypervisor driver packages  (%with_driver_modules == 1, now on by default)

 - libvirt-daemon-driver-qemu - libvirt_driver_qemu.so + related driver files
 - libvirt-daemon-driver-lxc - libvirt_driver_lxc.so + related driver files
 - libvirt-daemon-driver-uml - libvirt_driver_uml.so + related driver files
 - libvirt-daemon-driver-xen - libvirt_driver_{xen,libxl}.so + related driver files

Other non-daemon packages always enabled

 - libvirt-client - libvirt.so + virsh
 - libvirt-devel  - libvirt header files & libraries
 - libvirt-python - libvirt python module
 - libvirt-docs   - API docs and website docs

Finally there are a handful of virtual empty packages

To preserve the existing upgrade path & avoid breaking existing app
dependancies:

 - libvirt - Depends libvirt-daemon, libvirt-client,
             libvirt-daemon-config-* and libvirt-daemon-driver-*.

To allow applications to depend on specific libvirt drivers:

 - libvirt-daemon-qemu - Depends on libvirt-daemon, libvirt-daemon-driver-qemu & qemu
 - libvirt-daemon-kvm  - Depends on libvirt-daemon, libvirt-daemon-driver-qemu & qemu-kvm
 - libvirt-daemon-lxc  - Depends on libvirt-daemon, libvirt-daemon-driver-lxc
 - libvirt-daemon-uml  - Depends on libvirt-daemon, libvirt-daemon-driver-uml
 - libvirt-daemon-xen  - Depends on libvirt-daemon, libvirt-daemon-driver-xen & xen

The result is:

 - To install everything (daemon, all drivers, all configs)

      yum install libvirt

 - To install just KVM with no configs

      yum install libvirt-daemon-kvm

 - To install KVM + default configs

      yum install libvirt-daemon-kvm libvirt-daemon-config-network libvirt-daemon-config-nwfilter

The problems solved are

 - Can install libvirtd without the default configs which many apps don't want
   and causing death to networking if installed inside a guest

 - Applications don't need to know about the underlying hypervisor package
   names - libvirt pulls in the correct packages

 - Applications can install KVM without pulling in Xen libraries




More information about the libvir-list mailing list