diff options
-rw-r--r-- | app-emulation/libvirt/ChangeLog | 7 | ||||
-rw-r--r-- | app-emulation/libvirt/files/libvirtd.confd | 15 | ||||
-rwxr-xr-x | app-emulation/libvirt/files/libvirtd.init | 73 | ||||
-rw-r--r-- | app-emulation/libvirt/libvirt-0.8.2-r1.ebuild | 229 | ||||
-rw-r--r-- | app-emulation/libvirt/libvirt-0.8.3-r1.ebuild | 238 | ||||
-rw-r--r-- | app-emulation/libvirt/libvirt-0.8.3.ebuild | 235 |
6 files changed, 6 insertions, 791 deletions
diff --git a/app-emulation/libvirt/ChangeLog b/app-emulation/libvirt/ChangeLog index 7d94dd276ec2..3edc2369712f 100644 --- a/app-emulation/libvirt/ChangeLog +++ b/app-emulation/libvirt/ChangeLog @@ -1,6 +1,11 @@ # 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.75 2010/09/17 17:58:34 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.76 2010/10/15 14:28:10 flameeyes Exp $ + + 15 Oct 2010; Diego E. Pettenò <flameeyes@gentoo.org> + -libvirt-0.8.2-r1.ebuild, -libvirt-0.8.3.ebuild, -libvirt-0.8.3-r1.ebuild, + -files/libvirtd.confd, -files/libvirtd.init: + Cleanup old versions. *libvirt-0.8.4 (17 Sep 2010) diff --git a/app-emulation/libvirt/files/libvirtd.confd b/app-emulation/libvirt/files/libvirtd.confd deleted file mode 100644 index 705b78532b39..000000000000 --- a/app-emulation/libvirt/files/libvirtd.confd +++ /dev/null @@ -1,15 +0,0 @@ -# /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 deleted file mode 100755 index 10765f5c0c3c..000000000000 --- a/app-emulation/libvirt/files/libvirtd.init +++ /dev/null @@ -1,73 +0,0 @@ -#!/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.8.2-r1.ebuild b/app-emulation/libvirt/libvirt-0.8.2-r1.ebuild deleted file mode 100644 index 98ec43f728b2..000000000000 --- a/app-emulation/libvirt/libvirt-0.8.2-r1.ebuild +++ /dev/null @@ -1,229 +0,0 @@ -# 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.2-r1.ebuild,v 1.6 2010/08/20 17:01:37 jer 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 macvtap +network nfs nls numa openvz \ - parted pcap 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 ) - macvtap? ( >=dev-libs/libnl-1.1 ) - nfs? ( net-fs/nfs-utils ) - numa? ( sys-process/numactl ) - openvz? ( sys-kernel/openvz-sources ) - parted? ( >=sys-block/parted-1.8[device-mapper] ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - 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-2.0.85 ) - 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_FORCE=yes 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)" - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myconf="${myconf} --with-vbox=/usr/lib/virtualbox-ose/" - else - myconf="${myconf} $(use_with virtualbox vbox)" - fi - 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)" - - # network biits - myconf="${myconf} $(use_with libpcap)" - myconf="${myconf} $(use_with macvtap)" - - ## 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-r1" libvirtd || die - newconfd "${FILESDIR}/libvirtd.confd-r1" 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 - - # We really don't want to use or support old PolicyKit cause it - # screws with the new polkit integration - if has_version sys-auth/policykit; then - rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy - fi -} - -pkg_postinst() { - use python && python_mod_optimize $(python_get_sitedir)/libvirt.py - - elog - if use policykit && has_version sys-auth/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 -} diff --git a/app-emulation/libvirt/libvirt-0.8.3-r1.ebuild b/app-emulation/libvirt/libvirt-0.8.3-r1.ebuild deleted file mode 100644 index 0efb7a4d5354..000000000000 --- a/app-emulation/libvirt/libvirt-0.8.3-r1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# 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.3-r1.ebuild,v 1.6 2010/09/12 15:35:41 jmbsvicetto Exp $ - -BACKPORTS=3 - -EAPI="2" - -PYTHON_DEPEND="python? 2:2.4" -#RESTRICT_PYTHON_ABIS="3.*" -#SUPPORT_PYTHON_ABIS="1" - -inherit eutils python autotools - -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 debug iscsi +libvirtd lvm +lxc macvtap +network nfs nls \ - numa openvz parted pcap phyp policykit python qemu sasl selinux - uml virtualbox xen udev" -# IUSE=one : bug #293416 & bug #299011 - -RDEPEND="sys-libs/readline - sys-libs/ncurses - >=net-misc/curl-7.18.0 - >=dev-libs/libxml2-2.7.6 - >=dev-libs/libnl-1.1 - >=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 ) - macvtap? ( >=dev-libs/libnl-1.1 ) - nfs? ( net-fs/nfs-utils ) - numa? ( sys-process/numactl ) - openvz? ( sys-kernel/openvz-sources ) - parted? ( >=sys-block/parted-1.8[device-mapper] ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - phyp? ( net-libs/libssh2 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( || ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 app-emulation/qemu-kvm-spice ) ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - 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_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - eautoreconf -} - -src_configure() { - local myconf="" - - myconf="${myconf} $(use_enable debug)" - - ## 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)" - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myconf="${myconf} --with-vbox=/usr/lib/virtualbox-ose/" - else - myconf="${myconf} $(use_with virtualbox vbox)" - fi - 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)" - - # network biits - myconf="${myconf} $(use_with pcap libpcap)" - myconf="${myconf} $(use_with macvtap)" - - ## 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" - - find "${D}" -name '*.la' -delete || die - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - newinitd "${FILESDIR}/libvirtd.init-r1" libvirtd || die - newconfd "${FILESDIR}/libvirtd.confd-r1" libvirtd || die - - keepdir /var/lib/libvirt/images -} - -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 - - # We really don't want to use or support old PolicyKit cause it - # screws with the new polkit integration - if has_version sys-auth/policykit; then - rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy - fi -} - -pkg_postinst() { - use python && python_mod_optimize $(python_get_sitedir)/libvirt.py - - elog - if use policykit && has_version sys-auth/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 - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - 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-1.4.9" - 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 -} diff --git a/app-emulation/libvirt/libvirt-0.8.3.ebuild b/app-emulation/libvirt/libvirt-0.8.3.ebuild deleted file mode 100644 index d04f27b33d27..000000000000 --- a/app-emulation/libvirt/libvirt-0.8.3.ebuild +++ /dev/null @@ -1,235 +0,0 @@ -# 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.3.ebuild,v 1.5 2010/08/20 17:01:37 jer Exp $ - -BACKPORTS=2 - -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 macvtap +network nfs nls numa openvz \ - parted pcap phyp policykit python qemu sasl selinux uml virtualbox xen udev \ - debug" -# IUSE=one : bug #293416 & bug# 299011 - -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 ) - macvtap? ( >=dev-libs/libnl-1.1 ) - nfs? ( net-fs/nfs-utils ) - numa? ( sys-process/numactl ) - openvz? ( sys-kernel/openvz-sources ) - parted? ( >=sys-block/parted-1.8[device-mapper] ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - 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-2.0.85 ) - 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_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch -} - -src_configure() { - local myconf="" - - myconf="${myconf} $(use_enable debug)" - - ## 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)" - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myconf="${myconf} --with-vbox=/usr/lib/virtualbox-ose/" - else - myconf="${myconf} $(use_with virtualbox vbox)" - fi - 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)" - - # network biits - myconf="${myconf} $(use_with pcap libpcap)" - myconf="${myconf} $(use_with macvtap)" - - ## 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" - - find "${D}" -name '*.la' -delete || die - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - newinitd "${FILESDIR}/libvirtd.init-r1" libvirtd || die - newconfd "${FILESDIR}/libvirtd.confd-r1" libvirtd || die - - keepdir /var/lib/libvirt/images -} - -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 - - # We really don't want to use or support old PolicyKit cause it - # screws with the new polkit integration - if has_version sys-auth/policykit; then - rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy - fi -} - -pkg_postinst() { - use python && python_mod_optimize $(python_get_sitedir)/libvirt.py - - elog - if use policykit && has_version sys-auth/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 - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - 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 -} |