From fe10bfc5e076a4ad7201ab2d2b68ae1b34a5766c Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Thu, 29 Sep 2011 16:51:08 +0000 Subject: [PATCH] Version bump. Improvements to the init script to support newer OpenRCs, document the current behaviors and add a halt command. Package-Manager: portage-2.1.10.19/cvs/Linux x86_64 --- app-emulation/libvirt/ChangeLog | 9 +- app-emulation/libvirt/Manifest | 5 +- app-emulation/libvirt/files/libvirtd.init-r5 | 125 +++++++++ app-emulation/libvirt/libvirt-0.9.6.ebuild | 266 +++++++++++++++++++ 4 files changed, 403 insertions(+), 2 deletions(-) create mode 100755 app-emulation/libvirt/files/libvirtd.init-r5 create mode 100644 app-emulation/libvirt/libvirt-0.9.6.ebuild diff --git a/app-emulation/libvirt/ChangeLog b/app-emulation/libvirt/ChangeLog index febb8b2cc92c..2a65511b4c84 100644 --- a/app-emulation/libvirt/ChangeLog +++ b/app-emulation/libvirt/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emulation/libvirt # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.135 2011/09/14 15:10:26 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.136 2011/09/29 16:51:08 cardoe Exp $ + +*libvirt-0.9.6 (29 Sep 2011) + + 29 Sep 2011; Doug Goldstein +libvirt-0.9.6.ebuild, + +files/libvirtd.init-r5: + Version bump. Improvements to the init script to support newer OpenRCs, + document the current behaviors and add a halt command. 14 Sep 2011; Doug Goldstein libvirt-0.9.4.ebuild, libvirt-9999.ebuild: diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 7ac2b7b96017..5c3ef09b9b4a 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -4,11 +4,14 @@ AUX libvirtd.init-r1 2558 RMD160 d87b527e9917ef926045fa07e809dc4527f04af7 SHA1 b AUX libvirtd.init-r2 3407 RMD160 9a5cf8a0d3bc4097871d8cf1581fc5a858e22abd SHA1 79e3d9848f03f66fc3bd5c438231a84b1bf3588e SHA256 8fb9a912cdf4974cfa7d23762468f67b5b2ef74620ce0c7270c72b4a8a691eef AUX libvirtd.init-r3 3319 RMD160 c28af7ed59542ce643035bc61a4a64a0b2a48296 SHA1 12a98743f532a7bab0ecbf7a993d9413bfe0220d SHA256 f0d4ea1125c8c3f02adae1c1d918ff3f393009f867aedb678ccb1dbb9babbb88 AUX libvirtd.init-r4 3365 RMD160 01b6dc11c4baa541ab933a69a85e6d314a8aa041 SHA1 91a429edc6f3497b0da2e99757063ad0cf5407e1 SHA256 19ad0a49dc774d9dc06ce196b932cf8fad2875a2b46919564eefef2810b47100 +AUX libvirtd.init-r5 3572 RMD160 2899a3bc515856642eb6f0cfe6d0944454271460 SHA1 ea541974fb672621c3d75020bfa8ec4be77066e1 SHA256 6c04449123ebb5d5736e53a81325f66a0db52cc19c7a6c80ba5f599a3687569f DIST libvirt-0.9.3-backports-2.tar.bz2 2165 RMD160 445a2391fa10b76160ecb1d1d80ea3d52f9caa0a SHA1 b74034cba35972822a626298a9f4c4b3ead6bc77 SHA256 3cf9f698b8e98ba7463423adb6cb5746ec9a7fb6b047f9d32abf45ce5179197a DIST libvirt-0.9.3.tar.gz 15958983 RMD160 a01dbe29e23225706afcff74146aa3b224ba04bb SHA1 e25850d270a24441305dd92935209efa993b479d SHA256 4d673be9aa7b5618c0fef3cfdbbbeff02df1c83e26680fe40defad2b32a56ae3 DIST libvirt-0.9.4.tar.gz 16643543 RMD160 a9edfdac715caac650520e5e12dd499f46e9957b SHA1 29e81c972ca7c3e73f4cecf84e77f68739ef00a2 SHA256 e76c026646ae4885b162bf711b854f36195f93538d6fcbee48479c2354a342af +DIST libvirt-0.9.6.tar.gz 17326676 RMD160 5e0837e8ee770e017e574fd002e9e489e448ca65 SHA1 9fd108e1a351d191c5d7f89458096fb35bd6413e SHA256 ce29b1cd3067b224aa834fec2a93d7613c0e72bc035760ad536a2142430bc02b EBUILD libvirt-0.9.3-r1.ebuild 7767 RMD160 ed8a3e2ae63f03fe494cf9569ac20990a655e4d9 SHA1 91664cf8f0ff2efa495772ee24792d991530944e SHA256 d61e6045c9035863dd2a90e62ff09c2eb0495b1e3f0d5124db975c73c7f2e6de EBUILD libvirt-0.9.4.ebuild 7909 RMD160 4bfa72cf94baefcb0ca04988b17ad51dfe21fb3f SHA1 927769dcf09da943151ba436a4c975f3c6784cc2 SHA256 20d621a1f06eb94af5781349fdd6ba53e313a0c9705422aae157e6936849fd80 +EBUILD libvirt-0.9.6.ebuild 7909 RMD160 48a079a4090c8835634efa7bc191b6b88dd1f56f SHA1 58fdd6af11086ba6c33e715856e4bab58e7854df SHA256 d3b9f733f4a2620f92f9295711a97ecab129c0952f614a96729e5ea6d64fc6f1 EBUILD libvirt-9999.ebuild 7909 RMD160 dd2212b2453844772433c5b240b77bd3e0384b20 SHA1 15c31374c1a9dcf06d3bc3b0ddcb7553d3fcb3c3 SHA256 141061feac936dfe139403f00f9b97dbbe349d40be36585a21a27646cb706d9d -MISC ChangeLog 28406 RMD160 2232eaf47f3508688201dcb493792cf3701bf776 SHA1 5590e0f9c6f37553d5952025ce89693c6d8a7dd1 SHA256 0888c9270916708b6713b8496cbeb949c3cafe0735a4e6eadb1e7c2b465c056c +MISC ChangeLog 28668 RMD160 26ac645883da56c7f47f7d866b01c48de3ff2cfd SHA1 e99fee24389df35e32f5c4ee0cbe3bf2ce22f9c5 SHA256 47ab85a812cbbc1eb01ee290652f1156a93355eb12d5f65c11854e4ad68baafd MISC metadata.xml 3132 RMD160 066870c02fd835f9a633b69328367737d4cc0b71 SHA1 940cc910ef4d1a75947afef95d73a3026bb91527 SHA256 e0eb882799f41f51c9930a1142cf5427061bdacf629a028ac4e8b65c1cf67ea4 diff --git a/app-emulation/libvirt/files/libvirtd.init-r5 b/app-emulation/libvirt/files/libvirtd.init-r5 new file mode 100755 index 000000000000..3007359b642b --- /dev/null +++ b/app-emulation/libvirt/files/libvirtd.init-r5 @@ -0,0 +1,125 @@ +#!/sbin/runscript + +description="Virtual Machine Management daemon (libvirt)" +extra_commands="halt" +extra_started_commands="reload" +description_halt="Stops the libvirt daemon without stopping your VMs" +description_reload="Restarts the libvirt daemon without stopping your VMs" + +depend() { + need net + after ntp-client ntpd nfs iscsid nfsmount portmap rpc.statd iptables ip6tables ebtables ceph corosync sanlock cgconfig +} + +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() { + # Make sure that it wouldn't be confused if the domain name + # contains the word running. + libvirtd_virsh list | awk '$3 == "running" { print $1 }' +} + +libvirtd_dom_count() { + # Make sure that it wouldn't be confused if the domain name + # contains the word running. + libvirtd_virsh list | awk 'BEGIN { count = 0 } \ + $3 == "running" { count++ } \ + END { print count }' +} + +libvirtd_net_list() { + # The purpose of the awk is to avoid networks with 'active' in the name + libvirtd_virsh net-list | awk '$2 == "active" { print $1 }' +} + +libvirtd_net_count() { + # The purpose of the awk is to avoid networks with 'active' in the name + libvirtd_virsh net-list | awk 'BEGIN { count = 0 } \ + $2 == "active" { count++ } \ + END { print count }' +} + + +start() { + ebegin "Starting libvirtd" + start-stop-daemon --start \ + --env KRB5_KTNAME=/etc/libvirt/krb5.tab \ + --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}" != "none" ] \ + && [ "${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 ${LIBVIRTD_KVM_SHUTDOWN} ${DOM_ID} > /dev/null + done + + if [ -n "${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" ] ; then + COUNTER="${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" + else + COUNTER=500 + fi + + if [ "${LIBVIRTD_KVM_SHUTDOWN}" = "shutdown" ]; then + 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 + fi + + DOM_COUNT="$(libvirtd_dom_count)" + if [ "${DOM_COUNT}" != "0" ] ; then + eerror " !!! Some guests are still running, stopping anyway" + fi + + fi + + NET_COUNT="$(libvirtd_net_count)" + if [ "${LIBVIRTD_NET_SHUTDOWN}" != "no" ] \ + && [ "${NET_COUNT}" != "0" ]; then + + einfo " Shutting down network(s):" + for NET_NAME in $(libvirtd_net_list); do + einfo " ${NET_NAME}" + libvirtd_virsh net-destroy ${NET_NAME} > /dev/null + done + + NET_COUNT="$(libvirtd_net_count)" + if [ "${NET_COUNT}" != "0" ]; then + eerror " !!! Some networks are still active, stopping anyway" + fi + fi + + # Now actually stop the daemon + start-stop-daemon --stop --quiet --exec \ + /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid + eend $? +} + +halt() { + ebegin "Stopping libvirtd without shutting down your VMs" + start-stop-daemon --stop --quiet --exec \ + /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid + eend $? +} + +reload() { + halt + start +} diff --git a/app-emulation/libvirt/libvirt-0.9.6.ebuild b/app-emulation/libvirt/libvirt-0.9.6.ebuild new file mode 100644 index 000000000000..a7d8e7b9440e --- /dev/null +++ b/app-emulation/libvirt/libvirt-0.9.6.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-0.9.6.ebuild,v 1.1 2011/09/29 16:51:08 cardoe Exp $ + +#BACKPORTS=2 +#AUTOTOOLIZE=yes + +EAPI="3" + +MY_P="${P/_rc/-rc}" + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://libvirt.org/libvirt.git" + GIT_ECLASS="git-2" + AUTOTOOLIZE=yes +fi + +PYTHON_DEPEND="python? 2:2.4" +#RESTRICT_PYTHON_ABIS="3.*" +#SUPPORT_PYTHON_ABIS="1" + +inherit eutils python ${AUTOTOOLIZE+autotools} ${GIT_ECLASS} + +if [[ ${PV} = *9999* ]]; then + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz + ftp://libvirt.org/libvirt/${MY_P}.tar.gz + ${BACKPORTS:+ + http://dev.gentoo.org/~flameeyes/${PN}/${MY_P}-backports-${BACKPORTS}.tar.bz2 + http://dev.gentoo.org/~cardoe/distfiles/${MY_P}-backports-${BACKPORTS}.tar.bz2}" + KEYWORDS="~amd64 ~x86" +fi +S="${WORKDIR}/${P%_rc*}" + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="avahi caps debug iscsi +json +libvirtd lvm +lxc macvtap nfs \ + nls numa openvz parted pcap phyp policykit python qemu sasl selinux udev \ + uml virtualbox virt-network xen elibc_glibc" +# IUSE=one : bug #293416 & bug #299011 + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +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-apps/util-linux-2.17 + sys-devel/gettext + >=net-analyzer/netcat6-1.0-r2 + avahi? ( >=net-dns/avahi-0.6[dbus] ) + caps? ( sys-libs/libcap-ng ) + iscsi? ( sys-block/open-iscsi ) + json? ( dev-libs/yajl ) + 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-2.0.2 ) + openvz? ( sys-kernel/openvz-sources ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2 + ) + 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 >=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 ) + virt-network? ( net-dns/dnsmasq + >=net-firewall/iptables-1.4.10 + net-firewall/ebtables + sys-apps/iproute2 ) + elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1