diff --git a/README.md b/README.md index a5ec47e..92a2fee 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # libvirt +Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). + diff --git a/libvirt-1.0.5-tirpc.patch b/libvirt-1.0.5-tirpc.patch new file mode 100644 index 0000000..685428c --- /dev/null +++ b/libvirt-1.0.5-tirpc.patch @@ -0,0 +1,13 @@ +--- libvirt-1.0.5.orig/src/lxc/lxc_monitor_protocol.x 2013-03-19 05:58:31.000000000 +0100 ++++ libvirt-1.0.5/src/lxc/lxc_monitor_protocol.x 2013-05-29 10:25:03.534046146 +0200 +@@ -4,6 +4,10 @@ + * the libvirt_lxc helper program. + */ + ++%#ifdef HAVE_XDR_U_INT64_T ++%# define xdr_uint64_t xdr_u_int64_t ++%#endif ++ + enum virLXCMonitorExitStatus { + VIR_LXC_MONITOR_EXIT_STATUS_ERROR, + VIR_LXC_MONITOR_EXIT_STATUS_SHUTDOWN, diff --git a/libvirt.initscript b/libvirt.initscript new file mode 100644 index 0000000..fcdb05c --- /dev/null +++ b/libvirt.initscript @@ -0,0 +1,115 @@ +#!/bin/sh + +# the following is the LSB init header see +# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV +# +### BEGIN INIT INFO +# Provides: libvirtd +# Required-Start: $network messagebus +# Should-Start: $named +# Should-Start: xend +# Should-Start: hal +# Should-Start: avahi +# Required-Stop: $network messagebus +# Should-Stop: $named +# Default-Start: 3 4 5 +# Short-Description: daemon for libvirt virtualization API +# Description: This is a daemon for managing guest instances +# and libvirt virtual networks +# See http://libvirt.org +### END INIT INFO + +# the following is chkconfig init header +# +# libvirtd: guest and virtual network management daemon +# +# chkconfig: 345 97 03 +# description: This is a daemon for managing guest instances +# and libvirt virtual networks +# See http://libvirt.org +# +# processname: libvirtd +# pidfile: /var/run/libvirtd.pid +# + +# Sanity checks. +[ -x /usr/sbin/libvirtd ] || exit 0 + +# Source function library. +. /etc/rc.d/init.d/functions + +SERVICE=libvirtd +PROCESS=libvirtd + +LIBVIRTD_CONFIG= +LIBVIRTD_ARGS= +KRB5_KTNAME=/etc/libvirt/krb5.tab + +test -f /etc/sysconfig/libvirtd && . /etc/sysconfig/libvirtd + +LIBVIRTD_CONFIG_ARGS= +if [ -n "$LIBVIRTD_CONFIG" ] +then + LIBVIRTD_CONFIG_ARGS="--config $LIBVIRTD_CONFIG" +fi + +RETVAL=0 + +start() { + echo -n $"Starting $SERVICE daemon: " + mkdir -p /var/cache/libvirt + rm -rf /var/cache/libvirt/* + KRB5_KTNAME=$KRB5_KTNAME daemon --check $SERVICE $PROCESS --daemon $LIBVIRTD_CONFIG_ARGS $LIBVIRTD_ARGS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE +} + +stop() { + echo -n $"Stopping $SERVICE daemon: " + + killproc $PROCESS + RETVAL=$? + echo + if [ $RETVAL -eq 0 ]; then + rm -f /var/lock/subsys/$SERVICE + rm -f /var/run/$SERVICE.pid + rm -rf /var/cache/libvirt/* + fi +} + +restart() { + stop + start +} + +reload() { + echo -n $"Reloading $SERVICE configuration: " + + killproc $PROCESS -HUP + RETVAL=$? + echo + return $RETVAL +} + +# See how we were called. +case "$1" in + start|stop|restart|reload) + $1 + ;; + status) + status $PROCESS + RETVAL=$? + ;; + force-reload) + reload + ;; + condrestart|try-restart) + [ -f /var/lock/subsys/$SERVICE ] && restart || : + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" + exit 1 + ;; +esac +exit $RETVAL diff --git a/libvirt.spec b/libvirt.spec new file mode 100644 index 0000000..61f0247 --- /dev/null +++ b/libvirt.spec @@ -0,0 +1,370 @@ +%define qemu_user root +%define qemu_group root + +Name: libvirt +Version: 1.2.4 +Release: 1mamba +Summary: Virtualization API +Group: Development/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Davide Madrisan +URL: http://libvirt.org +Source0: http://libvirt.org/sources/libvirt-%{version}.tar.gz +Source1: libvirt.sysconfig +Source2: libvirt.initscript +Patch0: libvirt-1.0.5-tirpc.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libavahi-devel +BuildRequires: libblkid-devel +BuildRequires: libcares-devel +BuildRequires: libcurl-devel +BuildRequires: libdbus-devel +BuildRequires: libdevmapper-devel +BuildRequires: libe2fs-devel +BuildRequires: libgcrypt-devel +BuildRequires: libgnutls-devel +BuildRequires: libgpg-error-devel +BuildRequires: libidn-devel +BuildRequires: libkrb5-devel +BuildRequires: libncurses-devel +BuildRequires: libopenldap-devel +BuildRequires: libopenssl-devel +BuildRequires: libparted-devel +BuildRequires: libpython-devel +BuildRequires: libreadline-devel +BuildRequires: libsasl-devel +BuildRequires: libselinux-devel +BuildRequires: libsepol-devel +%ifarch %{ix86} x86_64 +BuildRequires: libsmbios-devel +%endif +BuildRequires: libssh2-devel +BuildRequires: libssp-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtasn1-devel +BuildRequires: libuuid-devel +BuildRequires: libxml2-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: libyajl-devel +BuildRequires: libpcap-devel >= 1.2 +Requires: dnsmasq +Requires: ebtables +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). + +%package client +Group: Development/Libraries +Summary: Client side library and utilities of the libvirt library + +%description client +Shared libraries and client binaries needed to access to the virtualization capabilities of recent versions of Linux (and other OSes). + +%package -n python-%{name} +Group: Development/Libraries +Summary: Python bindings for the libvirt library +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n python-%{name} +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). + +%package devel +Group: Development/Libraries +Summary: Static libraries and headers for %{name} +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). +This package contains static libraries and header files need for development. + +%prep +%setup -q +%patch0 -p1 + +%build +CPPFLAGS="%{optflags} -I%{_inclduedir}/tirpc" \ +CFLAGS="%{optflags} -I%{_includedir}/tirpc" \ +%configure \ + --with-xen \ + --with-systemd-daemon \ + --with-init-script=systemd \ + --with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid \ + --with-qemu-user=%{qemu_user} \ + --with-qemu-group=%{qemu_group} + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} + +install -D -m644 %{S:1} %{buildroot}%{_sysconfdir}/sysconfig/libvirtd +#install -D -m755 %{S:2} %{buildroot}%{_initrddir}/libvirtd + +install -d %{buildroot}%{_localstatedir}/log/libvirt/{lxc,uml,qemu} + +%find_lang %{name} + +rm -fr %{buildroot}%{_datadir}/doc/libvirt-%{version} +rm -fr %{buildroot}%{_datadir}/doc/libvirt-python-%{version} + +rm -f %{buildroot}%{_libdir}/*.a + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -ge 1 ]; then + systemctl -q daemon-reload + systemctl -q enable libvirtd +fi +exit 0 + +%preun +if [ $1 -eq 0 ]; then + systemctl -q disable libvirtd +fi +exit 0 + +%postun +if [ $1 -ge 1 ]; then + systemctl -q daemon-reload +fi +exit 0 + +%post client +if [ $1 -ge 1 ]; then + systemctl -q daemon-reload + /sbin/ldconfig +fi +: + +%postun client +if [ $1 -eq 0 ]; then + systemctl -q daemon-reload + /sbin/ldconfig +fi +: + +%files +%defattr(-,root,root) +%{_unitdir}/libvirtd.service +%{_unitdir}/virtlockd.service +%{_unitdir}/virtlockd.socket +%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf +%dir %{_sysconfdir}/libvirt +%dir %{_sysconfdir}/libvirt/qemu +%dir %{_sysconfdir}/libvirt/qemu/networks +%{_sysconfdir}/libvirt/qemu/networks/default.xml +%dir %{_sysconfdir}/libvirt/qemu/networks/autostart +%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml +%{_sysconfdir}/libvirt/nwfilter +%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd +%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf +%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf +%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf +%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.* +%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd +%{_bindir}/virt-host-validate +%{_bindir}/virt-login-shell +%{_sbindir}/libvirtd +%{_sbindir}/virtlockd +%dir %{_datadir}/libvirt +%dir %{_datadir}/libvirt/api +%{_datadir}/libvirt/api/libvirt-api.xml +%{_datadir}/libvirt/api/libvirt-lxc-api.xml +%{_datadir}/libvirt/libvirtLogo.png +%{_datadir}/augeas/lenses/libvirt_lockd.aug +%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug +%{_datadir}/augeas/lenses/tests/test_virtlockd.aug +%{_datadir}/augeas/lenses/virtlockd.aug +%{_datadir}/polkit-1/actions/org.libvirt.api.policy +%{_datadir}/systemtap/tapset/libvirt_*.stp +%dir %{_localstatedir}/log/libvirt +%dir %{_localstatedir}/log/libvirt/lxc +%dir %{_localstatedir}/log/libvirt/uml +%dir %{_localstatedir}/log/libvirt/qemu +%{_mandir}/man1/virt-host-validate.1* +%{_mandir}/man1/virt-login-shell.1* +%{_mandir}/man8/libvirtd.8* +%{_mandir}/man8/virtlockd.8* +%{_datadir}/libvirt/api/libvirt-qemu-api.xml +%doc AUTHORS COPYING.LESSER + +%files client -f %{name}.lang +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf +%{_unitdir}/libvirt-guests.service +%{_sysconfdir}/sysconfig/libvirt-guests +%{_bindir}/virsh +%{_bindir}/virt-xml-validate +%{_bindir}/virt-pki-validate +%{_libdir}/lib*.so.* +%dir %{_libdir}/libvirt +%dir %{_libdir}/libvirt/connection-driver +%{_libdir}/libvirt/connection-driver/libvirt_driver_interface.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_network.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_network.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_secret.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_storage.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_uml.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_uml.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so +%{_libdir}/libvirt/connection-driver/libvirt_driver_xen.la +%{_libdir}/libvirt/connection-driver/libvirt_driver_xen.so +%dir %{_libdir}/libvirt/lock-driver +%{_libdir}/libvirt/lock-driver/lockd.la +%{_libdir}/libvirt/lock-driver/lockd.so +%{_prefix}/lib/sysctl.d/libvirtd.conf +%{_libexecdir}/libvirt_lxc +%{_libexecdir}/libvirt_iohelper +%{_libexecdir}/libvirt_parthelper +%{_libexecdir}/libvirt-guests.sh +%{_datadir}/polkit-1/actions/org.libvirt.unix.policy +%{_datadir}/augeas/lenses/libvirtd.aug +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/libvirtd_qemu.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug +%dir %{_datadir}/libvirt +%{_datadir}/libvirt/cpu_map.xml +%{_datadir}/libvirt/schemas/*.rng +%{_mandir}/man1/virsh.* +%{_mandir}/man1/virt-xml-validate.* +%{_mandir}/man1/virt-pki-validate.* +#%doc COPYING + +%files devel +%defattr(-,root,root) +%{_libdir}/*.la +%{_libdir}/lib*.so +%{_includedir}/libvirt/*.h +%dir %{_datadir}/gtk-doc/html/libvirt +%{_datadir}/gtk-doc/html/libvirt/* +%{_libdir}/pkgconfig/libvirt.pc +#%doc docs/*.html docs/*.gif docs/*.png docs/html +#%doc docs/libvirt-api.xml +#%doc ChangeLog NEWS README TODO + +%changelog +* Sun May 04 2014 Automatic Build System 1.2.4-1mamba +- automatic version update by autodist + +* Sat May 03 2014 Silvan Calarco 1.2.3-2mamba +- rebuild with systemd support +- require dnsmasq and ebtables + +* Tue Apr 01 2014 Automatic Build System 1.2.3-1mamba +- automatic version update by autodist + +* Mon Mar 03 2014 Automatic Build System 1.2.2-1mamba +- automatic version update by autodist + +* Thu Jan 16 2014 Automatic Build System 1.2.1-1mamba +- automatic version update by autodist + +* Sat Dec 07 2013 Automatic Build System 1.2.0-1mamba +- automatic version update by autodist + +* Mon Nov 04 2013 Automatic Build System 1.1.4-1mamba +- automatic version update by autodist + +* Tue Oct 01 2013 Automatic Build System 1.1.3-1mamba +- automatic version update by autodist + +* Wed Sep 04 2013 Automatic Build System 1.1.2-1mamba +- automatic version update by autodist + +* Tue Jul 30 2013 Automatic Build System 1.1.1-1mamba +- automatic version update by autodist + +* Tue Jul 02 2013 Automatic Build System 1.1.0-1mamba +- automatic version update by autodist + +* Wed Jun 05 2013 Automatic Build System 1.0.6-1mamba +- automatic version update by autodist + +* Thu May 30 2013 Automatic Build System 1.0.5-1mamba +- automatic version update by autodist + +* Mon Sep 24 2012 Automatic Build System 0.10.2-1mamba +- automatic version update by autodist + +* Fri Aug 31 2012 Automatic Build System 0.10.1-1mamba +- automatic version update by autodist + +* Wed Aug 29 2012 Automatic Build System 0.10.0-1mamba +- automatic version update by autodist + +* Tue Jul 31 2012 Automatic Build System 0.9.13-1mamba +- automatic version update by autodist + +* Sat Jan 07 2012 Automatic Build System 0.9.9-1mamba +- automatic version update by autodist + +* Thu Dec 08 2011 Automatic Build System 0.9.8-1mamba +- automatic version update by autodist + +* Tue Nov 15 2011 Automatic Build System 0.9.7-1mamba +- automatic version update by autodist + +* Sat Oct 01 2011 Automatic Build System 0.9.6-1mamba +- automatic version update by autodist + +* Wed Aug 03 2011 Automatic Build System 0.9.4-1mamba +- automatic version update by autodist + +* Mon Jul 04 2011 Automatic Build System 0.9.3-1mamba +- automatic update by autodist + +* Sun Jun 19 2011 Automatic Build System 0.9.2-1mamba +- automatic update by autodist + +* Thu May 12 2011 Automatic Build System 0.9.1-1mamba +- automatic update by autodist + +* Mon Jan 31 2011 Automatic Build System 0.8.7-1mamba +- automatic update by autodist + +* Wed Dec 01 2010 Automatic Build System 0.8.6-1mamba +- automatic update by autodist + +* Wed Sep 29 2010 Automatic Build System 0.8.4-1mamba +- automatic update by autodist + +* Tue Jun 22 2010 Silvan Calarco 0.8.1-1mamba +- update to 0.8.1 +- rebuilt with Xen support + +* Fri May 28 2010 Davide Madrisan 0.7.7-2mamba +- add required directories in %{_localstatedir}/log/libvirt + +* Sun Mar 21 2010 Davide Madrisan 0.7.7-1mamba +- update to 0.7.7 + +* Mon Sep 14 2009 Davide Madrisan 0.7.0-1mamba +- package created by autospec diff --git a/libvirt.sysconfig b/libvirt.sysconfig new file mode 100644 index 0000000..fe4596a --- /dev/null +++ b/libvirt.sysconfig @@ -0,0 +1,9 @@ +# Override the default config file +#LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf + +# Listen for TCP/IP connections +# NB. must setup TLS/SSL keys prior to using this +#LIBVIRTD_ARGS="--listen" + +# Override Kerberos service keytab for SASL/GSSAPI +#KRB5_KTNAME=/etc/libvirt/krb5.tab