X-Git-Url: http://git.onelab.eu/?p=libvirt.git;a=blobdiff_plain;f=libvirt.spec;h=95bd5cb2af60dbcf0b61038ebaba0b8c6c328281;hp=a35d73a1bd3b0f892718ae6656320fc798e8ff72;hb=0584309e93df4af2b5019cf84fa373dead3c6f5e;hpb=2eec5446486315a9d15d9407ef7f4392ff3bfdfd diff --git a/libvirt.spec b/libvirt.spec index a35d73a..95bd5cb 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,33 +1,39 @@ # -*- rpm-spec -*- -%define mainstream_version 1.0.2 +%define mainstream_version 1.2.4 %define module_version_varname mainstream_version %define taglevel 0 +%define packager PlanetLab/OneLab #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \ -# --without storage-fs --without storage-lvm \ -# --without polkit --without sasl --without audit --with capng --with udev \ -# --without netcf --without avahi --without sanlock \ -# --without xen --without qemu --without hyperv --without phyp --without esx \ -# --without libxl \ -%define _without_storage_disk true -%define _without_storage_iscsi true -%define _without_storage_fs true -%define _without_storage_lvm 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_qemu true -%define _without_hyperv true -%define _without_phyp true -%define _without_esx true -%define _without_libxl true - +## --without storage-fs --without storage-lvm \ +## --without polkit --without sasl --without audit --with capng --with udev \ +## --without netcf --without avahi --without sanlock \ +## --without xen --without qemu --without hyperv --without phyp --without esx \ +## --without libxl --without vbox \ +%define _without_storage_disk true +%define _without_storage_iscsi true +%define _without_storage_fs true +%define _without_storage_lvm true +%define _without_polkit true +%define _without_sasl true +%define _without_audit true +%define _without_avahi true +%define _without_sanlock true +%define _without_xen true +%define _without_qemu true +%define _without_hyperv true +%define _without_phyp 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 + +%define enable_autotools 1 + # If neither fedora nor rhel was defined, try to guess them from %{dist} %if !0%{?rhel} && !0%{?fedora} %{expand:%(echo "%{?dist}" | \ @@ -43,8 +49,9 @@ # A client only build will create a libvirt.so only containing # the generic RPC driver, and test driver and no libvirtd -# Default to a full server + client build -%define client_only 0 +# Default to a full server + client build, but with the possibility +# of a command-line or ~/.rpmmacros override for client-only. +%{!?client_only:%define client_only 0} # Now turn off server build in certain cases @@ -78,11 +85,16 @@ %define with_lxc 0%{!?_without_lxc:%{server_drivers}} %define with_uml 0%{!?_without_uml:%{server_drivers}} %define with_libxl 0%{!?_without_libxl:%{server_drivers}} +%define with_vbox 0%{!?_without_vbox:%{server_drivers}} %define with_qemu_tcg %{with_qemu} # Change if we ever provide qemu-kvm binaries on non-x86 hosts %if 0%{?fedora} >= 18 - %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x + %if 0%{?fedora} >= 20 + %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x %{arm} + %else + %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x + %endif %else %define qemu_kvm_arches %{ix86} x86_64 %endif @@ -95,13 +107,13 @@ # Then the hypervisor drivers that run outside libvirtd, in libvirt.so %define with_openvz 0%{!?_without_openvz:1} -%define with_vbox 0%{!?_without_vbox:1} %define with_vmware 0%{!?_without_vmware:1} %define with_phyp 0%{!?_without_phyp:1} %define with_esx 0%{!?_without_esx: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}} @@ -121,9 +133,17 @@ %else %define with_storage_sheepdog 0 %endif +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 6 + %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}} +%else + %define with_storage_gluster 0 +%endif %define with_numactl 0%{!?_without_numactl:%{server_drivers}} %define with_selinux 0%{!?_without_selinux:%{server_drivers}} +# Just hardcode to off, since few people ever have apparmor RPMs installed +%define with_apparmor 0%{!?_without_apparmor:0} + # A few optional bits off by default, we enable later %define with_polkit 0%{!?_without_polkit:0} %define with_capng 0%{!?_without_capng:0} @@ -144,9 +164,11 @@ %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} +%define with_pm_utils 1 # Non-server/HV driver defaults which are always enabled -%define with_python 0%{!?_without_python:1} %define with_sasl 0%{!?_without_sasl:1} @@ -158,11 +180,23 @@ %define with_libxl 0 %endif +# vbox is available only on i386 x86_64 +%ifnarch %{ix86} x86_64 + %define with_vbox 0 +%endif + # Numactl is not available on s390[x] and ARM %ifarch s390 s390x %{arm} %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. @@ -182,6 +216,8 @@ # Fedora has systemd, libvirt still used sysvinit there. %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %define with_systemd 1 + %define with_systemd_daemon 1 + %define with_pm_utils 0 %endif # Fedora 18 / RHEL-7 are first where firewalld support is enabled @@ -264,17 +300,27 @@ %if 0%{?fedora} >= 16 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} %endif -%if 0%{?rhel} >= 6 +%if 0%{?rhel} == 6 %ifarch %{ix86} x86_64 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} %endif %endif +%if 0%{?rhel} >= 7 + %ifarch x86_64 + %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} + %endif +%endif # Enable libssh2 transport for new enough distros -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 6 +%if 0%{?fedora} >= 17 %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} @@ -291,6 +337,7 @@ %define with_storage_mpath 0 %define with_storage_rbd 0 %define with_storage_sheepdog 0 + %define with_storage_gluster 0 %define with_storage_disk 0 %endif @@ -366,6 +413,14 @@ %endif +# RHEL releases provide stable tool chains and so it is safe to turn +# compiler warning into errors without being worried about frequent +# changes in reported warnings +%if 0%{?rhel} + %define enable_werror --enable-werror +%endif + + Summary: Library providing a simple virtualization API Name: libvirt Version: %{mainstream_version} @@ -379,9 +434,6 @@ URL: http://libvirt.org/ %define mainturl stable_updates/ %endif Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz -Patch1: libcurl.patch -Patch2: libcurl-daemon.patch -Patch3: securityselinuxlabeltest.patch %if %{with_libvirtd} Requires: libvirt-daemon = %{version}-%{release} @@ -407,6 +459,12 @@ Requires: libvirt-daemon-driver-uml = %{version}-%{release} %if %{with_xen} Requires: libvirt-daemon-driver-xen = %{version}-%{release} %endif + %if %{with_vbox} +Requires: libvirt-daemon-driver-vbox = %{version}-%{release} + %endif + %if %{with_nwfilter} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} + %endif %if %{with_interface} Requires: libvirt-daemon-driver-interface = %{version}-%{release} @@ -415,7 +473,6 @@ 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-nodedev = %{version}-%{release} -Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} %endif %endif Requires: libvirt-client = %{version}-%{release} @@ -427,12 +484,16 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel BuildRequires: libtool +BuildRequires: /usr/bin/pod2man %endif -BuildRequires: python-devel +BuildRequires: python %if %{with_systemd} BuildRequires: systemd-units %endif -%if %{with_xen} +%if %{with_systemd_daemon} +BuildRequires: systemd-devel +%endif +%if %{with_xen} || %{with_libxl} BuildRequires: xen-devel %endif BuildRequires: libxml2-devel @@ -442,8 +503,15 @@ BuildRequires: readline-devel BuildRequires: ncurses-devel BuildRequires: gettext BuildRequires: libtasn1-devel +%if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 19) +BuildRequires: libgcrypt-devel +%endif BuildRequires: gnutls-devel BuildRequires: libattr-devel +%if %{with_libvirtd} +# For pool-build probing for existing pools +BuildRequires: libblkid-devel >= 2.17 +%endif %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 # for augparse, optionally used in testing BuildRequires: augeas @@ -487,6 +555,9 @@ BuildRequires: avahi-devel %if %{with_selinux} BuildRequires: libselinux-devel %endif +%if %{with_apparmor} +BuildRequires: libapparmor-devel +%endif %if %{with_network} BuildRequires: dnsmasq >= 2.41 BuildRequires: iptables @@ -502,8 +573,7 @@ BuildRequires: cyrus-sasl-devel %endif %if %{with_polkit} %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 -# Only need the binary, not -devel -BuildRequires: polkit >= 0.93 +BuildRequires: polkit-devel >= 0.93 %else BuildRequires: PolicyKit-devel >= 0.6 %endif @@ -537,7 +607,7 @@ BuildRequires: parted-devel 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 :-( @@ -545,8 +615,17 @@ BuildRequires: device-mapper %else BuildRequires: device-mapper-devel %endif - %if %{with_storage_rbd} +%endif +%if %{with_storage_rbd} BuildRequires: ceph-devel +%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 %endif %endif %if %{with_numactl} @@ -614,6 +693,10 @@ BuildRequires: scrub BuildRequires: numad %endif +%if %{with_wireshark} +BuildRequires: wireshark-devel +%endif + Provides: bundled(gnulib) %description @@ -651,31 +734,6 @@ Requires: avahi Requires: avahi-libs %endif %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 - %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7) -Requires: netcf-libs >= 0.2.2 - %endif -# needed for device enumeration - %if %{with_hal} -Requires: hal - %endif - %if %{with_udev} - %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 -Requires: systemd >= 185 - %else -Requires: udev >= 145 - %endif - %endif %if %{with_polkit} %if 0%{?fedora} >= 12 || 0%{?rhel} >=6 Requires: polkit >= 0.93 @@ -683,52 +741,6 @@ Requires: polkit >= 0.93 Requires: PolicyKit >= 0.6 %endif %endif - %if %{with_storage_fs} -Requires: nfs-utils -# For mkfs -Requires: util-linux -# 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_storage_sheepdog} -# For Sheepdog support -Requires: sheepdog - %endif %if %{with_cgconfig} Requires: libcgroup %endif @@ -748,6 +760,8 @@ Requires: numad %endif # libvirtd depends on 'messagebus' service Requires: dbus +# For uid creation during pre +Requires(pre): shadow-utils %description daemon Server side daemon required to manage the virtualization capabilities @@ -760,6 +774,9 @@ Summary: Default configuration files for the libvirtd daemon 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 @@ -771,6 +788,9 @@ Summary: Network filter configuration files for the libvirtd daemon 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 @@ -782,6 +802,10 @@ Network filter configuration files for cleaning guest traffic Summary: Network driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: dnsmasq >= 2.41 +Requires: radvd +Requires: iptables +Requires: iptables-ipv6 %description daemon-driver-network The network driver plugin for the libvirtd daemon, providing @@ -795,6 +819,9 @@ bridge capabilities. Summary: Nwfilter driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: iptables +Requires: iptables-ipv6 +Requires: ebtables %description daemon-driver-nwfilter The nwfilter driver plugin for the libvirtd daemon, providing @@ -808,6 +835,17 @@ iptables and ip6tables capabilities Summary: Nodedev driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +# needed for device enumeration + %if %{with_hal} +Requires: hal + %endif + %if %{with_udev} + %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +Requires: systemd >= 185 + %else +Requires: udev >= 145 + %endif + %endif %description daemon-driver-nodedev The nodedev driver plugin for the libvirtd daemon, providing @@ -821,6 +859,9 @@ capabilities. Summary: Interface driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7) +Requires: netcf-libs >= 0.2.2 + %endif %description daemon-driver-interface The interface driver plugin for the libvirtd daemon, providing @@ -844,6 +885,45 @@ an implementation of the secret key APIs. Summary: Storage driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_storage_fs} +Requires: nfs-utils +# For mkfs +Requires: util-linux +# For glusterfs + %if 0%{?fedora} >= 11 +Requires: glusterfs-client >= 2.0.1 + %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_storage_sheepdog} +# For Sheepdog support +Requires: sheepdog + %endif + %if %{with_qemu} +# From QEMU RPMs +Requires: /usr/bin/qemu-img + %else + %if %{with_xen} +# From Xen RPMs +Requires: /usr/sbin/qcow-create + %endif + %endif %description daemon-driver-storage The storage driver plugin for the libvirtd daemon, providing @@ -859,6 +939,12 @@ 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: /usr/bin/qemu-img +# For image compression +Requires: gzip +Requires: bzip2 +Requires: lzop +Requires: xz %description daemon-driver-qemu The qemu driver plugin for the libvirtd daemon, providing @@ -908,6 +994,19 @@ Xen %endif + %if %{with_vbox} +%package daemon-driver-vbox +Summary: VirtualBox driver plugin for the libvirtd daemon +Group: Development/Libraries +Requires: libvirt-daemon = %{version}-%{release} + +%description daemon-driver-vbox +The vbox driver plugin for the libvirtd daemon, providing +an implementation of the hypervisor driver APIs using +VirtualBox + %endif + + %if %{with_libxl} %package daemon-driver-libxl Summary: Libxl driver plugin for the libvirtd daemon @@ -1040,6 +1139,27 @@ Requires: xen Server side daemon and driver required to manage the virtualization capabilities of XEN %endif + + %if %{with_vbox} +%package daemon-vbox +Summary: Server side daemon & driver required to run VirtualBox guests +Group: Development/Libraries + +Requires: libvirt-daemon = %{version}-%{release} + %if %{with_driver_modules} +Requires: libvirt-daemon-driver-vbox = %{version}-%{release} +Requires: libvirt-daemon-driver-interface = %{version}-%{release} +Requires: libvirt-daemon-driver-network = %{version}-%{release} +Requires: libvirt-daemon-driver-nodedev = %{version}-%{release} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} +Requires: libvirt-daemon-driver-secret = %{version}-%{release} +Requires: libvirt-daemon-driver-storage = %{version}-%{release} + %endif + +%description daemon-vbox +Server side daemon and driver required to manage the virtualization +capabilities of VirtualBox + %endif %endif # %{with_libvirtd} %package client @@ -1050,12 +1170,14 @@ Requires: ncurses # So remote clients can access libvirt over SSH tunnel # (client invokes 'nc' against the UNIX socket on the server) Requires: nc -# Needed by libvirt-guests init script. +# Needed by /usr/libexec/libvirt-guests.sh script. Requires: gettext # Needed by virt-pki-validate script. Requires: gnutls-utils +%if %{with_pm_utils} # Needed for probing the power management features of the host. Requires: pm-utils +%endif %if %{with_sasl} Requires: cyrus-sasl # Not technically required, but makes 'out-of-box' config @@ -1067,6 +1189,29 @@ Requires: cyrus-sasl-md5 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 +Group: Development/Libraries +Requires: %{name}-client = %{version}-%{release} + +%description login-shell +Provides the set-uid virt-login-shell binary that is used to +connect a user to an LXC container when they login, by switching +namespaces. +%endif + %package devel Summary: Libraries, includes, etc. to compile with the libvirt library Group: Development/Libraries @@ -1096,24 +1241,8 @@ Includes the Sanlock lock manager plugin for the QEMU driver %endif -%if %{with_python} -%package python -Summary: Python bindings for the libvirt library -Group: Development/Libraries -Requires: %{name}-client = %{version}-%{release} - -%description python -The libvirt-python package contains a module that permits applications -written in the Python programming language to use the interface -supplied by the libvirt library to use the virtualization capabilities -of recent versions of Linux (and other OSes). -%endif - %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %build %if ! %{with_xen} @@ -1176,10 +1305,6 @@ of recent versions of Linux (and other OSes). %define _without_polkit --without-polkit %endif -%if ! %{with_python} - %define _without_python --without-python -%endif - %if ! %{with_libvirtd} %define _without_libvirtd --without-libvirtd %endif @@ -1228,6 +1353,10 @@ of recent versions of Linux (and other OSes). %define _without_storage_sheepdog --without-storage-sheepdog %endif +%if ! %{with_storage_gluster} + %define _without_storage_gluster --without-storage-gluster +%endif + %if ! %{with_numactl} %define _without_numactl --without-numactl %endif @@ -1252,6 +1381,10 @@ of recent versions of Linux (and other OSes). %define _without_selinux --without-selinux %endif +%if ! %{with_apparmor} + %define _without_apparmor --without-apparmor +%endif + %if ! %{with_hal} %define _without_hal --without-hal %endif @@ -1292,6 +1425,18 @@ of recent versions of Linux (and other OSes). %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 + +%if ! %{with_pm_utils} + %define _without_pm_utils --without-pm-utils +%endif + %define when %(date +"%%F-%%T") %define where %(hostname) %define who %{?packager}%{!?packager:Unknown} @@ -1304,10 +1449,6 @@ of recent versions of Linux (and other OSes). %define init_scripts --with-init_script=redhat %endif -%if 0%{?enable_autotools} - autoreconf -if -%endif - %if %{with_selinux} %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux" @@ -1316,6 +1457,13 @@ of recent versions of Linux (and other OSes). %endif %endif +# place macros above and build commands below this comment + +%if 0%{?enable_autotools} + autoreconf -if +%endif + +rm -f po/stamp-po %configure %{?_without_xen} \ %{?_without_qemu} \ %{?_without_openvz} \ @@ -1326,7 +1474,6 @@ of recent versions of Linux (and other OSes). %{?_without_sasl} \ %{?_without_avahi} \ %{?_without_polkit} \ - %{?_without_python} \ %{?_without_libvirtd} \ %{?_without_uml} \ %{?_without_phyp} \ @@ -1334,6 +1481,7 @@ of recent versions of Linux (and other OSes). %{?_without_hyperv} \ %{?_without_vmware} \ %{?_without_parallels} \ + --without-bhyve \ %{?_without_interface} \ %{?_without_network} \ %{?_with_rhel5_api} \ @@ -1344,6 +1492,7 @@ of recent versions of Linux (and other OSes). %{?_without_storage_mpath} \ %{?_without_storage_rbd} \ %{?_without_storage_sheepdog} \ + %{?_without_storage_gluster} \ %{?_without_numactl} \ %{?_without_numad} \ %{?_without_capng} \ @@ -1351,6 +1500,7 @@ of recent versions of Linux (and other OSes). %{?_without_netcf} \ %{?_without_selinux} \ %{?_with_selinux_mount} \ + %{?_without_apparmor} \ %{?_without_hal} \ %{?_without_udev} \ %{?_without_yajl} \ @@ -1361,10 +1511,15 @@ of recent versions of Linux (and other OSes). %{?_without_dtrace} \ %{?_without_driver_modules} \ %{?_with_firewalld} \ + %{?_without_wireshark} \ + %{?_without_systemd_daemon} \ + %{?_without_pm_utils} \ %{with_packager} \ %{with_packager_version} \ --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ + %{?enable_werror} \ + --enable-expensive-tests \ %{init_scripts} make %{?_smp_mflags} gzip -9 ChangeLog @@ -1372,21 +1527,26 @@ gzip -9 ChangeLog %install rm -fr %{buildroot} -%makeinstall SYSTEMD_UNIT_DIR=%{buildroot}%{_unitdir} -for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap +# Avoid using makeinstall macro as it changes prefixes rather than setting +# DESTDIR. Newer make_install macro would be better but it's not available +# on RHEL 5, thus we need to expand it here. +make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir} + +for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate do (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in) done rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/*.a -rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la -rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a %if %{with_driver_modules} 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/ @@ -1420,12 +1580,6 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug %endif -%if ! %{with_python} -rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version} -%else -rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}/examples -%endif - %if ! %{with_qemu} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu @@ -1438,8 +1592,8 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml %endif -mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} \ - $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version} +# Copied into libvirt-docs subpackage eventually +mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs %if %{with_dtrace} %ifarch %{power64} s390x x86_64 ia64 alpha sparc64 @@ -1458,6 +1612,12 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf 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 @@ -1468,19 +1628,32 @@ do printf '#!/bin/sh\nexit 0\n' > $i chmod +x $i done -make check +if ! make check VIR_TEST_DEBUG=1 +then + cat test-suite.log || true + exit 1 +fi %if %{with_libvirtd} + %if ! %{with_driver_modules} + %if %{with_qemu} %pre daemon - %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 -# Normally 'setup' adds this in /etc/passwd, but this is -# here for case of upgrades from earlier Fedora/RHEL. This -# UID/GID pair is reserved for qemu:qemu -getent group kvm >/dev/null || groupadd -g 36 -r kvm -getent group qemu >/dev/null || groupadd -g 107 -r qemu -getent passwd qemu >/dev/null || \ - useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ - -c "qemu user" qemu + %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +# We want soft static allocation of well-known ids, as disk images +# are commonly shared across NFS mounts by id rather than name; see +# https://fedoraproject.org/wiki/Packaging:UsersAndGroups +getent group kvm >/dev/null || groupadd -f -g 36 -r kvm +getent group qemu >/dev/null || groupadd -f -g 107 -r qemu +if ! getent passwd qemu >/dev/null; then + if ! getent passwd 107 >/dev/null; then + useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + else + useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + fi +fi +exit 0 + %endif + %endif %endif %post daemon @@ -1529,12 +1702,11 @@ done %if %{with_systemd} %if %{with_systemd_macros} - %systemd_post libvirtd.service + %systemd_post virtlockd.socket libvirtd.service %else if [ $1 -eq 1 ] ; then # Initial installation - /bin/systemctl enable virtlockd.socket >/dev/null 2>&1 || : - /bin/systemctl enable libvirtd.service >/dev/null 2>&1 || : + /bin/systemctl enable virtlockd.socket libvirtd.service >/dev/null 2>&1 || : fi %endif %else @@ -1549,46 +1721,50 @@ fi %endif /sbin/chkconfig --add libvirtd -if [ "$1" -ge "1" ]; then - /sbin/service libvirtd condrestart > /dev/null 2>&1 -fi +/sbin/chkconfig --add virtlockd %endif %preun daemon %if %{with_systemd} %if %{with_systemd_macros} - %systemd_preun libvirtd.service + %systemd_preun libvirtd.service virtlockd.socket virtlockd.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade - /bin/systemctl --no-reload disable virtlockd.socket > /dev/null 2>&1 || : - /bin/systemctl --no-reload disable libvirtd.service > /dev/null 2>&1 || : - /bin/systemctl stop libvirtd.service > /dev/null 2>&1 || : - /bin/systemctl stop virtlockd.service > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || : + /bin/systemctl stop libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || : fi %endif %else if [ $1 = 0 ]; then /sbin/service libvirtd stop 1>/dev/null 2>&1 /sbin/chkconfig --del libvirtd + /sbin/service virtlockd stop 1>/dev/null 2>&1 + /sbin/chkconfig --del virtlockd fi %endif %postun daemon %if %{with_systemd} - %if %{with_systemd_macros} - %systemd_postun_with_restart libvirtd.service - %else /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - /bin/systemctl status virtlockd.service >/dev/null 2>&1 - if [ $? = 1 ] ; then - /bin/systemctl kill --signal=USR1 virtlockd.service >/dev/null 2>&1 || : - fi + /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : fi - %endif + %else +if [ $1 -ge 1 ]; then + /sbin/service virtlockd reload > /dev/null 2>&1 || : + /sbin/service libvirtd condrestart > /dev/null 2>&1 +fi + %endif + + %if %{with_systemd} + %else +%triggerpostun daemon -- libvirt-daemon < 1.2.1 +if [ "$1" -ge "1" ]; then + /sbin/service virtlockd reload > /dev/null 2>&1 || : + /sbin/service libvirtd condrestart > /dev/null 2>&1 +fi %endif %if %{with_network} @@ -1613,6 +1789,27 @@ fi /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || : /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : %endif + + %if %{with_driver_modules} + %if %{with_qemu} +%pre daemon-driver-qemu + %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +# We want soft static allocation of well-known ids, as disk images +# are commonly shared across NFS mounts by id rather than name; see +# https://fedoraproject.org/wiki/Packaging:UsersAndGroups +getent group kvm >/dev/null || groupadd -f -g 36 -r kvm +getent group qemu >/dev/null || groupadd -f -g 107 -r qemu +if ! getent passwd qemu >/dev/null; then + if ! getent passwd 107 >/dev/null; then + useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + else + useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + fi +fi +exit 0 + %endif + %endif + %endif %endif # %{with_libvirtd} %preun client @@ -1644,7 +1841,7 @@ fi /sbin/ldconfig %if %{with_systemd} %if %{with_systemd_macros} - %systemd_postun_with_restart libvirt-guests.service + %systemd_postun libvirt-guests.service %endif %triggerun client -- libvirt < 0.9.4 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: @@ -1652,9 +1849,8 @@ fi # If the package is allowed to autostart: /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||: -# Run these because the SysV package being removed won't do them +# Run this because the SysV package being removed won't do them /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || : -/bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || : %endif %if %{with_sanlock} @@ -1665,15 +1861,18 @@ if getent group sanlock > /dev/null ; then fi %endif +%if %{with_lxc} +%pre login-shell +getent group virtlogin >/dev/null || groupadd -r virtlogin +exit 0 +%endif + %files %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/* +%doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/* # API docs %dir %{_datadir}/gtk-doc/html/libvirt/ @@ -1686,17 +1885,8 @@ fi %files daemon %defattr(-, root, root) -%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ - %if %{with_network} -%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 - %endif - -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ - %if %{with_systemd} %{_unitdir}/libvirtd.service %{_unitdir}/virtlockd.service @@ -1709,37 +1899,14 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf +%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf %endif -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ - %if %{with_libxl} -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ - %endif %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd - %if %{with_qemu} -%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf -%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf -%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu - %endif - %if %{with_lxc} -%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf -%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc - %endif - %if %{with_uml} -%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml - %endif - %dir %{_datadir}/libvirt/ - %if %{with_network} -%dir %{_datadir}/libvirt/networks/ -%{_datadir}/libvirt/networks/default.xml - %endif - %ghost %dir %{_localstatedir}/run/libvirt/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ @@ -1747,53 +1914,22 @@ fi %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/ - %if %{with_qemu} -%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ - %endif - %if %{with_lxc} -%ghost %dir %{_localstatedir}/run/libvirt/lxc/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ - %endif - %if %{with_uml} -%ghost %dir %{_localstatedir}/run/libvirt/uml/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ - %endif - %if %{with_libxl} -%ghost %dir %{_localstatedir}/run/libvirt/libxl/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ - %endif - %if %{with_xen} -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ - %endif - %if %{with_network} -%ghost %dir %{_localstatedir}/run/libvirt/network/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ -%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ - %endif %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so - %if %{with_qemu} -%{_datadir}/augeas/lenses/libvirtd_qemu.aug -%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug - %endif - - %if %{with_lxc} -%{_datadir}/augeas/lenses/libvirtd_lxc.aug -%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug - %endif - %{_datadir}/augeas/lenses/libvirtd.aug %{_datadir}/augeas/lenses/tests/test_libvirtd.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 +# PL: is it because we don't run tests ? +#%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug %if %{with_polkit} %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy +%{_datadir}/polkit-1/actions/org.libvirt.api.policy %else %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %endif @@ -1801,32 +1937,90 @@ fi %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ - %if %{with_lxc} -%attr(0755, root, root) %{_libexecdir}/libvirt_lxc - %endif +%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper - %if %{with_storage_disk} -%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper + %if %{with_apparmor} +%attr(0755, root, root) %{_libexecdir}/virt-aa-helper %endif -%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper %attr(0755, root, root) %{_sbindir}/libvirtd %attr(0755, root, root) %{_sbindir}/virtlockd %{_mandir}/man8/libvirtd.8* +%{_mandir}/man8/virtlockd.8* - %if %{with_driver_modules} + %if ! %{with_driver_modules} + %if %{with_network} || %{with_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) %{_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_qemu} +%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf +%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ +%{_datadir}/augeas/lenses/libvirtd_qemu.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug + %endif + %if %{with_lxc} +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%attr(0755, root, root) %{_libexecdir}/libvirt_lxc + %endif + %if %{with_uml} +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ +%ghost %dir %{_localstatedir}/run/libvirt/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ + %endif + %if %{with_libxl} +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ + %endif + %if %{with_xen} +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ + %endif + %endif # ! %{with_driver_modules} + + %if %{with_network} %files daemon-config-network %defattr(-, root, root) - %endif +%dir %{_datadir}/libvirt/networks/ +%{_datadir}/libvirt/networks/default.xml + %endif - %if %{with_nwfilter} + %if %{with_nwfilter} %files daemon-config-nwfilter %defattr(-, root, root) %{_sysconfdir}/libvirt/nwfilter/*.xml - %endif + %endif + %if %{with_driver_modules} %if %{with_interface} %files daemon-driver-interface %defattr(-, root, root) @@ -1836,6 +2030,12 @@ fi %if %{with_network} %files daemon-driver-network %defattr(-, root, root) +%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 +%ghost %dir %{_localstatedir}/run/libvirt/network/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ +%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so %endif @@ -1848,6 +2048,8 @@ fi %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 @@ -1858,38 +2060,75 @@ fi %if %{with_storage} %files daemon-driver-storage %defattr(-, root, root) + %if %{with_storage_disk} +%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper + %endif %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so %endif %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 +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu +%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ +%{_datadir}/augeas/lenses/libvirtd_qemu.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so %endif %if %{with_lxc} %files daemon-driver-lxc %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%attr(0755, root, root) %{_libexecdir}/libvirt_lxc %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so %endif %if %{with_uml} %files daemon-driver-uml %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml +%ghost %dir %{_localstatedir}/run/libvirt/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so %endif %if %{with_xen} %files daemon-driver-xen %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so %endif %if %{with_libxl} %files daemon-driver-libxl %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so %endif + + %if %{with_vbox} +%files daemon-driver-vbox +%defattr(-, root, root) +%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so + %endif %endif # %{with_driver_modules} %if %{with_qemu_tcg} @@ -1914,6 +2153,11 @@ fi %if %{with_xen} || %{with_libxl} %files daemon-xen +%defattr(-, root, root) + %endif + + %if %{with_vbox} +%files daemon-vbox %defattr(-, root, root) %endif %endif # %{with_libvirtd} @@ -1935,7 +2179,7 @@ fi %files client -f %{name}.lang %defattr(-, root, root) -%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO +%doc COPYING COPYING.LESSER %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf %{_mandir}/man1/virsh.1* @@ -1968,11 +2212,12 @@ fi %{_datadir}/libvirt/schemas/nodedev.rng %{_datadir}/libvirt/schemas/nwfilter.rng %{_datadir}/libvirt/schemas/secret.rng -%{_datadir}/libvirt/schemas/storageencryption.rng +%{_datadir}/libvirt/schemas/storagecommon.rng %{_datadir}/libvirt/schemas/storagepool.rng %{_datadir}/libvirt/schemas/storagevol.rng %{_datadir}/libvirt/cpu_map.xml +%{_datadir}/libvirt/libvirtLogo.png %if %{with_systemd} %{_unitdir}/libvirt-guests.service @@ -1987,6 +2232,18 @@ fi %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 +%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf +%{_mandir}/man1/virt-login-shell.1* +%endif + %files devel %defattr(-, root, root) @@ -2003,29 +2260,127 @@ fi %doc docs/*.html docs/html docs/*.gif %doc docs/libvirt-api.xml %doc examples/hellolibvirt -%doc examples/domain-events/events-c +%doc examples/object-events %doc examples/dominfo %doc examples/domsuspend +%doc examples/dommigrate %doc examples/openauth %doc examples/xml %doc examples/systemtap -%if %{with_python} -%files python -%defattr(-, root, root) - -%doc AUTHORS NEWS README COPYING.LIB -%{_libdir}/python*/site-packages/libvirt.py* -%{_libdir}/python*/site-packages/libvirt_qemu.py* -%{_libdir}/python*/site-packages/libvirt_lxc.py* -%{_libdir}/python*/site-packages/libvirtmod* -%doc python/tests/*.py -%doc python/TODO -%doc examples/python -%doc examples/domain-events/events-python -%endif - %changelog +* Sun May 4 2014 Daniel Veillard - 1.2.4-1 +- various improvements and bug fixes +- lot of internal code refactoring + +* Mon Apr 28 2014 Thierry Parmentelat - libvirt-1.2.3-2 +- no change +- libvirt-python needs a release of libvirt that matches its own +- and there was a screw up when tagging libvirt-python, so we catch up + +* Mon Apr 28 2014 Thierry Parmentelat - libvirt-1.2.3-1 +- tested version of 1.2.3 + +* Tue Apr 1 2014 Daniel Veillard - 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 - libvirt-1.2.1-1 +- builds fine on f{18,20} + +* Sun Mar 2 2014 Daniel Veillard - 1.2.2-1 +- add LXC from native conversion tool +- vbox: add support for v4.2.20+ and v4.3.4+ +- Introduce Libvirt Wireshark dissector +- Fix CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC +- a lot of various improvements and bug fixes + +* Thu Jan 16 2014 Daniel Veillard - 1.2.1-1 +- Fix s CVE-2014-0028 event: filter global events by domain:getattr ACL +- Fix CVE-2014-1447 Don't crash if a connection closes early +- Fix CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats +- Fix CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain +- Fix CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters +- many doc and bug fixes and improvements + +* Mon Dec 2 2013 Daniel Veillard - 1.2.0-1 +- Separation of python binding as libvirt-python srpm +- Add support for gluster pool +- vbox: add support for 4.3 APIs +- a number of doc, bug fixes and various improvements + +* Mon Nov 4 2013 Daniel Veillard - 1.1.4-1 +- Add support for AArch64 architecture +- Various improvements on test code and test driver +- 4 security bug fixes +- a lot of bug fixes and various improvements + +* Tue Oct 1 2013 Daniel Veillard - 1.1.3-1 +- VMware: Initial VMware Fusion support and various improvements +- libvirt: add new public API virConnectGetCPUModelNames +- various libxl driver improvements +- LXC many container driver improvement +- ARM cpu improvements +- 3 security bug fixes +- a lot of bug and leak fixes and various improvements + +* Mon Sep 2 2013 Daniel Veillard - 1.1.2-1 +- various improvements to libxl driver +- systemd integration improvements +- Add flag to BaselineCPU API to return detailed CPU features +- Introduce a virt-login-shell binary +- conf: add startupPolicy attribute for harddisk +- various bug fixes and improvements including localizations + +* Tue Jul 30 2013 Daniel Veillard - 1.1.1-1 +- Adding device removal or deletion events +- Introduce new domain create APIs to pass pre-opened FDs to LXC +- Add interface versions for Xen 4.3 +- Add new public API virDomainSetMemoryStatsPeriod +- Various LXC improvements +- various bug fixes and improvements including localizations + +* Mon Jul 1 2013 Daniel Veillard - 1.1.0-1 +- CVE-2013-2218: Fix crash listing network interfaces with filters +- Fine grained ACL support for the API +- Extensible migration APIs +- various improvements in the Xen driver +- agent based vCPU hotplug support +- various bug fixes and improvements including localizations + +* Mon Jun 3 2013 Daniel Veillard - 1.0.6-1 +- Move VirtualBox driver into libvirtd +- Support for static routes on a virtual bridge +- Various improvement for hostdev SCSI support +- Switch to VIR_STRDUP and VIR_STRNDUP +- Various cleanups and improvement in Xen and LXC drivers +- various bug fixes and improvements including localizations + +* Thu May 2 2013 Daniel Veillard - 1.0.5-1 +- add support for NVRAM device +- Add XML config for resource partitions +- Add support for TPM +- NPIV storage migration support +- various bug fixes and improvements including localizations + +* Mon Apr 1 2013 Daniel Veillard - 1.0.4-1 +- qemu: support passthrough for iscsi disks +- various S390 improvements +- various LXC bugs fixes and improvements +- Add API for thread cancellation +- various bug fixes and improvements + +* Tue Mar 5 2013 Daniel Veillard - 1.0.3-1 +- Introduce virDomainMigrate*CompressionCache APIs +- Introduce virDomainGetJobStats API +- Add basic support for VDI images +- Introduce API virNodeDeviceLookupSCSIHostByWWN +- Various locking improvements +- a lot of bug fixes and overall improvements + * Wed Jan 30 2013 Daniel Veillard - 1.0.2-1 - LXC improvements - S390 architecture improvement @@ -2341,7 +2696,7 @@ fi * Fri Apr 3 2009 Daniel Veillard - 0.6.2-1 - release of 0.6.2 -* Fri Mar 4 2009 Daniel Veillard - 0.6.1-1 +* Wed Mar 4 2009 Daniel Veillard - 0.6.1-1 - release of 0.6.1 * Sat Jan 31 2009 Daniel Veillard - 0.6.0-1 @@ -2480,7 +2835,7 @@ fi - it's pkgconfig not pgkconfig ! * Mon Nov 6 2006 Daniel Veillard 0.1.8-2 -- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel +- fixing spec file, added %%dist, -devel requires pkgconfig and xen-devel - Resolves: rhbz#202320 * Mon Oct 16 2006 Daniel Veillard 0.1.8-1