libvirt/libvirt.spec

396 lines
16 KiB
RPMSpec

#
# spec file for package libvirt (Version 0.4.0)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: libvirt
BuildRequires: PolicyKit-devel avahi-devel bridge-utils cyrus-sasl-devel fdupes gettext gnutls-devel libxml2-devel ncurses-devel pkg-config python-devel readline-devel xen-devel xhtml-dtd
# Only for directory ownership:
BuildRequires: gtk-doc
Url: http://libvirt.org/
License: LGPL v2.1 or later
Group: Development/Libraries/C and C++
AutoReqProv: yes
Version: 0.4.0
Release: 3
Summary: A C toolkit to interract with the virtualization capabilities of Linux
Requires: dnsmasq
Requires: bridge-utils
Requires: iptables
Requires: cyrus-sasl
# Not technically required, but makes 'out-of-box' config
# work correctly & doesn't have onerous dependancies
Recommends: cyrus-sasl-digestmd5
Requires: PolicyKit >= 0.6
Source0: %{name}-%{version}.tar.bz2
Source1: libvirtd.init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
%define _libexecdir %{_prefix}/lib/%{name}
%description
Libvirt is a C toolkit to interract with the virtualization
capabilities Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
initially for the Xen paravirtualization but should be able to
integrate other virtualization mechanisms if needed.
Authors:
--------
Daniel Veillard <veillard@redhat.com>
Karel Zak <kzak@redhat.com>
%package devel
Summary: A C toolkit to interract with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++
Requires: %{name} = %{version} libxml2-devel xen-devel
%description devel
Libvirt is a C toolkit to interract with the virtualization
capabilities Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
initially for the Xen paravirtualization but should be able to
integrate other virtualization mechanisms if needed.
Authors:
--------
Daniel Veillard <veillard@redhat.com>
Karel Zak <kzak@redhat.com>
%package doc
Summary: A C toolkit to interract with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description doc
Libvirt is a C toolkit to interract with the virtualization
capabilities Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
initially for the Xen paravirtualization but should be able to
integrate other virtualization mechanisms if needed.
Authors:
--------
Daniel Veillard <veillard@redhat.com>
Karel Zak <kzak@redhat.com>
%package python
Summary: A C toolkit to interract with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%py_requires
%description python
Libvirt is a C toolkit to interract with the virtualization
capabilities Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
initially for the Xen paravirtualization but should be able to
integrate other virtualization mechanisms if needed.
Authors:
--------
Daniel Veillard <veillard@redhat.com>
Karel Zak <kzak@redhat.com>
%prep
%setup -q
rm po/no.*
%build
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure --with-init-script=none \
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
--with-remote-file=%{_localstatedir}/run/libvirtd.pid \
--with-xen-proxy=no
make DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
cd docs/examples ; make index.html ; cd ../..
%install
%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{name}/
cp -a docs/{*.html,*.gif,*.rng,libvirt*.xml} $RPM_BUILD_ROOT%{_docdir}/%{name}
mkdir $RPM_BUILD_ROOT%{_docdir}/%{name}/examples
install -m 0644 docs/examples/{*.c,*.html} $RPM_BUILD_ROOT%{_docdir}/%{name}/examples
# remove currently unsupported locale
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
# for now, do not install the default network definition
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
mkdir -p $RPM_BUILD_ROOT/var/run/libvirtd
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*}
install -m 0644 docs/examples/python/{*.py,*.xml,README} $RPM_BUILD_ROOT%{_docdir}/%{name}-python/examples
rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a
ln_dupes()
{
target=""
fdupes -r "$1" | while read file; do
if [ -z "$file" ] || [ -z "$target" ]; then
target="$file"
continue
fi
ln -sf "${target#.}" "$file"
done
}
(
cd $RPM_BUILD_ROOT
ln_dupes .%{_docdir}/%{name}
ln_dupes ./usr/share/locale
)
# init script
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/libvirtd
ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT/usr/sbin/rclibvirtd
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig
%{fillup_and_insserv -f -y libvirtd}
%preun
%stop_on_removal libvirtd
%postun
/sbin/ldconfig
%restart_on_update libvirtd
%insserv_cleanup
%files -f %{name}.lang
%defattr(-, root, root)
%{_bindir}/virsh
%{_sbindir}/libvirtd
%doc %dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/[CNRT]*
%doc %{_docdir}/%{name}/AUTHORS
%doc %{_docdir}/%{name}/examples
%doc %{_mandir}/man1/virsh.1*
%{_libdir}/*.so.*
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
%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 /var/run/libvirt/
%config /etc/init.d/libvirtd
%{_sbindir}/rclibvirtd
%config %{_sysconfdir}/libvirt/libvirtd.conf
%config %{_sysconfdir}/libvirt/qemu.conf
%config %{_sysconfdir}/sasl2/libvirt.conf
%{_datadir}/PolicyKit/policy/libvirtd.policy
%files devel
%defattr(-, root, root)
%{_includedir}/libvirt
%{_libdir}/*.so
%{_libdir}/pkgconfig/libvirt.pc
%files doc
%defattr(-, root, root)
%{_datadir}/gtk-doc/html/libvirt
%doc %{_docdir}/%{name}/*.gif
%doc %{_docdir}/%{name}/*.html
%doc %{_docdir}/%{name}/*.rng
%doc %{_docdir}/%{name}/*.xml
%doc %{_docdir}/%{name}/html
%files python
%defattr(-, root, root)
%doc %{_docdir}/%{name}-python
%{py_sitedir}/libvirt.py*
%{py_sitedir}/libvirtmod*
%changelog
* Wed Jan 09 2008 - jfehlig@novell.com
- Remove Requires of nc package. netcat is the equivalent but it
does not support unix domain sockets so no need to require it
either.
* Tue Jan 08 2008 - coolo@suse.de
- do not require a non existant package, but change it to a recommend
to digestmd5
* Fri Jan 04 2008 - jfehlig@novell.com
- Updated to libvirt-0.4.0
- SASL based authentication for libvirt remote support
- PolicyKit authentication
- Documentation: example files for QEMU and libvirtd configuations,
authentication documentation updates
- Bug fixes, improvements and code cleanup
* Tue Oct 09 2007 - jfehlig@novell.com
- Updated to libvirt 0.3.3
- Avahi mDNS daemon export
- NUMA support
- Bug fixes
- Cleanup rpmlint warnings
* Mon Oct 08 2007 - jfehlig@novell.com
- Removed 'jobs' option from make invocation in spec file. Appears
to be a subtle dependency issue in one of the makefiles which is
causing problems with generation of python bindings when jobs > 1.
Bug #329032.
* Mon Aug 20 2007 - jfehlig@novell.com
- Added init script for libvirtd. libvirtd is needed to support
management of qemu/kvm guests. Some Xen networking is handled
through libvirt as well - bug #298021.
* Mon Jul 23 2007 - jfehlig@novell.com
- Update to libvirt-0.3.0
- Secure Remote support
- Documentation: remote support, description of the URI connection
strings, update of virsh man page, matrix of libvirt API/hypervisor
support with version informations
- Bug fixes: examples Makefile.am generation, SetMem fix, URI
handling and ordering of drivers, fix virsh help without hypervisor,
id marshalling fix, fix virConnectGetMaxVcpus on remote, avoid
a realloc leak, scheduler parameters handling for Xen, various
early remote bug fixes, remove virsh leaks of domains references,
configCache refill bug, fix XML serialization bugs
- Improvements: QEmu switch to XDR-based protocol, device attach/detach
commands OCaml bindings, new entry points virDomainGetConnect and
virNetworkGetConnect useful for bindings, reunitifaction of remote
and qemu daemon under a single libvirtd with a config file
- Cleanups: parsing of connection URIs, messages from virsh,
Coverage files, Solaris fixes, avoid [r]index calls, release
information in Xen backend, virsh cpupin command cleanups,
xen:/// suppport as standard Xen URI, improve driver
selection/decline mechanism, error reporting on XML dump,
Remove unused virDomainKernel structure, daemon event loop event
handling, various unifications cleanup in the daemon merging,
internal file and timer monitoring API, remove libsysfs dependancy,
call brctl program directly, virBuffer functions cleanups,
make init script LSB compliant, error handling on lookup functions,
remove internal virGetDomainByID, revamp of xen subdrivers interfaces
- Localization updates
* Tue Jun 12 2007 - ccoffing@novell.com
- Update to libvirt-0.2.3.
- Fix duplicate files found by rpmlint.
* Wed May 23 2007 - ccoffing@novell.com
- Fix rpmlint errors.
* Fri Apr 27 2007 - ccoffing@novell.com
- Update to libvirt-0.2.2.
* Wed Mar 07 2007 - sbrabec@suse.cz
- Created -doc subpackage (#248813).
- Do not remove valid locales.
- Fixed docdir destination.
- Build with CFLAGS.
- Spec file cleanup.
* Tue Feb 20 2007 - jfehlig@novell.com
- Removed usr/lib/libvirt_proxy setuid binary from package. Fixes
bug #246610.
* Fri Feb 16 2007 - jfehlig@novell.com
- Updated to latest release. Many of the issues seen in virt-manager
have been caused by bugs / missing functionality in libvirt. This
upate provides a better basis for virt-manager.
* Wed Jan 10 2007 - jfehlig@novell.com
- Updated to latest release, version 0.1.10. Submitting to SLES10 SP1
to provide base functionality for FATE feature 301181.
- more localizations
- bug fixes:
- VCPU info breakages on xen 3.0.3
- xenDaemonListDomains buffer overflow (Daniel Berrange)
- reference count bug when creating Xen domains (Daniel Berrange)
- improvements:
- support graphic framebuffer for Xen paravirt (Daniel Berrange)
- VNC listen IP range support (Daniel Berrange)
- support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange)
* Fri Dec 08 2006 - jfehlig@novell.com
- Updated to latest release, version 0.1.9.
- python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking informations for a domain
- some refactoring to use the driver for all entry points
- better error reporting (Daniel Berrange)
- fix OS reporting when running as non-root
- provide XML parsing errors
- extension of the test framework (Daniel Berrange)
- fix the reconnect regression test
- python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect
- separate the notion of maximum memory and current use at the XML level
- Fix a memory leak (Daniel Berrange)
- add support for shareable drives
- add support for non-bridge style networking configs for guests(Daniel Berrange)
- python bindings: fix unsigned long marshalling (Daniel Berrange)
- new config APIs virConfNew() and virConfSetValue() to build configs from scratch
- hot plug device support based on Michel Ponceau patch
- added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)
- special device model for HVM guests (Daniel Berrange)
- add API to dump core of domains (but requires a patched xend)
- pygrub bootloader informations take over <os> informations
- updated the localization strings
* Fri Oct 20 2006 - jfehlig@novell.com
- Updated to latest release, version 0.1.8.
- Bug for system with page size != 4k
- vcpu number initialization (Philippe Berthault)
- don't label crashed domains as shut off (Peter Vetere)
- fix virsh man page (Noriko Mizumoto)
- blktapdd support for alternate drivers like blktap (Daniel Berrange)
- memory leak fixes (xend interface and XML parsing) (Daniel Berrange)
- compile fix
- mlock/munlock size fixes (Daniel Berrange)
- improve error reporting
- Updated to latest release, version 0.1.7.
- fix a memory bug on getting vcpu informations from xend (Daniel Berrange)
- fix another problem in the hypercalls change in Xen changeset
86d26e6ec89b when getting domain informations (Daniel Berrange)
* Tue Sep 26 2006 - jfehlig@novell.com
- Updated to latest release, version 0.1.6. This release includes
fix in hypercall driver so local patch has been removed.
* Wed Sep 13 2006 - jfehlig@novell.com
- Fixed bug in hypercall driver introduced in version 0.1.5.
Patch sumbmitted upstream and included locally until next release.
* Mon Sep 11 2006 - jfehlig@novell.com
- Updated to latest release, version 0.1.5
- Support for new hypercalls change in Xen changeset 86d26e6ec89b
- bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
(Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
string cast bug when handling error in python (Pete Vetere), HTTP
500 xend error code handling (Pete Vetere and Daniel Berrange)
- improvements: test suite for SEXPR <-> XML format conversions (Daniel
Berrange), virsh output regression suite (Daniel Berrange), new environ
variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
(Daniel Berrange), graphical console support for paravirt guests
(Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
early work on defined (not running) domains (Daniel Berrange),
virsh output improvement (Daniel Berrange
* Mon Aug 28 2006 - jfehlig@novell.com
- Updated to latest release, version 0.1.4
- bug fixes: spec file fix (Mark McLoughlin), error report problem (with
Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
function (Mark McLoughlin), fix python detection code, remove duplicate
initialization errors (Daniel Berrange)
- improvements: UUID in XML description (Peter Vetere), proxy code
cleanup, virtual CPU and affinity support + virsh support (Michel
Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
for console in XML (Daniel Berrange), added XML dump to driver and proxy
support (Daniel Berrange), extention of boot options with support for
floppy and cdrom (Daniel Berrange), features block in XML to report/ask
PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
operations when using read-only connection, large improvements to test
driver (Daniel Berrange)
- documentation: spelling (Daniel Berrange), test driver examples.
* Wed Aug 16 2006 - jfehlig@novell.com
- Added ExclusiveArch tag so as to only build on x86 and x86_64
* Mon Jul 31 2006 - jfehlig@novell.com
- initial submission of libvirt package, version 0.1.3