mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
spec: Modularize the storage driver
Create a new set of sub-packages containing the new storage driver modules so that certain heavy-weight backends (gluster, rbd) can be installed separately only if required. To keep backward compatibility the 'libvirt-driver-storage' package will be turned into a virtual package pulling in all the new storage backend sub-packages. The storage driver module will be moved into libvirt-driver-storage-core including the filesystem backend which is mandatory. This then allows to make libvirt-daemon-driver-qemu depend only on the core of the storage driver. All other meta-packages still depend on the full storage driver and thus pull in all the backends.
This commit is contained in:
parent
93a3f516ee
commit
27c8e36d60
168
libvirt.spec.in
168
libvirt.spec.in
@ -585,35 +585,13 @@ Requires: libvirt-daemon = %{version}-%{release}
|
||||
The secret driver plugin for the libvirtd daemon, providing
|
||||
an implementation of the secret key APIs.
|
||||
|
||||
|
||||
%package daemon-driver-storage
|
||||
Summary: Storage driver plugin for the libvirtd daemon
|
||||
%package daemon-driver-storage-core
|
||||
Summary: Storage driver plugin including base backends for the libvirtd daemon
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
Requires: nfs-utils
|
||||
# For mkfs
|
||||
Requires: util-linux
|
||||
# For glusterfs
|
||||
%if 0%{?fedora}
|
||||
Requires: glusterfs-client >= 2.0.1
|
||||
%endif
|
||||
# gluster cli tool for pool discovery
|
||||
%if (0%{?fedora} || 0%{?with_storage_gluster})
|
||||
Requires: /usr/sbin/gluster
|
||||
%endif
|
||||
# For LVM drivers
|
||||
Requires: lvm2
|
||||
# For ISCSI driver
|
||||
Requires: iscsi-initiator-utils
|
||||
# For disk driver
|
||||
Requires: parted
|
||||
Requires: device-mapper
|
||||
# For multipath support
|
||||
Requires: device-mapper
|
||||
%if %{with_storage_sheepdog}
|
||||
# For Sheepdog support
|
||||
Requires: sheepdog
|
||||
%endif
|
||||
%if %{with_qemu}
|
||||
# From QEMU RPMs
|
||||
Requires: /usr/bin/qemu-img
|
||||
@ -624,6 +602,128 @@ Requires: /usr/sbin/qcow-create
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description daemon-driver-storage-core
|
||||
The storage driver plugin for the libvirtd daemon, providing
|
||||
an implementation of the storage APIs using files, local disks, LVM, SCSI,
|
||||
iSCSI, and multipath storage.
|
||||
|
||||
%package daemon-driver-storage-logical
|
||||
Summary: Storage driver plugin for lvm volumes
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: lvm2
|
||||
|
||||
%description daemon-driver-storage-logical
|
||||
The storage driver backend adding implementation of the storage APIs for block
|
||||
volumes using lvm.
|
||||
|
||||
|
||||
%package daemon-driver-storage-disk
|
||||
Summary: Storage driver plugin for disk
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: parted
|
||||
Requires: device-mapper
|
||||
|
||||
%description daemon-driver-storage-disk
|
||||
The storage driver backend adding implementation of the storage APIs for block
|
||||
volumes using the host disks.
|
||||
|
||||
|
||||
%package daemon-driver-storage-scsi
|
||||
Summary: Storage driver plugin for local scsi devices
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
|
||||
%description daemon-driver-storage-scsi
|
||||
The storage driver backend adding implementation of the storage APIs for scsi
|
||||
host devices.
|
||||
|
||||
|
||||
%package daemon-driver-storage-iscsi
|
||||
Summary: Storage driver plugin for iscsi
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: iscsi-initiator-utils
|
||||
|
||||
%description daemon-driver-storage-iscsi
|
||||
The storage driver backend adding implementation of the storage APIs for iscsi
|
||||
volumes using the host iscsi stack.
|
||||
|
||||
|
||||
%package daemon-driver-storage-mpath
|
||||
Summary: Storage driver plugin for multipath volumes
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: device-mapper
|
||||
|
||||
%description daemon-driver-storage-mpath
|
||||
The storage driver backend adding implementation of the storage APIs for
|
||||
multipath storage using device mapper.
|
||||
|
||||
|
||||
%if %{with_storage_gluster}
|
||||
%package daemon-driver-storage-gluster
|
||||
Summary: Storage driver plugin for gluster
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
%if 0%{?fedora}
|
||||
Requires: glusterfs-client >= 2.0.1
|
||||
%endif
|
||||
%if (0%{?fedora} || 0%{?with_storage_gluster})
|
||||
Requires: /usr/sbin/gluster
|
||||
%endif
|
||||
|
||||
%description daemon-driver-storage-gluster
|
||||
The storage driver backend adding implementation of the storage APIs for gluster
|
||||
volumes using libgfapi.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with_storage_rbd}
|
||||
%package daemon-driver-storage-rbd
|
||||
Summary: Storage driver plugin for rbd
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
|
||||
%description daemon-driver-storage-rbd
|
||||
The storage driver backend adding implementation of the storage APIs for rbd
|
||||
volumes using the ceph protocol.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with_storage_sheepdog}
|
||||
%package daemon-driver-storage-sheepdog
|
||||
Summary: Storage driver plugin for sheepdog
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: sheepdog
|
||||
|
||||
%description daemon-driver-storage-sheepdog
|
||||
The storage driver backend adding implementation of the storage APIs for
|
||||
sheepdog volumes using.
|
||||
%endif
|
||||
|
||||
|
||||
%package daemon-driver-storage
|
||||
Summary: Storage driver plugin including all backends for the libvirtd daemon
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-disk = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release}
|
||||
%if %{with_storage_gluster}
|
||||
Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release}
|
||||
%endif
|
||||
%if %{with_storage_rbd}
|
||||
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
|
||||
%endif
|
||||
%if %{with_storage_sheepdog}
|
||||
Requires: libvirt-daemon-driver-storage-sheepdog = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description daemon-driver-storage
|
||||
The storage driver plugin for the libvirtd daemon, providing
|
||||
an implementation of the storage APIs using LVM, iSCSI,
|
||||
@ -637,7 +737,7 @@ Group: Development/Libraries
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
# There really is a hard cross-driver dependency here
|
||||
Requires: libvirt-daemon-driver-network = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
|
||||
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
|
||||
Requires: /usr/bin/qemu-img
|
||||
# For image compression
|
||||
Requires: gzip
|
||||
@ -1694,21 +1794,39 @@ exit 0
|
||||
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
|
||||
|
||||
%files daemon-driver-storage
|
||||
|
||||
%files daemon-driver-storage-core
|
||||
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
|
||||
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so
|
||||
|
||||
%files daemon-driver-storage-disk
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so
|
||||
|
||||
%files daemon-driver-storage-logical
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_logical.so
|
||||
|
||||
%files daemon-driver-storage-scsi
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_scsi.so
|
||||
|
||||
%files daemon-driver-storage-iscsi
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so
|
||||
|
||||
%files daemon-driver-storage-mpath
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so
|
||||
|
||||
%if %{with_storage_gluster}
|
||||
%files daemon-driver-storage-gluster
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_gluster.so
|
||||
%endif
|
||||
|
||||
%if %{with_storage_rbd}
|
||||
%files daemon-driver-storage-rbd
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
|
||||
%endif
|
||||
|
||||
%if %{with_storage_sheepdog}
|
||||
%files daemon-driver-storage-sheepdog
|
||||
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
|
||||
%endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user