From 17e65f490cd0f5404955fc7f5600058840fab3bc Mon Sep 17 00:00:00 2001 From: Petteri Räty Date: Fri, 19 Mar 2010 15:34:09 +0000 Subject: Add libvirt-0.7.7. svn path=/; revision=187 --- app-emulation/libvirt/ChangeLog | 317 +++++++++++++++++++++ app-emulation/libvirt/Manifest | 7 + ...ibvirt-0.7.6-virt-pki-validate-sysconfdir.patch | 27 ++ app-emulation/libvirt/files/libvirtd.confd | 15 + app-emulation/libvirt/files/libvirtd.init | 73 +++++ app-emulation/libvirt/libvirt-0.7.7.ebuild | 206 +++++++++++++ app-emulation/libvirt/metadata.xml | 43 +++ 7 files changed, 688 insertions(+) create mode 100644 app-emulation/libvirt/ChangeLog create mode 100644 app-emulation/libvirt/Manifest create mode 100644 app-emulation/libvirt/files/libvirt-0.7.6-virt-pki-validate-sysconfdir.patch create mode 100644 app-emulation/libvirt/files/libvirtd.confd create mode 100755 app-emulation/libvirt/files/libvirtd.init create mode 100644 app-emulation/libvirt/libvirt-0.7.7.ebuild create mode 100644 app-emulation/libvirt/metadata.xml diff --git a/app-emulation/libvirt/ChangeLog b/app-emulation/libvirt/ChangeLog new file mode 100644 index 0000000..9f159ee --- /dev/null +++ b/app-emulation/libvirt/ChangeLog @@ -0,0 +1,317 @@ +# ChangeLog for app-emulation/libvirt +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.51 2010/02/12 12:36:21 flameeyes Exp $ + + 12 Feb 2010; Diego E. Pettenò + libvirt-0.7.6-r1.ebuild: + Ouch, inverted logic. + + 12 Feb 2010; Diego E. Pettenò + libvirt-0.7.6-r1.ebuild: + Add workaround for bug #275073. Proper fix sent upstream. + +*libvirt-0.7.6-r1 (04 Feb 2010) + + 04 Feb 2010; Doug Goldstein -libvirt-0.7.6.ebuild, + +libvirt-0.7.6-r1.ebuild, + +files/libvirt-0.7.6-virt-pki-validate-sysconfdir.patch: + fix virt-pki-validate. clean up some elog/ewarn messages + +*libvirt-0.7.6 (03 Feb 2010) + + 03 Feb 2010; Doug Goldstein +libvirt-0.7.6.ebuild: + version bump. fix bug #302443 & bug #293416 + + 06 Jan 2010; Doug Goldstein libvirt-0.7.5.ebuild: + avahi support requires avahi to be built with USE=dbus, adding it as a USE + depend + + 23 Dec 2009; Diego E. Pettenò + libvirt-0.7.5.ebuild: + Disable static libraries by default and remove .la files. + +*libvirt-0.7.5 (23 Dec 2009) + + 23 Dec 2009; Diego E. Pettenò + -files/libvirt-0.6.2-enable-qemu-0-10-migration.patch, + -files/libvirt-0.6.2-fix-nosource-label.patch, + -files/libvirt-0.6.2-shared-readonly-label.patch, + -files/libvirt-0.6.3-hostdev-managed.patch, + -files/libvirt-0.6.3-kvm-85-argv-detection.patch, + -files/libvirt-0.6.3-kvm-img.patch, + -files/libvirt-0.6.3-print-ascii-uuid.patch, + -files/libvirt-0.6.3-refresh-qemu-caps.patch, + -files/libvirt-0.6.4-kvm-img.patch, + -files/libvirt-0.6.4-qemu-img-logic-fix.patch, -libvirt-0.7.2.ebuild, + -libvirt-0.7.4.ebuild, -libvirt-0.7.4-r1.ebuild, -libvirt-0.7.4-r2.ebuild, + +libvirt-0.7.5.ebuild, metadata.xml: + Version bump, and overdue cleanup. Drop kvm USE flag (qemu will work with + both, no special support is needed for that). Bump libxml2 requirement to + 2.7.6 so that Relax-NG schema validation is performed correctly. Restrict + tests as they seem to be broken especially in release. + + 23 Dec 2009; Lance Albertson libvirt-0.7.2.ebuild, + libvirt-0.7.4.ebuild, libvirt-0.7.4-r1.ebuild, libvirt-0.7.4-r2.ebuild: + Fix qemu dep to resolve package blocking issue between qemu and qemu-kvm when + both qemu and kvm USE flags are enabled #294179 + + 15 Dec 2009; Doug Goldstein metadata.xml: + change to virtualization herd + +*libvirt-0.7.4-r2 (11 Dec 2009) + + 11 Dec 2009; Diego E. Pettenò + +libvirt-0.7.4-r2.ebuild: + Add a new revision with two backports so that libvirtd does not crash when + a virtual machine is shut down. + +*libvirt-0.7.4-r1 (08 Dec 2009) + + 08 Dec 2009; Diego E. Pettenò + +libvirt-0.7.4-r1.ebuild: + Add a revision of libvirt that doesn't force you to install dnsmasq and + iptables (they are not mandatory!). + +*libvirt-0.7.4 (23 Nov 2009) + + 23 Nov 2009; Doug Goldstein +libvirt-0.7.4.ebuild: + version bump. switch to udev over hal for device info + + 23 Nov 2009; Doug Goldstein -libvirt-0.6.3-r3.ebuild, + -libvirt-0.6.4-r1.ebuild, -libvirt-0.6.5.ebuild, -libvirt-0.6.5-r1.ebuild, + libvirt-0.7.2.ebuild: + remove old versions. updates for kvm -> qemu-kvm move. + + 05 Nov 2009; Patrick Lauer libvirt-0.7.2.ebuild: + Tightening lvm dep for #290717 + + 27 Oct 2009; Patrick Lauer libvirt-0.7.2.ebuild: + Adding curl dep for #290797 + + 23 Oct 2009; Doug Goldstein -libvirt-0.7.0.ebuild, + -libvirt-0.7.1.ebuild: + remove incomplete ebuilds for 0.7.x + + 23 Oct 2009; Doug Goldstein libvirt-0.7.2.ebuild: + completely revamp the ebuild to be updated with new features present in + 0.7.2. Needs testing + +*libvirt-0.7.2 (21 Oct 2009) +*libvirt-0.7.1 (21 Oct 2009) +*libvirt-0.7.0 (21 Oct 2009) + + 21 Oct 2009; Doug Goldstein +libvirt-0.7.0.ebuild, + +libvirt-0.7.1.ebuild, +libvirt-0.7.2.ebuild: + Add newer libvirt releases + +*libvirt-0.6.5-r1 (08 Sep 2009) + + 08 Sep 2009; Patrick Lauer +libvirt-0.6.5-r1.ebuild: + Fixing netcat dep #280650 #237277 #283884 + + 02 Aug 2009; Doug Goldstein libvirt-0.6.3-r3.ebuild, + libvirt-0.6.4-r1.ebuild, libvirt-0.6.5.ebuild: + add missing sys-apps/hal dependency + +*libvirt-0.6.5 (28 Jul 2009) + + 28 Jul 2009; Doug Goldstein +libvirt-0.6.5.ebuild: + version bump + +*libvirt-0.6.4-r1 (10 Jun 2009) + + 10 Jun 2009; Doug Goldstein -libvirt-0.6.4.ebuild, + +libvirt-0.6.4-r1.ebuild, files/libvirt-0.6.4-kvm-img.patch: + bug fixes for kvm-img support patch + + 09 Jun 2009; Patrick Lauer libvirt-0.6.4.ebuild: + Fixing virtualbox dep for #272264 + + 09 Jun 2009; Doug Goldstein + -files/libvirt-0.4.4-binary-paths.patch, + -files/libvirt-0.4.4-capabilities-kvm-path.patch, + -files/libvirt-0.4.4-kvm-cdrom-fix.patch, -libvirt-0.4.6-r1.ebuild, + -files/libvirt-0.4.6-add-missing-permission-checks.patch, + -files/libvirt-0.4.6-parallel-build-fix.patch, + -files/libvirt-0.4.6-qemu-img-name.patch, -libvirt-0.5.1.ebuild, + -files/libvirt-0.5.1-add-missing-permission-checks.patch, + -files/libvirt-0.5.1-libgnu-reposition.patch, -libvirt-0.6.2.ebuild, + -files/libvirt-0.6.2-storage-fix.patch, -libvirt-0.6.3.ebuild, + -libvirt-0.6.3-r1.ebuild, -libvirt-0.6.3-r2.ebuild: + clean up old versions + +*libvirt-0.6.4 (09 Jun 2009) + + 09 Jun 2009; Doug Goldstein +libvirt-0.6.4.ebuild, + +files/libvirt-0.6.4-kvm-img.patch, + +files/libvirt-0.6.4-qemu-img-logic-fix.patch: + version bump. use v2 of my kvm-img patch + +*libvirt-0.6.3-r3 (28 May 2009) + + 28 May 2009; Doug Goldstein +libvirt-0.6.3-r3.ebuild, + +files/libvirt-0.6.3-print-ascii-uuid.patch: + upstream patch to not print out the raw uuid and print out an ascii + capable copy + +*libvirt-0.6.3-r2 (28 May 2009) + + 28 May 2009; Doug Goldstein + +files/libvirt-0.6.2-enable-qemu-0-10-migration.patch, + +files/libvirt-0.6.2-fix-nosource-label.patch, + +files/libvirt-0.6.2-shared-readonly-label.patch, + +libvirt-0.6.3-r2.ebuild, +files/libvirt-0.6.3-hostdev-managed.patch, + +files/libvirt-0.6.3-refresh-qemu-caps.patch, metadata.xml: + Support NUMA segmentation. Fix VirtualBox depend. Require QEMU 0.10.0 and + higher for additional QEMU feature support. Several fixes from upstream. + +*libvirt-0.6.3-r1 (27 May 2009) + + 27 May 2009; Doug Goldstein +libvirt-0.6.3-r1.ebuild, + +files/libvirt-0.6.3-kvm-img.patch: + Wrote a patch to support kvm-img and qemu-img. Also made the checks for + either happen at run-time instead of build-time which will improve support + for people. Submitted upstream at + https://bugzilla.redhat.com/show_bug.cgi?id=502956 Additional changes + include adding preliminary virtualbox support. Other misc ebuild clean ups + +*libvirt-0.6.3 (21 May 2009) + + 21 May 2009; Tiziano Müller +libvirt-0.6.3.ebuild, + +files/libvirt-0.6.3-kvm-85-argv-detection.patch: + Version bump (bug #269789), using EAPI-2 now, added patch to make it work + with kvm >=85. + +*libvirt-0.6.2 (17 Apr 2009) + + 17 Apr 2009; Doug Goldstein + +files/libvirt-0.6.2-storage-fix.patch, +libvirt-0.6.2.ebuild: + version bump. ebuild is masked for evaluation. fixes bugs #256904, + #253961, #254568, and #249029. + + 20 Feb 2009; Doug Goldstein libvirt-0.4.6-r1.ebuild, + libvirt-0.5.1.ebuild: + add dev-util/pkgconfig to DEPEND. fix bug #259023 + + 31 Jan 2009; Donnie Berkholz ; metadata.xml: + Give up maintainership. + +*libvirt-0.5.1 (09 Jan 2009) +*libvirt-0.4.6-r1 (09 Jan 2009) + + 09 Jan 2009; Michael Marineau + +files/libvirt-0.4.6-add-missing-permission-checks.patch, + +files/libvirt-0.5.1-add-missing-permission-checks.patch, + +files/libvirt-0.5.1-libgnu-reposition.patch, -libvirt-0.4.4-r2.ebuild, + -libvirt-0.4.6.ebuild, +libvirt-0.4.6-r1.ebuild, +libvirt-0.5.1.ebuild: + Fix security bypass (CVE-2008-5086), resolves bug #252205 + Bump to 0.5.1, resolves bug #249102 + + 23 Nov 2008; Michael Marineau + libvirt-0.4.4-r2.ebuild, libvirt-0.4.6.ebuild: + Fix install path under /var and always enable the server. + +*libvirt-0.4.6 (23 Nov 2008) +*libvirt-0.4.4-r2 (23 Nov 2008) + + 23 Nov 2008; Michael Marineau + +files/libvirt-0.4.6-parallel-build-fix.patch, + +files/libvirt-0.4.6-qemu-img-name.patch, files/libvirtd.init, + metadata.xml, -libvirt-0.1.3.ebuild, -libvirt-0.1.4.ebuild, + -libvirt-0.1.7.ebuild, -libvirt-0.2.3.ebuild, -libvirt-0.3.3.ebuild, + -libvirt-0.4.2.ebuild, -libvirt-0.4.4.ebuild, -libvirt-0.4.4-r1.ebuild, + +libvirt-0.4.4-r2.ebuild, +libvirt-0.4.6.ebuild: + Fix bugs #233379 and #238008. Bump to 0.4.6, bug #239387. + Clean out lots of old versions. + + 11 Aug 2008; Tiziano Müller files/libvirtd.init: + Removed bashism, added a progress-meter...... ;-) + + 11 Aug 2008; Tiziano Müller files/libvirtd.init: + Corrected typo in pid-file parameter for s-s-d in init.d-file + + 28 Jul 2008; Doug Goldstein metadata.xml: + add GLEP 56 USE flag desc from use.local.desc + +*libvirt-0.4.4-r1 (15 Jul 2008) + + 15 Jul 2008; Lance Albertson + +files/libvirt-0.4.4-binary-paths.patch, + +files/libvirt-0.4.4-capabilities-kvm-path.patch, files/libvirtd.confd, + files/libvirtd.init, +libvirt-0.4.4-r1.ebuild: + Add support for kvm + * Add patches to deal with kvm binary names + * Fix DEPEND + - Discovered that bridge-utils, nc, and dnsmasq are needed to run libvirt + properly. Make dnsmasq a dep only if needing libvirtd + * Set default pidfile location to be in /var/run + * Add server useflag to choose whether you wanted libvirtd or not + * Update init script + - Deal with shutting down kvm domains properly + - Add reload for libvirtd + - Remove need to specify pidfile during startup + +*libvirt-0.4.4 (08 Jul 2008) + + 08 Jul 2008; Lance Albertson + +files/libvirt-0.4.4-kvm-cdrom-fix.patch, +files/libvirtd.confd, + +files/libvirtd.init, metadata.xml, +libvirt-0.4.4.ebuild: + * Bump version + * Add init scripts for libvirtd + * Add kvm-cdrom-fix patch + * Add myself as a maintainer + + 15 May 2008; Donnie Berkholz ; metadata.xml: + Add myself as maintainer. + +*libvirt-0.4.2 (15 May 2008) + + 15 May 2008; Donnie Berkholz ; + +libvirt-0.4.2.ebuild: + (#208470, #212812, #211959, #212820) Bump. Adds all kinds of new USE + flags, including OpenVZ. + + 15 Oct 2007; Donnie Berkholz ; libvirt-0.1.3.ebuild, + libvirt-0.1.4.ebuild, libvirt-0.2.3.ebuild, libvirt-0.3.3.ebuild: + Fix quoting, use emake. + +*libvirt-0.3.3 (15 Oct 2007) + + 15 Oct 2007; Donnie Berkholz ; + +libvirt-0.3.3.ebuild: + Adds some new features like remote access and OpenVZ (although the latter + may only be at the libvirt level so far). + + 29 Aug 2007; Christian Heim metadata.xml: + Removing agriffis from metadata due to his retirement (see #182294 for + reference). + +*libvirt-0.2.3 (10 Jun 2007) + + 10 Jun 2007; Donnie Berkholz ; + +libvirt-0.2.3.ebuild: + Bump to a current version. A major feature added in 0.2.x is support for + qemu/kvm. + + 09 Nov 2006; Andrew Ross metadata.xml: + Add package to xen herd, with maintainer's consent. + +*libvirt-0.1.7 (10 Oct 2006) + + 10 Oct 2006; Aron Griffis +libvirt-0.1.7.ebuild: + Bump to 0.1.7 (from 0.1.4). #150536 + +*libvirt-0.1.4 (24 Aug 2006) + + 24 Aug 2006; Aron Griffis +libvirt-0.1.4.ebuild: + Bump to 0.1.4 (from 0.1.3) + + 02 Aug 2006; Aron Griffis +metadata.xml: + Add metadata.xml + +*libvirt-0.1.3 (02 Aug 2006) + + 02 Aug 2006; Aron Griffis +libvirt-0.1.3.ebuild: + Add libvirt, virtualization library for xen, and in the future, other + hypervisors + diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest new file mode 100644 index 0000000..c35a150 --- /dev/null +++ b/app-emulation/libvirt/Manifest @@ -0,0 +1,7 @@ +AUX libvirt-0.7.6-virt-pki-validate-sysconfdir.patch 802 RMD160 7184d76aeea423dab82b83930caf04cb0177df10 SHA1 3e85741b241329265404f23cdbd86d359750d066 SHA256 9ad93da4118a11227864c4813629701d6b9574e3d20da942578173b9cf6a571e +AUX libvirtd.confd 476 RMD160 63b92da0cf0d589c1c6e76551982deb6b5fc8f9a SHA1 5b76082bb28705606758880c19af922dde1ccb01 SHA256 ff2c94d2a64058152be669256d8d2e241cde4356a77bd653eac9fa3b084666f6 +AUX libvirtd.init 2045 RMD160 b544578c242c6f84e2cf07682a06ce261bf40b8a SHA1 81976137c43f6b507e27ac926a6d7947e1a329d3 SHA256 96cbdf8e68a171d170f91167a4217a366325ca668b9e2621ec6800fd35d42c5c +DIST libvirt-0.7.7.tar.gz 10048272 RMD160 ba0d0c1f2d67cc51305ffc90f3f48017d9759bb1 SHA1 348df39ea0e50e444d7a6be34d6ddaecac57ed48 SHA256 ea308bac01dcd85c45d6b140bd5eb1c324a0868bf26fb0c1085899bc1c8b8042 +EBUILD libvirt-0.7.7.ebuild 6271 RMD160 a51ee45e7918bc170f3ba298fef92bd57f177c4d SHA1 3d52a5b29faba652df455aab271b7f92e6a1deef SHA256 fd507db7f4bec1721fb7479c0eaff9dd9e5dbdb6ea877cddf64afbcbdb73ecd1 +MISC ChangeLog 12216 RMD160 dfba3932cbc59553ca35ad2492090b4227edf05d SHA1 ec4eb9ebf739d50ef969ef0e6e1844a786702e33 SHA256 703288153a90be189d9051af6d1e04ff818b68906890e81f315c029c04954541 +MISC metadata.xml 1788 RMD160 ffb6922d83089ed515c256dbe854559c4d5c2000 SHA1 0bb0532f5428fe58180715712abc0828e5b730e1 SHA256 0dbe63940b4b051dc900d47d2626aa761a003cd6af8fb6533ca9bd9a44d3ca4b diff --git a/app-emulation/libvirt/files/libvirt-0.7.6-virt-pki-validate-sysconfdir.patch b/app-emulation/libvirt/files/libvirt-0.7.6-virt-pki-validate-sysconfdir.patch new file mode 100644 index 0000000..85b7276 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-0.7.6-virt-pki-validate-sysconfdir.patch @@ -0,0 +1,27 @@ +From 6323f5f4c056c84d3beaee1f1057ade437cf1e8f Mon Sep 17 00:00:00 2001 +From: Doug Goldstein +Date: Thu, 4 Feb 2010 00:37:42 -0600 +Subject: [PATCH] virt-pki-validate contains unexpanded SYSCONFDIR variable + +virt-pki-validate contains an unexpanded SYSCONFDIR variable which +causes it not to function at all. +--- + tools/virt-pki-validate.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/tools/virt-pki-validate.in b/tools/virt-pki-validate.in +index a428a96..3e8c642 100755 +--- a/tools/virt-pki-validate.in ++++ b/tools/virt-pki-validate.in +@@ -25,7 +25,7 @@ echo Found $CERTOOL + # + # Check the directory structure + # +-PKI="$(SYSCONFDIR)/pki" ++PKI="@SYSCONFDIR@/pki" + if [ ! -d $PKI ] + then + echo the $PKI directory is missing, it is usually +-- +1.6.6.1 + diff --git a/app-emulation/libvirt/files/libvirtd.confd b/app-emulation/libvirt/files/libvirtd.confd new file mode 100644 index 0000000..705b785 --- /dev/null +++ b/app-emulation/libvirt/files/libvirtd.confd @@ -0,0 +1,15 @@ +# /etc/conf.d/libvirtd + +# You may want to add '--listen' to have libvirtd listen for tcp/ip connections +# if you want to use libvirt for remote control + +# Please consult 'libvirtd --help' for more options + +#LIBVIRTD_OPTS="--listen" + +# Automatically shutdown KVM domains when stopping libvirtd +LIBVIRTD_KVM_SHUTDOWN="yes" + +# Timeout in seconds until stopping libvirtd and "pulling the plug" on the +# remaining VM's still in a running state +#LIBVIRTD_KVM_SHUTDOWN_MAXWAIT="100" diff --git a/app-emulation/libvirt/files/libvirtd.init b/app-emulation/libvirt/files/libvirtd.init new file mode 100755 index 0000000..10765f5 --- /dev/null +++ b/app-emulation/libvirt/files/libvirtd.init @@ -0,0 +1,73 @@ +#!/sbin/runscript + +opts="start stop status reload restart" + +depend() { + need net + before sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp +} + +libvirtd_virsh() { + # Silence errors because virsh always throws an error about + # not finding the hypervisor version when connecting to libvirtd + LC_ALL=C virsh -c qemu:///system "$@" 2>/dev/null +} + +libvirtd_dom_list() { + libvirtd_virsh list | grep running | awk '{ print $1 }' +} + +libvirtd_dom_count() { + libvirtd_dom_list | wc -l +} + +start() { + ebegin "Starting libvirtd" + start-stop-daemon --start --quiet --exec /usr/sbin/libvirtd -- -d ${LIBVIRTD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping libvirtd" + # try to shutdown all (KVM/Qemu) domains + DOM_COUNT="$(libvirtd_dom_count)" + if [ "${LIBVIRTD_KVM_SHUTDOWN}" = "yes" ] \ + && [ "${DOM_COUNT}" != "0" ] ; then + + einfo " Shutting down domain(s):" + for DOM_ID in $(libvirtd_dom_list) ; do + NAME="$(libvirtd_virsh domname ${DOM_ID} | head -n 1)" + einfo " ${NAME}" + libvirtd_virsh shutdown ${DOM_ID} > /dev/null + done + + if [ -n "${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" ] ; then + COUNTER="${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" + else + COUNTER=100 + fi + + einfo " Waiting ${COUNTER} seconds while domains shutdown ..." + DOM_COUNT="$(libvirtd_dom_count)" + while [ ${DOM_COUNT} -gt 0 ] && [ ${COUNTER} -gt 0 ] ; do + DOM_COUNT="$(libvirtd_dom_count)" + sleep 1 + COUNTER=$((${COUNTER} - 1)) + echo -n "." + done + + DOM_COUNT="$(libvirtd_dom_count)" + if [ "${DOM_COUNT}" != "0" ] ; then + eerror " !!! Some guests are still running, stopping anyways" + fi + + fi + start-stop-daemon --stop --quiet --exec /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid + eend $? +} + +reload() { + ebegin "Reloading libvirtd" + start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/libvirtd.pid --oknodo + eend $? +} diff --git a/app-emulation/libvirt/libvirt-0.7.7.ebuild b/app-emulation/libvirt/libvirt-0.7.7.ebuild new file mode 100644 index 0000000..64098a2 --- /dev/null +++ b/app-emulation/libvirt/libvirt-0.7.7.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-0.7.6-r1.ebuild,v 1.3 2010/02/12 12:36:21 flameeyes Exp $ + +BACKPORTS= + +EAPI="2" + +inherit eutils python + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +SRC_URI="http://libvirt.org/sources/${P}.tar.gz + ${BACKPORTS:+mirror://gentoo/${P}-backports-${BACKPORTS}.tar.bz2}" +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="avahi caps iscsi +libvirtd lvm +lxc +network nfs nls numa openvz \ + parted phyp policykit python qemu sasl selinux uml virtualbox xen udev" +# IUSE=one : bug #293416 & bug# 299011 + +# Some tests are simply broken in the released tarball, ignore them +# for now. +RESTRICT=test + +RDEPEND="sys-libs/readline + sys-libs/ncurses + >=net-misc/curl-7.18.0 + >=dev-libs/libxml2-2.7.6 + >=net-libs/gnutls-1.0.25 + dev-lang/python + sys-fs/sysfsutils + sys-apps/util-linux + >=net-analyzer/netcat6-1.0-r2 + avahi? ( >=net-dns/avahi-0.6[dbus] ) + caps? ( sys-libs/libcap-ng ) + iscsi? ( sys-block/open-iscsi ) + libvirtd? ( net-misc/bridge-utils ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) + nfs? ( net-fs/nfs-utils ) + numa? ( sys-process/numactl ) + openvz? ( sys-kernel/openvz-sources ) + parted? ( >=sys-apps/parted-1.8 ) + phyp? ( net-libs/libssh2 ) + policykit? ( >=sys-auth/polkit-0.9 ) + python? ( dev-libs/libxml2[python] ) + qemu? ( || ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 ) ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( sys-libs/libselinux ) + virtualbox? ( || ( >=app-emulation/virtualbox-ose-2.2.0 >=app-emulation/virtualbox-bin-2.2.0 ) ) + xen? ( app-emulation/xen-tools app-emulation/xen ) + udev? ( >=sys-fs/udev-145 >=x11-libs/libpciaccess-0.10.9 )" +# one? ( dev-libs/xmlrpc-c ) +DEPEND="${RDEPEND} + dev-util/pkgconfig + nls? ( sys-devel/gettext )" + +src_prepare() { + [[ -n ${BACKPORTS} ]] && \ + EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" epatch +} + +src_configure() { + local myconf="" + + ## enable/disable daemon, otherwise client only utils + myconf="${myconf} $(use_with libvirtd)" + + ## enable/disable the daemon using avahi to find VMs + myconf="${myconf} $(use_with avahi)" + + ## hypervisors on the local host + myconf="${myconf} $(use_with xen) $(use_with xen xen-inotify)" + if ! use policykit && use xen; then + myconf="${myconf} --with-xen-proxy" + fi + myconf="${myconf} $(use_with openvz)" + myconf="${myconf} $(use_with lxc)" + myconf="${myconf} $(use_with virtualbox vbox)" + myconf="${myconf} $(use_with uml)" + myconf="${myconf} $(use_with qemu)" + # doesn't belong with hypervisors but links to libvirtd for some reason + #myconf="${myconf} $(use_with one)" + + ## hypervisor protocols + myconf="${myconf} $(use_with phyp)" + myconf="${myconf} --with-esx" + + ## additional host drivers + myconf="${myconf} $(use_with network)" + myconf="${myconf} --with-storage-fs" + myconf="${myconf} $(use_with lvm storage-lvm)" + myconf="${myconf} $(use_with iscsi storage-iscsi)" + myconf="${myconf} $(use_with parted storage-disk)" + myconf="${myconf} $(use_with lvm storage-mpath)" + myconf="${myconf} $(use_with numa numactl)" + myconf="${myconf} $(use_with selinux)" + + # udev for device support details + myconf="${myconf} $(use_with udev)" + + # linux capability support so we don't need privileged accounts + myconf="${myconf} $(use_with caps capng)" + + ## auth stuff + myconf="${myconf} $(use_with policykit polkit)" + myconf="${myconf} $(use_with sasl)" + + ## other + myconf="${myconf} $(use_enable nls)" + myconf="${myconf} $(use_with python)" + + ## stuff we don't yet support + myconf="${myconf} --without-netcf" + + # we use udev over hal + myconf="${myconf} --without-hal" + + # this is a nasty trick to work around the problem in bug + # #275073. The reason why we don't solve this properly is that + # it'll require us to rebuild autotools (and we don't really want + # to do that right now). The proper solution has been sent + # upstream and should hopefully land in 0.7.7, in the mean time, + # mime the same functionality with this. + case ${CHOST} in + *cygwin* | *mingw* ) + ;; + *) + ac_cv_prog_WINDRES=no + ;; + esac + + econf \ + ${myconf} \ + --disable-static \ + --docdir=/usr/share/doc/${PF} \ + --with-remote \ + --localstatedir=/var \ + --with-remote-pid-file=/var/run/libvirtd.pid +} + +src_test() { + # Explicitly allow parallel build of tests + emake check || die "tests failed" +} + +src_install() { + emake install \ + DESTDIR="${D}" \ + HTML_DIR=/usr/share/doc/${PF}/html \ + DOCS_DIR=/usr/share/doc/${PF}/python \ + EXAMPLE_DIR=/usr/share/doc/${PF}/python/examples \ + || die "emake install failed" + + newinitd "${FILESDIR}/libvirtd.init" libvirtd || die + newconfd "${FILESDIR}/libvirtd.confd" libvirtd || die + + keepdir /var/lib/libvirt/images + + find "${D}" -name '*.la' -delete || die +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + use python && python_mod_optimize $(python_get_sitedir)/libvirt.py + + elog + if use policykit; then + elog "You must have run the following at least once:" + elog + elog "$ polkit-auth --grant org.libvirt.unix.manage --user \"USERNAME\"" + elog + elog "to grant USERNAME access to libvirt when using USE=policykit" + else + elog "To allow normal users to connect to libvirtd you must change the" + elog " unix sock group and/or perms in /etc/libvirt/libvirtd.conf" + fi + elog + elog "For the basic networking support (bridged and routed networks)" + elog "you don't need any extra software. For more complex network modes" + elog "including but not limited to NATed network, you'll need the" + elog "following packages": + elog + elog " net-dns/dnsmasq" + elog " net-firewall/iptables" + elog " net-firewall/ebtables" + elog + if has_version net-dns/dnsmasq; then + ewarn "If you have a DNS server setup on your machine, you will have" + ewarn "to configure /etc/dnsmasq.conf to enable the following settings: " + ewarn " bind-interfaces" + ewarn " interface or except-interface" + ewarn + ewarn "Otherwise you might have issues with your existing DNS server." + fi +} + +pkg_postrm() { + use python && python_mod_cleanup +} diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml new file mode 100644 index 0000000..b230fd1 --- /dev/null +++ b/app-emulation/libvirt/metadata.xml @@ -0,0 +1,43 @@ + + + + virtualization + + ramereth@gentoo.org + Lance Albertson + + + cardoe@gentoo.org + Doug Goldstein + + + Use sys-fs/udev to determine available + devices + Add support for iSCSI (Internet SCSI) remote + storage + Add support for the Logical Volume Manager + sys-apps/lvm2 + Add support for the Linux Containers + Add support for sys-kernel/openvz-sources + OpenVZ-based virtual machines + Add support for the sys-apps/parted + partition editor + Add support for User Mode Linux based virtual + machines + Add support for app-emulation/qemu based + virtual machines + Add support for app-emulation/xen based + virtual machines + Enable networking support for guests + Adds support for VirtualBox based virtual + machines + Use NUMA for memory segmenting via + sys-process/numactl + Allow the libvirtd daemon store VM images on NFS + mounts + Builds the libvirtd daemon as well as the client + utilities instead of just the client utilities + Support the PHYP hypervisor protocol + Support the ONE hypervisor protocol + + -- cgit v1.2.3-65-gdbad