libvirt.spec.in: Specfile enhancements for minimal

"client only" build (Ben Guthro).
This commit is contained in:
Richard W.M. Jones 2008-09-17 14:09:13 +00:00
parent 04e9e1b2a6
commit 422311ff32
2 changed files with 107 additions and 10 deletions

View File

@ -1,3 +1,8 @@
Wed Sep 17 15:03:00 BST 2008 Richard W.M. Jones <rjones@redhat.com>
* libvirt.spec.in: Specfile enhancements for minimal
"client only" build (Ben Guthro).
Wed Sep 17 15:03:00 BST 2008 Richard W.M. Jones <rjones@redhat.com> Wed Sep 17 15:03:00 BST 2008 Richard W.M. Jones <rjones@redhat.com>
* configure.in, src/qemu_driver.h, src/qemu_driver.c: KVM * configure.in, src/qemu_driver.h, src/qemu_driver.c: KVM

View File

@ -1,11 +1,15 @@
# -*- rpm-spec -*- # -*- rpm-spec -*-
%define with_xen 1 %define with_xen 0%{!?_without_xen:1}
%define with_xen_proxy 1 %define with_xen_proxy 0%{!?_without_xen_proxy:1}
%define with_qemu 1 %define with_qemu 0%{!?_without_qemu:1}
%define with_openvz 1 %define with_openvz 0%{!?_without_openvz:1}
%define with_lxc 1 %define with_lxc 0%{!?_without_lxc:1}
%define with_polkit 0 %define with_sasl 0%{!?_without_sasl:1}
%define with_avahi 0%{!?_without_avahi:1}
%define with_polkit 0%{!?_without_polkit:0}
%define with_python 0%{!?_without_python:1}
%define with_libvirtd 0%{!?_without_libvirtd:1}
# Xen is available only on i386 x86_64 ia64 # Xen is available only on i386 x86_64 ia64
%ifnarch i386 i686 x86_64 ia64 %ifnarch i386 i686 x86_64 ia64
@ -23,7 +27,7 @@
%endif %endif
%if 0%{fedora} >= 8 %if 0%{fedora} >= 8
%define with_polkit 1 %define with_polkit 0%{!?_without_polkit:1}
%define with_xen_proxy 0 %define with_xen_proxy 0
%endif %endif
@ -46,10 +50,12 @@ Requires: iptables
# So remote clients can access libvirt over SSH tunnel # So remote clients can access libvirt over SSH tunnel
# (client invokes 'nc' against the UNIX socket on the server) # (client invokes 'nc' against the UNIX socket on the server)
Requires: nc Requires: nc
%if %{with_sasl}
Requires: cyrus-sasl Requires: cyrus-sasl
# Not technically required, but makes 'out-of-box' config # Not technically required, but makes 'out-of-box' config
# work correctly & doesn't have onerous dependencies # work correctly & doesn't have onerous dependencies
Requires: cyrus-sasl-md5 Requires: cyrus-sasl-md5
%endif
%if %{with_polkit} %if %{with_polkit}
Requires: PolicyKit >= 0.6 Requires: PolicyKit >= 0.6
%endif %endif
@ -82,14 +88,18 @@ BuildRequires: readline-devel
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: gettext BuildRequires: gettext
BuildRequires: gnutls-devel BuildRequires: gnutls-devel
%if %{with_avahi}
BuildRequires: avahi-devel BuildRequires: avahi-devel
%endif
BuildRequires: libselinux-devel BuildRequires: libselinux-devel
BuildRequires: dnsmasq BuildRequires: dnsmasq
BuildRequires: bridge-utils BuildRequires: bridge-utils
%if %{with_qemu} %if %{with_qemu}
BuildRequires: qemu BuildRequires: qemu
%endif %endif
%if %{with_sasl}
BuildRequires: cyrus-sasl-devel BuildRequires: cyrus-sasl-devel
%endif
%if %{with_polkit} %if %{with_polkit}
BuildRequires: PolicyKit-devel >= 0.6 BuildRequires: PolicyKit-devel >= 0.6
%endif %endif
@ -133,6 +143,7 @@ Obsoletes: libvir-devel
Includes and documentations for the C library providing an API to use Includes and documentations for the C library providing an API to use
the virtualization capabilities of recent versions of Linux (and other OSes). the virtualization capabilities of recent versions of Linux (and other OSes).
%if %{with_python}
%package python %package python
Summary: Python bindings for the libvirt library Summary: Python bindings for the libvirt library
Group: Development/Libraries Group: Development/Libraries
@ -144,6 +155,7 @@ The libvirt-python package contains a module that permits applications
written in the Python programming language to use the interface written in the Python programming language to use the interface
supplied by the libvirt library to use the virtualization capabilities supplied by the libvirt library to use the virtualization capabilities
of recent versions of Linux (and other OSes). of recent versions of Linux (and other OSes).
%endif
%prep %prep
%setup -q %setup -q
@ -165,10 +177,35 @@ of recent versions of Linux (and other OSes).
%define _without_lxc --without-lxc %define _without_lxc --without-lxc
%endif %endif
%if ! %{with_sasl}
%define _without_sasl --without-sasl
%endif
%if ! %{with_avahi}
%define _without_avahi --without-avahi
%endif
%if ! %{with_polkit}
%define _without_polkit --without-polkit
%endif
%if ! %{with_python}
%define _without_python --without-python
%endif
%if ! %{with_libvirtd}
%define _without_libvirtd --without-libvirtd
%endif
%configure %{?_without_xen} \ %configure %{?_without_xen} \
%{?_without_qemu} \ %{?_without_qemu} \
%{?_without_openvz} \ %{?_without_openvz} \
%{?_without_lxc} \ %{?_without_lxc} \
%{?_without_sasl} \
%{?_without_avahi} \
%{?_without_polkit} \
%{?_without_python} \
%{?_without_libvirtd} \
--with-init-script=redhat \ --with-init-script=redhat \
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \ --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
--with-remote-file=%{_localstatedir}/run/libvirtd.pid --with-remote-file=%{_localstatedir}/run/libvirtd.pid
@ -190,6 +227,7 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/images/
# Default dir for kernel+initrd images defnied in SELinux policy # Default dir for kernel+initrd images defnied in SELinux policy
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/boot/ install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/boot/
%if %{with_qemu}
# We don't want to install /etc/libvirt/qemu/networks in the main %files list # We don't want to install /etc/libvirt/qemu/networks in the main %files list
# because if the admin wants to delete the default network completely, we don't # because if the admin wants to delete the default network completely, we don't
# want to end up re-incarnating it on every RPM upgrade. # want to end up re-incarnating it on every RPM upgrade.
@ -200,14 +238,31 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
# Strip auto-generated UUID - we need it generated per-install # Strip auto-generated UUID - we need it generated per-install
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
%endif
%find_lang %{name} %find_lang %{name}
# If we are not building with certain options, we need to remove files
# so that we don't get Installed (but unpackaged) errors
rm -rf $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/libvirt
rm -rf $RPM_BUILD_ROOT%{_includedir}/libvirt
rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*.so
rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libvirt.pc
%if ! %{with_python}
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
%endif
%if ! %{with_qemu}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
%endif
%clean %clean
rm -fr %{buildroot} rm -fr %{buildroot}
%post %post
/sbin/ldconfig /sbin/ldconfig
%if %{with_libvirtd}
# We want to install the default network for initial RPM installs # We want to install the default network for initial RPM installs
# or on the first upgrade from a non-network aware libvirt only. # 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 # We check this by looking to see if the daemon is already installed
@ -222,12 +277,15 @@ then
fi fi
/sbin/chkconfig --add libvirtd /sbin/chkconfig --add libvirtd
%endif
%preun %preun
%if %{with_libvirtd}
if [ $1 = 0 ]; then if [ $1 = 0 ]; then
/sbin/service libvirtd stop 1>/dev/null 2>&1 /sbin/service libvirtd stop 1>/dev/null 2>&1
/sbin/chkconfig --del libvirtd /sbin/chkconfig --del libvirtd
fi fi
%endif
%postun %postun
/sbin/ldconfig /sbin/ldconfig
@ -240,37 +298,69 @@ fi
%{_bindir}/virsh %{_bindir}/virsh
%{_libdir}/lib*.so.* %{_libdir}/lib*.so.*
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
%if %{with_qemu}
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/ %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/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
%endif
%if %{with_libvirtd}
%{_sysconfdir}/rc.d/init.d/libvirtd %{_sysconfdir}/rc.d/init.d/libvirtd
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%endif
%if %{with_qemu}
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%endif
%if %{with_sasl}
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%endif
%if %{with_qemu}
%dir %{_datadir}/libvirt/ %dir %{_datadir}/libvirt/
%dir %{_datadir}/libvirt/networks/ %dir %{_datadir}/libvirt/networks/
%{_datadir}/libvirt/networks/default.xml %{_datadir}/libvirt/networks/default.xml
%endif
%dir %{_localstatedir}/run/libvirt/ %dir %{_localstatedir}/run/libvirt/
%dir %{_localstatedir}/lib/libvirt/ %dir %{_localstatedir}/lib/libvirt/
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/
%{_datadir}/augeas/lenses/libvirtd.aug
%if %{with_qemu}
%{_datadir}/augeas/lenses/libvirtd_qemu.aug %{_datadir}/augeas/lenses/libvirtd_qemu.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%endif
%if %{with_libvirtd}
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%endif
%if %{with_polkit} %if %{with_polkit}
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
%endif %endif
%if %{with_qemu}
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%endif
%if %{with_xen_proxy} %if %{with_xen_proxy}
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy %attr(4755, root, root) %{_libexecdir}/libvirt_proxy
%endif %endif
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
%if %{with_lxc} %if %{with_lxc}
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
%endif %endif
%if %{with_libvirtd}
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
%attr(0755, root, root) %{_sbindir}/libvirtd %attr(0755, root, root) %{_sbindir}/libvirtd
%endif
%doc docs/*.rng %doc docs/*.rng
%doc docs/*.xml %doc docs/*.xml
@ -290,6 +380,7 @@ fi
%doc docs/examples %doc docs/examples
%doc docs/libvirt-api.xml %doc docs/libvirt-api.xml
%if %{with_python}
%files python %files python
%defattr(-, root, root) %defattr(-, root, root)
@ -300,6 +391,7 @@ fi
%doc python/TODO %doc python/TODO
%doc python/libvirtclass.txt %doc python/libvirtclass.txt
%doc docs/examples/python %doc docs/examples/python
%endif
%changelog %changelog
* Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1 * Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1