mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
Split config files & daemon off from main daemon RPM
Take the libvirt RPM and split it into three pieces - libvirt-daemon - libvirtd & other mandatory bits for its operation - libvirt-daemon-config-network - the virbr0 config definition - libvirt-daemon-config-nwfilter - the firewall config rules For backwards compatibility with existing installs / application RPM deps, the 'libvirt' RPM is retained, but will have a dependency on the 3 new RPMs.
This commit is contained in:
parent
189fbe1a8f
commit
bb14513465
313
libvirt.spec.in
313
libvirt.spec.in
@ -268,109 +268,21 @@ Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
|
|||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
URL: http://libvirt.org/
|
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}
|
%if %{with_libvirtd}
|
||||||
# for modprobe of pci devices
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
Requires: module-init-tools
|
|
||||||
# for /sbin/ip & /sbin/tc
|
|
||||||
Requires: iproute
|
|
||||||
%if %{with_avahi}
|
|
||||||
Requires: avahi-libs
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
%if %{with_network}
|
%if %{with_network}
|
||||||
Requires: dnsmasq >= 2.41
|
Requires: libvirt-daemon-config-network = %{version}-%{release}
|
||||||
Requires: radvd
|
|
||||||
%endif
|
|
||||||
%if %{with_network} || %{with_nwfilter}
|
|
||||||
Requires: iptables
|
|
||||||
Requires: iptables-ipv6
|
|
||||||
%endif
|
%endif
|
||||||
%if %{with_nwfilter}
|
%if %{with_nwfilter}
|
||||||
Requires: ebtables
|
Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
|
||||||
%endif
|
%endif
|
||||||
# needed for device enumeration
|
# XXX when we turn on driver modules, we need to add
|
||||||
%if %{with_hal}
|
# deps on each driver (Requires: libvirt-daemon-drv-qemu)
|
||||||
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
|
%endif
|
||||||
|
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}
|
%if 0%{?enable_autotools}
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
@ -545,6 +457,137 @@ Group: Development/Libraries
|
|||||||
Includes the API reference for the libvirt C library, and a complete
|
Includes the API reference for the libvirt C library, and a complete
|
||||||
copy of the libvirt.org website documentation.
|
copy of the libvirt.org website documentation.
|
||||||
|
|
||||||
|
%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}
|
||||||
|
|
||||||
|
# for modprobe of pci devices
|
||||||
|
Requires: module-init-tools
|
||||||
|
# for /sbin/ip & /sbin/tc
|
||||||
|
Requires: iproute
|
||||||
|
%if %{with_avahi}
|
||||||
|
Requires: avahi-libs
|
||||||
|
%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
|
||||||
|
|
||||||
|
%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.
|
||||||
|
|
||||||
|
%if %{with_network}
|
||||||
|
%package daemon-config-network
|
||||||
|
Summary: Default configuration files for the libvirtd daemon
|
||||||
|
Group: Development/Libraries
|
||||||
|
|
||||||
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
|
|
||||||
|
%description daemon-config-network
|
||||||
|
Default configuration files for setting up NAT based networking
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_nwfilter}
|
||||||
|
%package daemon-config-nwfilter
|
||||||
|
Summary: Network filter configuration files for the libvirtd daemon
|
||||||
|
Group: Development/Libraries
|
||||||
|
|
||||||
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
|
|
||||||
|
%description daemon-config-nwfilter
|
||||||
|
Network filter configuration files for cleaning guest traffic
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%package client
|
%package client
|
||||||
Summary: Client side library and utilities of the libvirt library
|
Summary: Client side library and utilities of the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
@ -899,7 +942,8 @@ do
|
|||||||
done
|
done
|
||||||
make check
|
make check
|
||||||
|
|
||||||
%pre
|
%if %{with_libvirtd}
|
||||||
|
%pre daemon
|
||||||
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
# Normally 'setup' adds this in /etc/passwd, but this is
|
# Normally 'setup' adds this in /etc/passwd, but this is
|
||||||
# here for case of upgrades from earlier Fedora/RHEL. This
|
# here for case of upgrades from earlier Fedora/RHEL. This
|
||||||
@ -911,22 +955,9 @@ getent passwd qemu >/dev/null || \
|
|||||||
-c "qemu user" qemu
|
-c "qemu user" qemu
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post
|
%post daemon
|
||||||
|
|
||||||
%if %{with_libvirtd}
|
|
||||||
%if %{with_network}
|
%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
|
# All newly defined networks will have a mac address for the bridge
|
||||||
# auto-generated, but networks already existing at the time of upgrade
|
# auto-generated, but networks already existing at the time of upgrade
|
||||||
# will not. We need to go through all the network configs, look for
|
# will not. We need to go through all the network configs, look for
|
||||||
@ -990,10 +1021,8 @@ if [ "$1" -ge "1" ]; then
|
|||||||
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
%preun
|
%preun daemon
|
||||||
%if %{with_libvirtd}
|
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
if [ $1 -eq 0 ] ; then
|
if [ $1 -eq 0 ] ; then
|
||||||
# Package removal, not upgrade
|
# Package removal, not upgrade
|
||||||
@ -1006,10 +1035,8 @@ if [ $1 = 0 ]; then
|
|||||||
/sbin/chkconfig --del libvirtd
|
/sbin/chkconfig --del libvirtd
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
%postun daemon
|
||||||
%if %{with_libvirtd}
|
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
if [ $1 -ge 1 ] ; then
|
if [ $1 -ge 1 ] ; then
|
||||||
@ -1017,6 +1044,17 @@ if [ $1 -ge 1 ] ; then
|
|||||||
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
|
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with_network}
|
||||||
|
%post daemon-config-network
|
||||||
|
if test $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
|
%endif
|
||||||
|
|
||||||
%if %{with_libvirtd}
|
%if %{with_libvirtd}
|
||||||
@ -1065,10 +1103,27 @@ fi
|
|||||||
/bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
|
/bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_libvirtd}
|
|
||||||
%files
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
|
%files docs
|
||||||
|
%defattr(-, root, root)
|
||||||
|
# Website
|
||||||
|
%dir %{_datadir}/doc/libvirt-docs-%{version}
|
||||||
|
%dir %{_datadir}/doc/libvirt-docs-%{version}/html
|
||||||
|
%{_datadir}/doc/libvirt-docs-%{version}/html/*
|
||||||
|
|
||||||
|
# API docs
|
||||||
|
%dir %{_datadir}/gtk-doc/html/libvirt/
|
||||||
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||||
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
||||||
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
||||||
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
%files daemon
|
||||||
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||||
|
|
||||||
@ -1079,7 +1134,6 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
|
||||||
%{_sysconfdir}/libvirt/nwfilter/*.xml
|
|
||||||
|
|
||||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
@ -1185,21 +1239,18 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd
|
|||||||
%attr(0755, root, root) %{_sbindir}/libvirtd
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||||
|
|
||||||
%{_mandir}/man8/libvirtd.8*
|
%{_mandir}/man8/libvirtd.8*
|
||||||
|
|
||||||
|
%if %{with_network}
|
||||||
|
%files daemon-config-network
|
||||||
|
%defattr(-, root, root)
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files docs
|
%if %{with_nwfilter}
|
||||||
|
%files daemon-config-nwfilter
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
# Website
|
%{_sysconfdir}/libvirt/nwfilter/*.xml
|
||||||
%dir %{_datadir}/doc/libvirt-docs-%{version}
|
%endif
|
||||||
%dir %{_datadir}/doc/libvirt-docs-%{version}/html
|
%endif
|
||||||
%{_datadir}/doc/libvirt-docs-%{version}/html/*
|
|
||||||
|
|
||||||
# API docs
|
|
||||||
%dir %{_datadir}/gtk-doc/html/libvirt/
|
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
|
|
||||||
|
|
||||||
%if %{with_sanlock}
|
%if %{with_sanlock}
|
||||||
%files lock-sanlock
|
%files lock-sanlock
|
||||||
|
Loading…
Reference in New Issue
Block a user