damnit
[libvirt.git] / libvirt.spec
index 4cf97ac..f61899f 100644 (file)
@@ -1,8 +1,9 @@
 # -*- rpm-spec -*-
 
 # -*- rpm-spec -*-
 
-%define mainstream_version 1.2.1
+%define mainstream_version 1.2.3
 %define module_version_varname mainstream_version
 %define module_version_varname mainstream_version
-%define taglevel 0
+%define taglevel 1
+%define packager PlanetLab/OneLab
 
 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
 ##                       --without storage-fs --without storage-lvm \
 
 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
 ##                       --without storage-fs --without storage-lvm \
@@ -17,8 +18,6 @@
 %define _without_polkit         true
 %define _without_sasl           true
 %define _without_audit          true
 %define _without_polkit         true
 %define _without_sasl           true
 %define _without_audit          true
-#interface requires netcf
-#%define _without_netcf         true
 %define _without_avahi          true
 %define _without_sanlock        true
 %define _without_xen            true
 %define _without_avahi          true
 %define _without_sanlock        true
 %define _without_xen            true
@@ -28,7 +27,7 @@
 %define _without_esx            true
 %define _without_libxl          true
 %define _without_vbox           true
 %define _without_esx            true
 %define _without_libxl          true
 %define _without_vbox           true
-
+%define _without_uml           true
 
 #turn this off even on f18 as an attempt to get back /proc/meminfo
 %define _without_fuse           true
 
 #turn this off even on f18 as an attempt to get back /proc/meminfo
 %define _without_fuse           true
 %define with_hyperv        0%{!?_without_hyperv:1}
 %define with_xenapi        0%{!?_without_xenapi:1}
 %define with_parallels     0%{!?_without_parallels:1}
 %define with_hyperv        0%{!?_without_hyperv:1}
 %define with_xenapi        0%{!?_without_xenapi:1}
 %define with_parallels     0%{!?_without_parallels:1}
+# No test for bhyve, because it does not build on Linux
 
 # Then the secondary host drivers, which run inside libvirtd
 %define with_interface        0%{!?_without_interface:%{server_drivers}}
 
 # Then the secondary host drivers, which run inside libvirtd
 %define with_interface        0%{!?_without_interface:%{server_drivers}}
 %else
     %define with_storage_sheepdog 0
 %endif
 %else
     %define with_storage_sheepdog 0
 %endif
-%if 0%{?fedora} >= 19
+%if 0%{?fedora} >= 19 || 0%{?rhel} >= 6
     %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}}
 %else
     %define with_storage_gluster 0
     %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}}
 %else
     %define with_storage_gluster 0
 %define with_numad         0%{!?_without_numad:0}
 %define with_firewalld     0%{!?_without_firewalld:0}
 %define with_libssh2       0%{!?_without_libssh2:0}
 %define with_numad         0%{!?_without_numad:0}
 %define with_firewalld     0%{!?_without_firewalld:0}
 %define with_libssh2       0%{!?_without_libssh2:0}
+%define with_wireshark     0%{!?_without_wireshark:0}
+%define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
 
 # Non-server/HV driver defaults which are always enabled
 %define with_sasl          0%{!?_without_sasl:1}
 
 # Non-server/HV driver defaults which are always enabled
 %define with_sasl          0%{!?_without_sasl:1}
     %define with_numactl 0
 %endif
 
     %define with_numactl 0
 %endif
 
+# libgfapi is built only on x86_64 on rhel
+%ifnarch x86_64
+    %if 0%{?rhel} >= 6
+        %define with_storage_gluster 0
+    %endif
+%endif
+
 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
 # or HyperV.
 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
 # or HyperV.
 # Fedora has systemd, libvirt still used sysvinit there.
 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
     %define with_systemd 1
 # Fedora has systemd, libvirt still used sysvinit there.
 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
     %define with_systemd 1
+    %define with_systemd_daemon 1
 %endif
 
 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
 %endif
 
 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
     %define with_libssh2 0%{!?_without_libssh2:1}
 %endif
 
     %define with_libssh2 0%{!?_without_libssh2:1}
 %endif
 
+# Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
+%if 0%{?fedora} >= 21
+    %define with_wireshark 0%{!?_without_wireshark:1}
+%endif
+
 # Disable some drivers when building without libvirt daemon.
 # The logic is the same as in configure.ac
 %if ! %{with_libvirtd}
 # Disable some drivers when building without libvirt daemon.
 # The logic is the same as in configure.ac
 %if ! %{with_libvirtd}
@@ -417,6 +432,7 @@ URL: http://libvirt.org/
     %define mainturl stable_updates/
 %endif
 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
     %define mainturl stable_updates/
 %endif
 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
+Patch1: libvirt-1.2.3-bypass-netns-check.patch
 
 %if %{with_libvirtd}
 Requires: libvirt-daemon = %{version}-%{release}
 
 %if %{with_libvirtd}
 Requires: libvirt-daemon = %{version}-%{release}
@@ -449,7 +465,9 @@ Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
         %endif
 
 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
         %endif
 
+       %if %{with_interface}
 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
+       %endif
 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
 Requires: libvirt-daemon-driver-network = %{version}-%{release}
 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
 Requires: libvirt-daemon-driver-network = %{version}-%{release}
@@ -471,6 +489,9 @@ BuildRequires: python
 %if %{with_systemd}
 BuildRequires: systemd-units
 %endif
 %if %{with_systemd}
 BuildRequires: systemd-units
 %endif
+%if %{with_systemd_daemon}
+BuildRequires: systemd-devel
+%endif
 %if %{with_xen} || %{with_libxl}
 BuildRequires: xen-devel
 %endif
 %if %{with_xen} || %{with_libxl}
 BuildRequires: xen-devel
 %endif
@@ -585,7 +606,7 @@ BuildRequires: parted-devel
 BuildRequires: e2fsprogs-devel
     %endif
 %endif
 BuildRequires: e2fsprogs-devel
     %endif
 %endif
-%if %{with_storage_mpath}
+%if %{with_storage_mpath} || %{with_storage_disk}
 # For Multipath support
     %if 0%{?rhel} == 5
 # Broken RHEL-5 packaging has header files in main RPM :-(
 # For Multipath support
     %if 0%{?rhel} == 5
 # Broken RHEL-5 packaging has header files in main RPM :-(
@@ -593,13 +614,18 @@ BuildRequires: device-mapper
     %else
 BuildRequires: device-mapper-devel
     %endif
     %else
 BuildRequires: device-mapper-devel
     %endif
-    %if %{with_storage_rbd}
+%endif
+%if %{with_storage_rbd}
 BuildRequires: ceph-devel
 BuildRequires: ceph-devel
-    %endif
 %endif
 %if %{with_storage_gluster}
 %endif
 %if %{with_storage_gluster}
+    %if 0%{?rhel} >= 6
+BuildRequires: glusterfs-api-devel >= 3.4.0
+BuildRequires: glusterfs-devel >= 3.4.0
+    %else
 BuildRequires: glusterfs-api-devel >= 3.4.1
 BuildRequires: glusterfs-devel >= 3.4.1
 BuildRequires: glusterfs-api-devel >= 3.4.1
 BuildRequires: glusterfs-devel >= 3.4.1
+    %endif
 %endif
 %if %{with_numactl}
 # For QEMU/LXC numa info
 %endif
 %if %{with_numactl}
 # For QEMU/LXC numa info
@@ -666,6 +692,10 @@ BuildRequires: scrub
 BuildRequires: numad
 %endif
 
 BuildRequires: numad
 %endif
 
+%if %{with_wireshark}
+BuildRequires: wireshark-devel
+%endif
+
 Provides: bundled(gnulib)
 
 %description
 Provides: bundled(gnulib)
 
 %description
@@ -743,6 +773,9 @@ Summary: Default configuration files for the libvirtd daemon
 Group: Development/Libraries
 
 Requires: libvirt-daemon = %{version}-%{release}
 Group: Development/Libraries
 
 Requires: libvirt-daemon = %{version}-%{release}
+        %if %{with_driver_modules}
+Requires: libvirt-daemon-driver-network = %{version}-%{release}
+        %endif
 
 %description daemon-config-network
 Default configuration files for setting up NAT based networking
 
 %description daemon-config-network
 Default configuration files for setting up NAT based networking
@@ -754,6 +787,9 @@ Summary: Network filter configuration files for the libvirtd daemon
 Group: Development/Libraries
 
 Requires: libvirt-daemon = %{version}-%{release}
 Group: Development/Libraries
 
 Requires: libvirt-daemon = %{version}-%{release}
+        %if %{with_driver_modules}
+Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
+        %endif
 
 %description daemon-config-nwfilter
 Network filter configuration files for cleaning guest traffic
 
 %description daemon-config-nwfilter
 Network filter configuration files for cleaning guest traffic
@@ -1150,6 +1186,17 @@ Requires: cyrus-sasl-md5
 Shared libraries and client binaries needed to access to the
 virtualization capabilities of recent versions of Linux (and other OSes).
 
 Shared libraries and client binaries needed to access to the
 virtualization capabilities of recent versions of Linux (and other OSes).
 
+%if %{with_wireshark}
+%package wireshark
+Summary: Wireshark dissector plugin for libvirt RPC transactions
+Group: Development/Libraries
+Requires: wireshark
+Requires: %{name}-client = %{version}-%{release}
+
+%description wireshark
+Wireshark dissector plugin for better analysis of libvirt RPC traffic.
+%endif
+
 %if %{with_lxc}
 %package login-shell
 Summary: Login shell for connecting users to an LXC container
 %if %{with_lxc}
 %package login-shell
 Summary: Login shell for connecting users to an LXC container
@@ -1193,6 +1240,7 @@ driver
 
 %prep
 %setup -q
 
 %prep
 %setup -q
+%patch1 -p1 -b .bypass-netns-check
 
 %build
 %if ! %{with_xen}
 
 %build
 %if ! %{with_xen}
@@ -1375,6 +1423,14 @@ driver
     %define _with_firewalld --with-firewalld
 %endif
 
     %define _with_firewalld --with-firewalld
 %endif
 
+%if ! %{with_wireshark}
+    %define _without_wireshark --without-wireshark-dissector
+%endif
+
+%if ! %{with_systemd_daemon}
+    %define _without_systemd_daemon --without-systemd-daemon
+%endif
+
 %define when  %(date +"%%F-%%T")
 %define where %(hostname)
 %define who   %{?packager}%{!?packager:Unknown}
 %define when  %(date +"%%F-%%T")
 %define where %(hostname)
 %define who   %{?packager}%{!?packager:Unknown}
@@ -1401,6 +1457,7 @@ driver
  autoreconf -if
 %endif
 
  autoreconf -if
 %endif
 
+rm -f po/stamp-po
 %configure %{?_without_xen} \
            %{?_without_qemu} \
            %{?_without_openvz} \
 %configure %{?_without_xen} \
            %{?_without_qemu} \
            %{?_without_openvz} \
@@ -1418,6 +1475,7 @@ driver
            %{?_without_hyperv} \
            %{?_without_vmware} \
            %{?_without_parallels} \
            %{?_without_hyperv} \
            %{?_without_vmware} \
            %{?_without_parallels} \
+           --without-bhyve \
            %{?_without_interface} \
            %{?_without_network} \
            %{?_with_rhel5_api} \
            %{?_without_interface} \
            %{?_without_network} \
            %{?_with_rhel5_api} \
@@ -1447,6 +1505,8 @@ driver
            %{?_without_dtrace} \
            %{?_without_driver_modules} \
            %{?_with_firewalld} \
            %{?_without_dtrace} \
            %{?_without_driver_modules} \
            %{?_with_firewalld} \
+           %{?_without_wireshark} \
+           %{?_without_systemd_daemon} \
            %{with_packager} \
            %{with_packager_version} \
            --with-qemu-user=%{qemu_user} \
            %{with_packager} \
            %{with_packager_version} \
            --with-qemu-user=%{qemu_user} \
@@ -1477,6 +1537,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
 %endif
 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
 %endif
+%if %{with_wireshark}
+rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
+%endif
 
 %if %{with_network}
 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
 
 %if %{with_network}
 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
@@ -1542,6 +1605,12 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
 rm -fr %{buildroot}
 
 %check
 rm -fr %{buildroot}
 
 %check
+# PlanetLab build
+# do not run tests, this is mainstream business, and more importantly
+# our own setup is ti build inside a container already and we've seen
+# occasional red herrings because of that
+exit
+#
 cd tests
 make
 # These tests don't current work in a mock build root
 cd tests
 make
 # These tests don't current work in a mock build root
@@ -1811,10 +1880,6 @@ exit 0
 
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
 
 
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
 
-    %if %{with_nwfilter}
-%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
-    %endif
-
     %if %{with_systemd}
 %{_unitdir}/libvirtd.service
 %{_unitdir}/virtlockd.service
     %if %{with_systemd}
 %{_unitdir}/libvirtd.service
 %{_unitdir}/virtlockd.service
@@ -1851,7 +1916,8 @@ exit 0
 %{_datadir}/augeas/lenses/virtlockd.aug
 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
 %{_datadir}/augeas/lenses/libvirt_lockd.aug
 %{_datadir}/augeas/lenses/virtlockd.aug
 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
 %{_datadir}/augeas/lenses/libvirt_lockd.aug
-%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
+### planetlab: we do not run tests
+# %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
 
     %if %{with_polkit}
         %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
 
     %if %{with_polkit}
         %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
@@ -1877,15 +1943,20 @@ exit 0
 %{_mandir}/man8/virtlockd.8*
 
     %if ! %{with_driver_modules}
 %{_mandir}/man8/virtlockd.8*
 
     %if ! %{with_driver_modules}
-        %if %{with_network}
+        %if %{with_network} || %{with_qemu}
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
+        %endif
+        %if %{with_network} || %{with_nwfilter}
+%ghost %dir %{_localstatedir}/run/libvirt/network/
+        %endif
+        %if %{with_network}
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
-%dir %{_datadir}/libvirt/networks/
-%{_datadir}/libvirt/networks/default.xml
-%ghost %dir %{_localstatedir}/run/libvirt/network/
 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
+        %endif
+        %if %{with_nwfilter}
+%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
         %endif
         %if %{with_storage_disk}
 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
         %endif
         %if %{with_storage_disk}
 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
@@ -1932,6 +2003,8 @@ exit 0
     %if %{with_network}
 %files daemon-config-network
 %defattr(-, root, root)
     %if %{with_network}
 %files daemon-config-network
 %defattr(-, root, root)
+%dir %{_datadir}/libvirt/networks/
+%{_datadir}/libvirt/networks/default.xml
     %endif
 
     %if %{with_nwfilter}
     %endif
 
     %if %{with_nwfilter}
@@ -1953,8 +2026,6 @@ exit 0
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
-%dir %{_datadir}/libvirt/networks/
-%{_datadir}/libvirt/networks/default.xml
 %ghost %dir %{_localstatedir}/run/libvirt/network/
 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
 %ghost %dir %{_localstatedir}/run/libvirt/network/
 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
@@ -1970,6 +2041,8 @@ exit 0
         %if %{with_nwfilter}
 %files daemon-driver-nwfilter
 %defattr(-, root, root)
         %if %{with_nwfilter}
 %files daemon-driver-nwfilter
 %defattr(-, root, root)
+%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
+%ghost %dir %{_localstatedir}/run/libvirt/network/
 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
         %endif
 
 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
         %endif
 
@@ -1989,6 +2062,7 @@ exit 0
         %if %{with_qemu}
 %files daemon-driver-qemu
 %defattr(-, root, root)
         %if %{with_qemu}
 %files daemon-driver-qemu
 %defattr(-, root, root)
+%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
@@ -2152,6 +2226,11 @@ exit 0
 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
 %endif
 
 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
 %endif
 
+%if %{with_wireshark}
+%files wireshark
+%{_libdir}/wireshark/plugins/*/libvirt.so
+%endif
+
 %if %{with_lxc}
 %files login-shell
 %attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
 %if %{with_lxc}
 %files login-shell
 %attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
@@ -2183,6 +2262,16 @@ exit 0
 %doc examples/systemtap
 
 %changelog
 %doc examples/systemtap
 
 %changelog
+* Tue Apr  1 2014 Daniel Veillard <veillard@redhat.com> - 1.2.3-1
+- add new virDomainCoreDumpWithFormat API (Qiao Nuohan)
+- conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark)
+- more features and fixes on bhyve driver (Roman Bogorodskiy)
+- lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig)
+- a lot of various improvements and bug fixes
+
+* Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.1-1
+- builds fine on f{18,20}
+
 * Mon Jan 27 2014 Cole Robinson <crobinso@redhat.com> - 1.2.1-2
 - Rebuild for openwsman soname bump
 
 * Mon Jan 27 2014 Cole Robinson <crobinso@redhat.com> - 1.2.1-2
 - Rebuild for openwsman soname bump