Grab a bunch of patches to fix some NULL ptr deref issues and fix up some corner...
authorDoug Goldstein <cardoe@gentoo.org>
Wed, 26 May 2010 17:34:38 +0000 (17:34 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Wed, 26 May 2010 17:34:38 +0000 (17:34 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

app-emulation/libvirt/ChangeLog
app-emulation/libvirt/Manifest
app-emulation/libvirt/libvirt-0.8.1-r1.ebuild [new file with mode: 0644]

index 3d22fb82c811d643aaadbda6f4c376b6c621118a..ffccd8cc0d077fde36b5e1c12c3e47ca7d81ed23 100644 (file)
@@ -1,6 +1,14 @@
 # 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.53 2010/05/03 20:09:25 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.54 2010/05/26 17:34:38 cardoe Exp $
+
+*libvirt-0.8.1-r1 (26 May 2010)
+
+  26 May 2010; Doug Goldstein <cardoe@gentoo.org> +libvirt-0.8.1-r1.ebuild:
+  Grab a bunch of patches to fix some NULL ptr deref issues and fix up some
+  corner cases where libvirt wasn't handling errors correctly. Should
+  improve the stability of libvirt. Fix bug #311187 for python eclass
+  updates as well.
 
 *libvirt-0.8.1 (03 May 2010)
 
index e0d73bedaabd57b8c8ff54a43a9fb46f45547116..370eb3a4dceb9d920b5c372124519d95eb650cd7 100644 (file)
@@ -3,9 +3,11 @@ AUX libvirtd.confd 476 RMD160 63b92da0cf0d589c1c6e76551982deb6b5fc8f9a SHA1 5b76
 AUX libvirtd.init 2045 RMD160 b544578c242c6f84e2cf07682a06ce261bf40b8a SHA1 81976137c43f6b507e27ac926a6d7947e1a329d3 SHA256 96cbdf8e68a171d170f91167a4217a366325ca668b9e2621ec6800fd35d42c5c
 DIST libvirt-0.7.5.tar.gz 9343666 RMD160 6533a10b6d3f8c6233cbbd93e6e1e8893acd6954 SHA1 8d88541d67a2da50adb85b447b5a01204afeaf7c SHA256 922481aadf72a74cf14012fe3967c60d01e70f7e88908410d57428943ab4eb8b
 DIST libvirt-0.7.6.tar.gz 9634178 RMD160 2e3635f68365614828e522023087d45c504f7ff7 SHA1 3ee150e4057d19443c48541330128d6774f9f11f SHA256 5195a240208ea80518c2f585a8843f9870d209cde8737de353371b681cf9607a
+DIST libvirt-0.8.1-backports-1.tar.bz2 7521 RMD160 2d4784ccd1ab4484c77a1eea5184e365631ad39d SHA1 33f95f9313a89962b74b05d723bb221b42f4892c SHA256 89a2fbb9905bb13b0f7d91aa937f825df56e773a8e8bb045a9d21a7afede14ad
 DIST libvirt-0.8.1.tar.gz 11659399 RMD160 d43f46092029a4cc030e302c78929e3e4b36ae90 SHA1 a7e7066b4d2c99ec2c17e65e5bf19d0d9fdf27b0 SHA256 8d3e8d63884c4fd24465e083458edea92d2792339ce6c73c23bc6838df8eb76a
 EBUILD libvirt-0.7.5.ebuild 5414 RMD160 2fc16bb14195d1d65e35e5d4e709cfd04510788f SHA1 ae2820835ff420d8e6c8560021e4b40cea3dce7c SHA256 28525285b09c63bcd0fefdde618acf03a8d328c2ee9781cded148136ec029d8d
 EBUILD libvirt-0.7.6-r1.ebuild 6239 RMD160 902d2518ccdf9177057c34ccb3435d0b1ea0cd92 SHA1 e8d6e1cd89000cdeecb1e81b99b8ccbb33071ec6 SHA256 e4d79b410cbd089a9101d7a39f54293209d9d4e43833aaebc4037864b2241a2e
+EBUILD libvirt-0.8.1-r1.ebuild 6314 RMD160 3c1886e786c0c322fa6ac9eaf9ec18e78b371d7e SHA1 06641c72f4a032a7575b98d92a3114ea241f479f SHA256 d7ea34f42e6792df515716cf09e44389c2b8358f24723b70fac79950bfd154df
 EBUILD libvirt-0.8.1.ebuild 6174 RMD160 563a4a669d10ecbb7e7f94ea1c8f834a9d23c581 SHA1 c3efac391d2fc7ff3fd431f4c79402a6c1e7ab50 SHA256 c070f8e106b180902f66b02d5d4a984f8ae7ffa3d6972edc1ccd2cd7c0d584dc
-MISC ChangeLog 12506 RMD160 9585b7f69b6fed3c60bf3a9b627545691e940b8a SHA1 c259a3668a93efa7d12acc57bb946030aead34af SHA256 ec7082a9067fe97f2c746addf7b161f1d27834561e987db08986879eb9a37c5f
+MISC ChangeLog 12850 RMD160 68191d86147cf72e1022b698fa75a2ff228a7775 SHA1 f396107307f7553b456117639cb1c06596b9f531 SHA256 054e6b4c23f2de44f2f1b142c7ec00088e919184842c2451f6f19351af343ebb
 MISC metadata.xml 1788 RMD160 ffb6922d83089ed515c256dbe854559c4d5c2000 SHA1 0bb0532f5428fe58180715712abc0828e5b730e1 SHA256 0dbe63940b4b051dc900d47d2626aa761a003cd6af8fb6533ca9bd9a44d3ca4b
diff --git a/app-emulation/libvirt/libvirt-0.8.1-r1.ebuild b/app-emulation/libvirt/libvirt-0.8.1-r1.ebuild
new file mode 100644 (file)
index 0000000..bf045df
--- /dev/null
@@ -0,0 +1,212 @@
+# 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.8.1-r1.ebuild,v 1.1 2010/05/26 17:34:38 cardoe Exp $
+
+BACKPORTS=1
+
+EAPI="2"
+
+PYTHON_DEPEND="python? 2:2.4"
+#RESTRICT_PYTHON_ABIS="3.*"
+#SUPPORT_PYTHON_ABIS="1"
+
+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
+       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 )
+       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 )"
+
+pkg_setup() {
+       python_set_active_version 2
+}
+
+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 $(python_get_sitedir)/libvirt.py
+}