-#
# TODO:
-# - seems that lxc patch is not needed anymore, verify that before removing
+# - wireshark-dissector
# - pldize virtlockd.init
#
# Conditional build:
%bcond_without uml # UML support
%bcond_without vbox # VirtualBox support
%bcond_without vmware # VMware Workstation/Player support
-%bcond_with vserver # Support for Linux-VServer guests
%bcond_without xenapi # Xen API (Citrix XenServer) support
%bcond_without xen # Xen support
%bcond_without static_libs # static libraries build
+%bcond_without ldap # don't require openldap-devel
# qemu available only on x86 and ppc
%ifnarch %{ix86} %{x8664} ppc
%undefine with_qemu
%endif
+
# Xen is available only on x86 and ia64
%ifnarch %{ix86} %{x8664} ia64
%undefine with_xen
+%undefine with_xenapi
+%undefine with_libxl
%endif
Summary: Toolkit to interact with virtualization capabilities
Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
Name: libvirt
-Version: 1.2.10
+Version: 2.3.0
Release: 1
License: LGPL v2.1+
Group: Libraries
-Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
-# Source0-md5: 1338a14c1cf2935f9485abc41b107ef9
+Source0: http://libvirt.org/sources/libvirt-%{version}.tar.xz
+# Source0-md5: a492cd17aae09284b3b218d597887ae2
Source1: %{name}.init
-Source2: %{name}.tmpfiles
Patch0: %{name}-sasl.patch
-Patch1: %{name}-lxc.patch
-Patch2: %{name}-qemu-acl.patch
-Patch3: %{name}-xend.patch
-Patch4: virtlockd.init.patch
-Patch5: %{name}-udevadm-settle.patch
-Patch6: vserver.patch
-Patch7: bashisms.patch
-Patch8: libvirt-guests.init.patch
+Patch1: %{name}-qemu-acl.patch
+Patch2: %{name}-udevadm-settle.patch
+Patch3: bashisms.patch
+Patch4: %{name}-guests.init.patch
+Patch5: %{name}-sysctl-dir.patch
URL: http://www.libvirt.org/
BuildRequires: audit-libs-devel
BuildRequires: augeas-devel
BuildRequires: dbus-devel >= 1.0.0
BuildRequires: device-mapper-devel >= 1.0.0
BuildRequires: gawk
-BuildRequires: gettext-devel >= 0.17
+BuildRequires: gettext-tools >= 0.17
%{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4.1}
BuildRequires: gnutls-devel >= 1.0.25
BuildRequires: libapparmor-devel
BuildRequires: ncurses-devel
%{?with_netcf:BuildRequires: netcf-devel >= 0.2.0}
BuildRequires: numactl-devel
-BuildRequires: openldap-devel
-BuildRequires: openwsman-devel >= 2.2.3
+%{?with_ldap:BuildRequires: openldap-devel}
+%{?with_hyperv:BuildRequires: openwsman-devel >= 2.2.3}
BuildRequires: parted-devel >= 1.8.0
BuildRequires: pkgconfig
-BuildRequires: polkit
+%{?with_polkit:BuildRequires: polkit}
%{?with_polkit:BuildRequires: polkit-devel >= 0.90}
BuildRequires: readline-devel
BuildRequires: rpmbuild(macros) >= 1.627
%{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
-BuildRequires: systemd-devel
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: udev-devel >= 1:145
%{?with_xen:BuildRequires: xen-devel >= 4.2}
Requires: libselinux >= 2.0.82
Requires: libssh2 >= 1.3
Requires: libxml2 >= 1:2.6.0
-Requires: openwsman-libs >= 2.2.3
+%{?with_hyperv:Requires: openwsman-libs >= 2.2.3}
Obsoletes: libvirt-daemon-esx
Obsoletes: libvirt-daemon-hyperv
Obsoletes: libvirt-daemon-openvz
Requires: libselinux-devel >= 2.0.82
Requires: libxml2-devel >= 1:2.6.0
Requires: numactl-devel
-Requires: openwsman-devel >= 2.2.3
+%{?with_hyperv:Requires: openwsman-devel >= 2.2.3}
%{?with_xen:Requires: xen-devel >= 4.2}
Requires: yajl-devel
Requires: libblkid >= 2.17
%{?with_netcf:Requires: netcf >= 0.2.0}
Requires: parted-libs >= 1.8.0
-Requires: rc-scripts
# Needed for probing the power management features of the host.
Requires: pm-utils
-Requires: systemd-units >= 37-0.10
+Requires: rc-scripts
+Requires: sheepdog
Requires: udev-libs >= 1:145
Requires: util-linux
Requires: virtual(module-tools)
Requires: xorg-lib-libpciaccess >= 0.10.0
-Requires(post): systemd-units
Requires(post,preun): /sbin/chkconfig
-Requires(postun): systemd-units
-Requires(preun): systemd-units
Suggests: bridge-utils
Suggests: cyrus-sasl
Suggests: cyrus-sasl-digest-md5
Suggests: polkit >= 0.93
#Suggests: radvd
Suggests: scrub
-#Suggests: sheepdog
Provides: libvirt(hypervisor)
%description daemon
Requires: bzip2
Requires: gzip
Requires: lzop
-Requires: qemu
+Requires: qemu-system-x86
Requires: xz
Provides: libvirt(hypervisor)
Requires: %{name}-daemon = %{version}-%{release}
Requires: /usr/sbin/qcow-create
Requires: xen
-Requires: xen-xend
Provides: libvirt(hypervisor)
%description daemon-xen
Requires: gnutls >= 1.0.25
Requires: netcat-openbsd
Requires: rc-scripts
-Requires(post): systemd-units
Requires(post,preun): /sbin/chkconfig
-Requires(postun): systemd-units
-Requires(preun): systemd-units
%description client
Client binaries needed to access to the virtualization capabilities of
%{?with_libxl:Requires: %{name}-daemon-libxl = %{version}-%{release}}
Requires: %{name}-daemon-lxc = %{version}-%{release}
Requires: %{name}-daemon-qemu = %{version}-%{release}
-Requires: %{name}-daemon-uml = %{version}-%{release}
+%{?with_uml:Requires: %{name}-daemon-uml = %{version}-%{release}}
Requires: %{name}-daemon-xen = %{version}-%{release}
%description utils
%prep
%setup -q
%patch0 -p1
-# TODO
-#patch1 -p1
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%{?with_vserver:%patch6 -p1}
-%patch7 -p1
-%patch8 -p1
%build
%{__libtoolize}
SCRUB=/usr/bin/scrub \
OVSVSCTL=/usr/bin/ovs-vsctl \
NUMAD=/usr/bin/numad \
- COLLIE=/usr/sbin/collie \
+ SHEEPDOGCLI=/usr/sbin/collie \
--disable-silent-rules \
%{?with_static_libs:--enable-static} \
--with-html-dir=%{_gtkdocdir} \
--with-html-subdir=%{name} \
- --with-init-script=systemd+redhat \
- --with-packager="PLD-Linux" \
+ --with-init-script=redhat \
+ --with-packager="TLD-Linux" \
--with-packager-version="%{name}-%{version}-%{release}.%{_target_cpu}" \
--with-qemu-user=qemu \
--with-qemu-group=qemu \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
- $RPM_BUILD_ROOT%{systemdtmpfilesdir}
+install -d $RPM_BUILD_ROOT/etc/{sysconfig,sysctl.d,rc.d/init.d}
%{__make} install \
DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
- SYSTEMD_UNIT_DIR=%{systemdunitdir} \
DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
-install %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la \
%{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a}
%endif
-%{__mv} $RPM_BUILD_ROOT%{_localedir}/{eu_ES,eu}
-# duplicate of vi, just one less message translated
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/vi_VN
-
%find_lang %{name}
%clean
%post daemon
/sbin/chkconfig --add libvirtd
%service libvirtd restart
-%systemd_post libvirtd.service
%preun daemon
if [ "$1" = "0" ]; then
%service -q libvirtd stop
/sbin/chkconfig --del libvirtd
fi
-%systemd_preun libvirtd.service
-
-%postun daemon
-%systemd_reload
%post client
/sbin/chkconfig --add libvirt-guests
%service -n libvirt-guests restart
NORESTART=1
-%systemd_post libvirt-guests.service
%preun client
-%systemd_preun libvirt-guests.service
if [ "$1" = "0" ]; then
%service -q libvirt-guests stop
/sbin/chkconfig --del libvirt-guests
fi
-%postun client
-%systemd_reload
-
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog README TODO NEWS
%dir %{_sysconfdir}/libvirt
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt.conf
+%attr(755,root,root) %{_libdir}/libnss_libvirt.so.?
%attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
+%attr(755,root,root) %{_libdir}/libvirt-admin.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvirt-admin.so.0
%if %{with lxc}
%attr(755,root,root) %{_libdir}/libvirt-lxc.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvirt-lxc.so.0
%endif
-%if %{with qemu}
%attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
-%endif
%dir %{_libdir}/libvirt
%dir %{_datadir}/libvirt
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libvirt.so
+%attr(755,root,root) %{_libdir}/libvirt-admin.so
%{?with_lxc:%attr(755,root,root) %{_libdir}/libvirt-lxc.so}
-%{?with_qemu:%attr(755,root,root) %{_libdir}/libvirt-qemu.so}
+%attr(755,root,root) %{_libdir}/libvirt-qemu.so
%{_datadir}/%{name}/api
%{_gtkdocdir}/%{name}
%{_includedir}/%{name}
%{_pkgconfigdir}/libvirt.pc
+%{_pkgconfigdir}/libvirt-admin.pc
%{?with_lxc:%{_pkgconfigdir}/libvirt-lxc.pc}
-%{?with_qemu:%{_pkgconfigdir}/libvirt-qemu.pc}
+%{_pkgconfigdir}/libvirt-qemu.pc
%files static
%defattr(644,root,root,755)
%{_libdir}/libvirt.a
+%{_libdir}/libvirt-admin.a
%{?with_lxc:%{_libdir}/libvirt-lxc.a}
-%{?with_qemu:%{_libdir}/libvirt-qemu.a}
+%{_libdir}/libvirt-qemu.a
%if %{with sanlock}
%files lock-sanlock
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
%dir /var/lib/libvirt/sanlock
%{_mandir}/man8/virt-sanlock-cleanup.8*
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-sanlock.conf
%endif
%files daemon
%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirtd.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-lockd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlockd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlogd.conf
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/default.xml
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/nwfilter/*.xml
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/virtlockd
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/virtlogd
%attr(754,root,root) /etc/rc.d/init.d/libvirtd
%attr(754,root,root) /etc/rc.d/init.d/virtlockd
-%{systemdunitdir}/libvirtd.service
-%{systemdunitdir}/libvirtd.socket
-%{systemdunitdir}/virtlockd.service
-%{systemdunitdir}/virtlockd.socket
-%config(noreplace) %verify(not md5 mtime size) /usr/lib/sysctl.d/libvirtd.conf
+%attr(754,root,root) /etc/rc.d/init.d/virtlogd
+%config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-libvirtd.conf
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
%attr(755,root,root) %{_libdir}/libvirt_iohelper
%attr(755,root,root) %{_libdir}/libvirt_parthelper
%attr(755,root,root) %{_libdir}/virt-aa-helper
%attr(755,root,root) %{_sbindir}/libvirtd
%attr(755,root,root) %{_sbindir}/virtlockd
+%attr(755,root,root) %{_sbindir}/virtlogd
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%{_datadir}/augeas/lenses/virtlockd.aug
+%{_datadir}/augeas/lenses/virtlogd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
-%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
+%{?with_qemu:%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug}
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
+%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
%if %{with polkit}
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
+%{_datadir}/polkit-1/rules.d/50-libvirt.rules
%endif
%{_mandir}/man8/libvirtd.8*
%{_mandir}/man8/virtlockd.8*
+%{_mandir}/man8/virtlogd.8*
%dir /var/lib/libvirt
%dir /var/lib/libvirt/dnsmasq
%attr(711,root,root) %dir /var/lib/libvirt/boot
%attr(711,root,root) %dir /var/cache/libvirt
%dir /var/run/libvirt
%dir /var/run/libvirt/network
-%{systemdtmpfilesdir}/%{name}.conf
%attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
%dir %{_libdir}/libvirt/connection-driver
%{_datadir}/libvirt/cpu_map.xml
%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox_network.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox_storage.so
+%{?with_vbox:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so}
%dir %{_libdir}/libvirt/lock-driver
%attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
%if %{with libxl}
%files daemon-libxl
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-lockd.conf
+%{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-sanlock.conf}
+%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.libxl
%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
+%{_datadir}/augeas/lenses/libvirtd_libxl.aug
+%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%attr(700,root,root) %dir /var/lib/libvirt/libxl
%attr(700,root,root) %dir /var/run/libvirt/libxl
%attr(700,root,root) %dir /var/log/libvirt/libxl
%files daemon-qemu
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-lockd.conf
+%{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-sanlock.conf}
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
%attr(750,qemu,qemu) %dir /var/cache/libvirt/qemu
%attr(750,qemu,qemu) %dir /var/lib/libvirt/qemu
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
%attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
-%{systemdunitdir}/libvirt-guests.service
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virt-login-shell.conf
%attr(755,root,root) %{_bindir}/virsh
+%attr(755,root,root) %{_bindir}/virt-admin
%attr(755,root,root) %{_bindir}/virt-host-validate
%attr(4755,root,root) %{_bindir}/virt-login-shell
%attr(755,root,root) %{_bindir}/virt-xml-validate
%attr(755,root,root) %{_bindir}/virt-pki-validate
%attr(754,root,root) %{_libexecdir}/libvirt-guests.sh
%{_mandir}/man1/virsh.1*
+%{_mandir}/man1/virt-admin.1*
%{_mandir}/man1/virt-host-validate.1*
%{_mandir}/man1/virt-login-shell.1*
%{_mandir}/man1/virt-xml-validate.1*
%dir %{_datadir}/libvirt/schemas
%{_datadir}/libvirt/schemas/basictypes.rng
%{_datadir}/libvirt/schemas/capability.rng
+%{_datadir}/libvirt/schemas/cputypes.rng
%{_datadir}/libvirt/schemas/domain.rng
%{_datadir}/libvirt/schemas/domaincaps.rng
%{_datadir}/libvirt/schemas/domaincommon.rng