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

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

This is an update of the patch DV reverted from GIT


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

 - 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

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